Skip to content

Commit

Permalink
Merge pull request #1 from fewwwww/main
Browse files Browse the repository at this point in the history
Optimize README with refactor and roadmap
  • Loading branch information
0x1cc authored Oct 18, 2023
2 parents ab1f3a9 + 3305989 commit 12a201e
Showing 1 changed file with 36 additions and 13 deletions.
49 changes: 36 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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.
Expand Down

0 comments on commit 12a201e

Please sign in to comment.