Ok. So you're a tech startup. You don't have an idea but you need something BIG. You need something eye-catching, you need something insane.
It's ok. I'm here to help
Distributed computing, Machine Learning, Blockchain, Ethereum, Solidity, Artificial Intelligence, Cryptocurrency.
What does it do?
On the Blockchain.
How I built it
I used solidity to produce code that runs on the Ethereum Virtual Machine. This code defines a smart contract that accepts data and performs a linear regression to train a model that receives input through the smart contract and returns predictions for user-provided input.
I found out that Solidity is quite low-level. There is no floating point data type and there is no support for fixed-point numbers. I had to implement my own rational number data type.
Furthermore, there is no function to parse integers. I had to define that myself.
In addition to this, I had to implement a function to read a string defining a list of integers into an array of integers by defining my own custom format for representing arrays of integers.
Moreover, I found out that there is no automatic differentiation library for Solidity.
Alongside this, there is no machine-learning library for Solidity so I had to implement a function using a known analytical result for the value of the OLS estimate for a linear regression model.
The blockchain was not made for Machine Learning, I frequently ran into OOM (Out of memory) errors while testing my code locally.
The code takes up to a minute to train on a dataset containing just two data points.
Accomplishments that I'm proud of
I contend that I am the first person foolish enough to attempt Machine Learning on the blockchain and do it successfully for some definitions for successfully.
What I learned
This project was even more stupid than I thought it would be. Its existence is a hack.
What's next for Buzzword
$5tn market cap! Buzzword to the moon!
Log in or sign up for Devpost to join the conversation.