Git Product home page Git Product logo

opml's Introduction

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.

For more in-depth information, refer to the project wiki.

You can also find a tutorial on building a straightforward handwritten digit recognition DNN model (MNIST) within OPML in the docs/tutorial.md.

Building

Pre-requisites: Go (Go 1.19), Node.js, Make, and CMake.

git clone [email protected]:hyperoracle/opml.git --recursive
make build

Examples

The script files 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:

npx hardhat node

Then we can run:

bash ./demo/challenge_simple.sh

A large language model, the llama example is provided in the branch "llama" (It also works for llama 2).

Roadmap

๐Ÿ”จ = Pending

๐Ÿ›  = Work In Progress

โœ… = Feature complete

Feature Status
Supported Model
DNN for MNIST โœ…
LLaMA โœ…
General DNN Model (Onnx Support) ๐Ÿ› 
Traditional ML Algorithm (Decision Tree, KNN etc) ๐Ÿ”จ
Mode
Inference โœ…
Training ๐Ÿ”จ
Fine-tuning ๐Ÿ”จ
Optimization
ZK Fault Proof with zkOracle and zkWASM ๐Ÿ› 
GPU Acceleration ๐Ÿ› 
High Performance VM ๐Ÿ› 
Functionality
User-Friendly SDK ๐Ÿ› 

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.

Part of this code is borrowed from ethereum-optimism/cannon

Note: This code is unaudited. It in NO WAY should be used to secure any money until a lot more testing and auditing are done.

opml's People

Contributors

0x1cc avatar fewwwww avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.