Giter Club home page Giter Club logo

arbius's Introduction

Arbius

Peer-to-peer decentralized machine learning - https://arbius.ai

Read paper - https://arbius.ai/paper.pdf

Arbius is a decentralized network for machine learning and a token with limited inflation. New coins are generated with GPU power by participating in the network. There is no central authority to create new coins. Holders vote on-chain for protocol upgrades. Models operate as DAOS with custom rules for distribution and rewards, providing a way for model creators to earn income. Arbius runs on the Arbitrum Nova blockchain, and uses IPFS for data storage.

Project Layout

Arbius is a monorepo:

  • /contract smart contracts and cli interface

  • /miner reference mining software

  • /templates model schema files used for mining and graphical interfaces

  • /website frontend interface you see on arbius.ai

  • /docs frontend you see on docs.arbius.ai

  • /paper source for building pdf

  • /subsquids indexers using https://subsquid.io

Documentation

View the full documentation at https://docs.arbius.ai/

License

MIT

arbius's People

Contributors

kasumi-1 avatar abhikakarot avatar aniketsingh98571 avatar shayan-cyber avatar slowsynapse avatar mainnet-pat avatar hadymash avatar dekoze avatar yhl125 avatar pplsoptimismceo avatar

Stargazers

Yassin Siouda avatar  avatar  avatar C H avatar Brendon R. avatar Amos Kang avatar Justin Pitts avatar Pedram Farahbakhsh avatar Zhang Zhuo avatar RyzeNGrind avatar CJD avatar Stone Gao avatar XU Yuhao avatar  avatar Sasank Chunduri avatar  avatar  avatar Devin A. Conley avatar Serdar avatar Alex Fanat avatar Ilya avatar Shawn Koh avatar Levente Csőke avatar Adam Svoboda avatar  avatar  avatar  avatar

Watchers

Ioseb aka Nitrog3n avatar  avatar  avatar  avatar  avatar

arbius's Issues

Create live network stats page for validators

We have a start of this on the explorer page, but it would be nice to have something specific to validators which:

  • showed all active validators and how many solutions and claims they are solving
  • how much validators are claiming
  • if there has been any contestations by or against a validators solutions

This could be implemented similarly to explorer page with just an event listener updating the stats

Implement way to unstake from miner

Arbius has a $150 AIUS bounty for this issue!

Please read carefully:

To begin work on a bounty, reply by saying “I claim this bounty” - you will have 48 hours to submit your PR before someone else may attempt to claim this bounty.

To complete the bounty, within 48 hours of claiming, reply with a link to your PR referencing this issue and an Ethereum address. You must comply with reviewers comments and have the PR merged to receive the bounty reward. Please be sure to focus on quality submissions to minimize the amount of time reviewers must take.

Mining

How can we mine arbius using GPU?

Create contestation tracker

A program which indexes all contestations, including all relevant details such as voting, tasks, and ideally can provide alerts of these too.

can't find module

[email protected]:~/kubo/arbius/miner$ yarn start:dev MiningConfig.json
yarn run v1.22.21
$ npx nodemon MiningConfig.json
[nodemon] 2.0.22
[nodemon] to restart at any time, enter rs
[nodemon] watching path(s): src/**/*
[nodemon] watching extensions: ts,js
[nodemon] starting npx ts-node ./src/start.ts MiningConfig.json
/root/kubo/arbius/miner/node_modules/ts-node/src/index.ts:859
return new TSError(diagnosticText, diagnosticCodes, diagnostics);
^
TSError: _ Unable to compile TypeScript:
src/blockchain.ts:7:28 - error TS2307: Cannot find module './artifacts/contracts/EngineV2.sol/EngineV2.json' or its corresponding type declarations.

7 import EngineArtifact from './artifacts/contracts/EngineV2.sol/EngineV2.json';
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

