{"id":27876218,"url":"https://github.com/ora-io/opml","last_synced_at":"2025-05-16T09:02:36.544Z","repository":{"id":179462134,"uuid":"663320778","full_name":"ora-io/opml","owner":"ora-io","description":"OPML: OPtimistic Machine Learning on Blockchain","archived":false,"fork":false,"pushed_at":"2024-12-11T06:24:50.000Z","size":5598,"stargazers_count":307,"open_issues_count":3,"forks_count":67,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-05-05T02:48:22.980Z","etag":null,"topics":["ai","blockchain","ethereum","machine","opml","optimistic","smart-contracts","web3"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ora-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-07T03:35:39.000Z","updated_at":"2025-05-02T01:16:42.000Z","dependencies_parsed_at":"2023-07-18T08:01:56.009Z","dependency_job_id":"584f7ccb-fae4-4d6f-95c0-6043cd2290e2","html_url":"https://github.com/ora-io/opml","commit_stats":null,"previous_names":["opml-labs/opml","hyperoracle/opml","ora-io/opml"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ora-io%2Fopml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ora-io%2Fopml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ora-io%2Fopml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ora-io%2Fopml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ora-io","download_url":"https://codeload.github.com/ora-io/opml/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501548,"owners_count":22081526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","blockchain","ethereum","machine","opml","optimistic","smart-contracts","web3"],"created_at":"2025-05-05T02:44:39.399Z","updated_at":"2025-05-16T09:02:35.978Z","avatar_url":"https://github.com/ora-io.png","language":"Solidity","readme":"# OPML: OPtimistic Machine Learning on Blockchain\n\nOPML enables off-chain AI model inference using optimistic approach with an on chain interactive dispute engine implementing fault proofs.\n\nFor more in-depth information, refer to the [project wiki](https://github.com/hyperoracle/opml/wiki).\n\nYou 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).\n\n## Building\n\nPre-requisites: Go (Go 1.19), Node.js, Make, and CMake.\n\n```\ngit clone git@github.com:hyperoracle/opml.git --recursive\nmake build\n```\n\n## Examples\n\nThe 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.\n\nTo test the example, we should first start a local node:\n\n```shell\nnpx hardhat node\n```\n\nThen we can run:\n\n```shell\nbash ./demo/challenge_simple.sh\n```\n\nA large language model, the llama example is provided in the branch [\"llama\"](https://github.com/hyperoracle/opml/tree/llama) (It also works for llama 2).\n\n## Roadmap\n\n🔨 = Pending\n\n🛠 = Work In Progress\n\n✅ = Feature complete\n\n\n| Feature |  Status |\n| ------- |  :------: |\n| **Supported Model** |    |\n| DNN for MNIST | ✅ |\n| LLaMA | ✅ |\n| General DNN Model (Onnx Support) | 🛠 |\n| Traditional ML Algorithm (Decision Tree, KNN etc) | 🔨 |\n| **Mode** |    |\n| Inference| ✅ |\n| Training | 🔨 |\n| Fine-tuning | 🔨 |\n| **Optimization** |    |\n| ZK Fault Proof with zkOracle and zkWASM | 🛠 |\n| GPU Acceleration | 🛠 |\n| High Performance VM | 🛠 |\n| **Functionality** |    |\n| User-Friendly SDK| 🛠 |\n\n## Project Structure\n\n```\nmlgo -- A tensor library for machine learning in pure Golang that can run on MIPS.\nmlvm -- A MIPS runtime with ML execution\ncontracts -- A Merkleized MIPS processor on chain + the challenge logic\n```\n\n## License\n\nThis code is MIT licensed.\n\nPart of this code is borrowed from `ethereum-optimism/cannon`\n\nNote: This code is unaudited. It in NO WAY should be used to secure any money until a lot more\ntesting and auditing are done. \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fora-io%2Fopml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fora-io%2Fopml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fora-io%2Fopml/lists"}