diff --git a/README.md b/README.md index 6f898ab..2682307 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,10 @@ # OPML: OPtimistic Machine Learning on Blockchain - ---- - OPML enables off-chain AI model inference using optimistic approach with an on chain interactive dispute engine implementing fault proofs. -## Directory Layout - -``` -mlgo -- A tensor library for machine learning in pure Golang that can run on MIPS. -mlvm -- A MIPS runtime with ML execution -contracts -- A Merkleized MIPS processor on chain + the challenge logic -``` +For more in-depth information, refer to the [project wiki](https://github.com/hyperoracle/opml/wiki). -For more in-depth information, please refer to the [project wiki](https://github.com/hyperoracle/opml/wiki). Additionally, you can find a tutorial on building a straightforward handwritten digit recognition DNN model (MNIST) within OPML in the [`docs/tutorial.md`](docs/tutorial.md). +You can also find a tutorial on building a straightforward handwritten digit recognition DNN model (MNIST) within OPML in the [`docs/tutorial.md`](docs/tutorial.md). ## Building @@ -27,17 +18,49 @@ make build The script files [`demo/challenge_simple.sh`](demo/challenge_simple.sh) presents an example scenario (a DNN model for MNIST) demonstrating the whole process of a fault proof, including the challenge game and single step verification. -To test the example, we should first start a local node +To test the example, we should first start a local node: + ```shell npx hardhat node ``` -Then we can run + +Then we can run: + ```shell sh ./demo/challenge_simple.sh ``` A large language model, the 7B-llama example is provided in the branch ["llama"](https://github.com/hyperoracle/opml/tree/llama). +## Roadmap + +🔨 = Pending + +🛠 = Work In Progress + +✅ = Feature complete + + +| Feature | Status | +| ------- | :------: | +| **Supported Model** | | +| DNN for MNIST | ✅ | +| LLaMA | ✅ | +| **Mode** | | +| Inference| ✅ | +| Training | 🔨 | +| Fine-tuning | 🔨 | +| **Optimization** | | +| zk fault proof with zkOracle| 🛠 | + +## Project Structure + +``` +mlgo -- A tensor library for machine learning in pure Golang that can run on MIPS. +mlvm -- A MIPS runtime with ML execution +contracts -- A Merkleized MIPS processor on chain + the challenge logic +``` + ## License This code is MIT licensed.