at createTSError (/root/kubo/arbius/miner/node_modules/ts-node/src/index.ts:859:12)
at reportTSError (/root/kubo/arbius/miner/node_modules/ts-node/src/index.ts:863:19)
at getOutput (/root/kubo/arbius/miner/node_modules/ts-node/src/index.ts:1077:36)
at Object.compile (/root/kubo/arbius/miner/node_modules/ts-node/src/index.ts:1433:41)
at Module.m._compile (/root/kubo/arbius/miner/node_modules/ts-node/src/index.ts:1617:30)
at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
at Object.require.extensions.<computed> [as .ts] (/root/kubo/arbius/miner/node_modules/ts-node/src/index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Function.Module._load (node:internal/modules/cjs/loader:878:12)
at Module.require (node:internal/modules/cjs/loader:1061:19) {

diagnosticCodes: [ 2307 ]
}
[nodemon] app crashed - waiting for file changes before starting...

Error using A100 that asks to report here.

Hi, I'm trying to get a miner running on an A100 40gb instance, everything is set up properly but I'm getting this cryptic error.
Thanks!

2024-02-14 18:28:13.396 INFO /src/start.ts:31 Arbius Miner 32415dc1 starting 2024-02-14 18:28:13.405 DEBUG /src/start.ts:36 Logging to log.txt 2024-02-14 18:28:13.410 DEBUG /src/start.ts:39 Database loaded from db.sqlite 2024-02-14 18:28:13.411 DEBUG /src/start.ts:42 ML initialized 2024-02-14 18:28:13.484 DEBUG /src/start.ts:45 Loaded wallet (0xF7d6D37DFeB5fAF8014b6bBDA42c192c1e92B07e) 2024-02-14 18:28:13.503 DEBUG /src/rpc.ts:100 RPC server listening on localhost:4000 2024-02-14 18:28:13.506 DEBUG /src/start.ts:48 RPC initialized 2024-02-14 18:28:13.507 DEBUG /src/index.ts:973 Setting max file listeners to 100 for ethers 2024-02-14 18:28:13.511 DEBUG /src/index.ts:977 Clearing old automatically added retry jobs 2024-02-14 18:28:13.512 DEBUG /src/index.ts:981 Bootup check 2024-02-14 18:28:13.764 INFO /src/index.ts:964 Arbius version (0) fits miner version (0) 2024-02-14 18:28:17.379 ERROR /src/index.ts:996 Model (0x82ae0d19f32b6912204160f8d744de08265b7775d07c23b4171c94c8e2892c62) CID (0x12202fb3b8bea893a490d2c8b7c329c6c935a748c7fdde81dc94a1fca61a9f2060b7) does not match expected CID (0x12201bdab4164320cc8621282982c55eb76e14427aa5793278b37b6108f63fb5d577) 2024-02-14 18:28:17.380 INFO /src/index.ts:997 If you are running a100 this is a bug, please report with system details at https://github.com/semperai/arbius 2024-02-14 18:28:17.380 INFO /src/index.ts:998 Join our telegram https://t.me/arbius_ai [nodemon] app crashed - waiting for file changes before starting...

Model output race condition when running multiple miners

Miners running Kandinsky-2 generate output image at ./cache/out-1.png which is later pinned to IPFS to generate cid. If a second running miner generates output for a different task between these steps a potentially wrong file and cid is generated for the first task.

Solutions:

  1. Create unique output files such as {taskid}.png, I believe changing the filename results in a different cid? I don't know IPFS well but if so this change requires all miners to update naming consensus. This is probably more future-proof once multiple models are running etc. but does require cleaning up generated outputs occasionally.
  2. Add a cache path field to MiningConfig.json that users can define on a per-miner basis. I've already done this locally as it doesn't break my IPFS cid generation so I'll create a pr

Error on running A100 GPU locally

Hi, I have problems running A100 GPU locally, it gave me an error of this. I did make sure if my docker container is running A100, and it did. Can someone please help me?

2024-02-26 00:37:24.199 ERROR /src/index.ts:1196 Model (0x98617a8cd4a11db63100ad44bea4e5e296aecfd78b2ef06aee3e364c7307f212) CID (0x12202fb3b8bea893a490d2c8b7c329c6c935a748c7fdde81dc94a1fca61a9f2060b7) does not match expected CID (0x12201bdab4164320cc8621282982c55eb76e14427aa5793278b37b6108f63fb5d577)

extend voting time during each vote

needs more investigation, but currently people incentivized to vote at last second. perhaps good to add some decaying time if voting near end. or, maybe not needed if people vote earlier.

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.