Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
91644f8
Robusticize the app
jcd496 Jul 14, 2025
305d3f3
harden logic
jcd496 Jul 17, 2025
747e1de
batch training rewards and submit every 3 hours
jcd496 Jul 24, 2025
cbc4232
submit based on time elapsed, not rounds completed
jcd496 Jul 25, 2025
d2383d1
Addresses Xailong_6969's flagged issue
jcd496 Jul 26, 2025
40f75ca
alert user to report issue so we can debug in the future
jcd496 Jul 27, 2025
7efda13
fix hf push logic
jcd496 Aug 7, 2025
188e4bd
August Release PRG changes
shikharras Aug 8, 2025
673d3ad
genrl version 0.1.6
jcd496 Aug 11, 2025
533e7eb
update logic for claiming reward
jcd496 Aug 13, 2025
41b00ec
Fixes from e2e test
jcd496 Aug 14, 2025
5844fdf
Update PRG contract env vars
archaengel Aug 18, 2025
447ffe5
Add new modal login looknfeel
tforbus Aug 18, 2025
db44a8d
implement state backup, reorganize prg related code (except coordinator)
jcd496 Aug 18, 2025
6a64bb3
do not reset state if contract reverts txn on submit-rewards and subm…
jcd496 Aug 20, 2025
4e9623b
Use latest Judge address
tforbus Aug 21, 2025
353e519
opt out of PRG game
jcd496 Aug 21, 2025
d88b281
README changes ahead of PRG launch
diogoortega Aug 25, 2025
7ded3a1
latest prg contract addr
jcd496 Aug 26, 2025
8a0315d
Final pass on README
diogoortega Aug 27, 2025
23ec589
0.6.0
Aug 28, 2025
cbb717c
1
Aug 28, 2025
4690793
chore: make all .sh files executable
Aug 28, 2025
0e50856
q
Aug 28, 2025
f98d23e
chore: make all .sh files executable
Aug 28, 2025
0051b67
1
Aug 28, 2025
e735b26
chore: chmod +x for shell scripts
Aug 28, 2025
041c42b
n
Aug 28, 2025
5411619
n
Aug 28, 2025
8335a70
n
Aug 29, 2025
0dbfa43
n
Aug 30, 2025
034a177
n
Aug 30, 2025
996b21f
n
Sep 3, 2025
573a150
紧急修复
Sep 27, 2025
b8a43e1
updata
Sep 27, 2025
5522e3d
updata
Sep 27, 2025
a3220b0
0.6.1
Sep 27, 2025
bc5e09a
0.6.1
Sep 27, 2025
beb6ccc
0.6.1
Sep 27, 2025
d412eac
0.6.1
Sep 27, 2025
ed505a2
nexus.sh
Sep 27, 2025
80a0436
0.6.1
Sep 27, 2025
aa8c6d2
qw
Sep 27, 2025
a09cb07
qw
Sep 27, 2025
b87a2b9
1
Sep 27, 2025
110f122
1
Sep 27, 2025
5d8b0fa
0.6.2
Sep 30, 2025
7f4a39a
0.6.2
Sep 30, 2025
26e6c31
0.6.2
Sep 30, 2025
6cb2f2a
0.6.2
Oct 1, 2025
63522e1
0.6.2
Oct 1, 2025
3ad8664
0.6.2
Oct 1, 2025
e48a446
0.6.2
Oct 1, 2025
3676893
0.6.2
Oct 1, 2025
2bed1df
0.6.2
Oct 1, 2025
fb7d563
0.6.2
Oct 1, 2025
3da8970
0.6.2
Oct 1, 2025
8db9d3c
0.6.3
Oct 17, 2025
1a9c62e
0.6.3
Oct 17, 2025
42f6482
0.6.3
Oct 17, 2025
5211fd2
0.6.3
Oct 17, 2025
b1bb002
0.6.3
Oct 17, 2025
77f7835
0.6.3
Oct 17, 2025
14956bd
0.6.3
Oct 17, 2025
bd82301
0.6.3
Oct 17, 2025
3e3d364
0.6.3
Oct 17, 2025
bdc5387
0.6.3
Oct 17, 2025
6ade9f7
0.6.4
Oct 18, 2025
3abbe6b
0.6.4
Oct 18, 2025
d65b8c3
0.6.4
Oct 19, 2025
f4e50d7
0.6.4
Oct 19, 2025
891af02
0.7.0
Nov 13, 2025
17cf48c
0.7.0
Nov 13, 2025
f8fce1c
0.7.0
Nov 13, 2025
1fc2c72
0.7.0
Nov 13, 2025
f6a98a2
0.7.0
Nov 19, 2025
8f3dc0c
0.7.0
Nov 19, 2025
7180b20
0.7.0
Nov 19, 2025
9b89926
0.7.0
Nov 19, 2025
1c81f62
RL-Swarm v0.7.0: device upload, status checks, security hardening
Dec 3, 2025
ee2edaf
run_rl_swarm
Dec 3, 2025
216f80d
run_rl_swarm
Dec 4, 2025
37febe8
run_rl_swarm
Dec 4, 2025
ada16a4
change file pos
Dec 8, 2025
66f4a3e
Merge 0.7.0: Add device upload, status checks, and security hardening
Dec 13, 2025
3bd97c5
Restore IP modification functionality in gensyn.sh
Dec 13, 2025
52352ee
1
Dec 13, 2025
2ad0506
1
Dec 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 27 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ This iteration of rl-swarm is powered by the [GenRL](https://github.com/gensyn-a

## Requirements

Your hardware requirements will vary depending on a number of factors including model size and the accelerator platform you use. Users running large NVIDIA GPU will be assigned a model from the large model pool, while users running less powerful hardware will be assigned a model from the small model pool. This design decision is intended to allow users to advance at a similar rate regardless of the hardware they use, maximizing their utility to the swarm.
Your hardware requirements will vary depending on a number of factors including model size and the accelerator platform you use. Users running a large NVIDIA GPU will be assigned a model from the large model pool, while users running less powerful hardware will be assigned a model from the small model pool. This design decision is intended to allow users to advance at a similar rate regardless of the hardware they use, maximizing their utility to the swarm.

**Supported Hardware**

- arm64 or x86 CPU with minimum 32gb ram (note that if you run other applications during training it might crash training).
- arm64 or x86 CPU with a minimum of 32GB RAM (note that if you run other applications during training it might crash the training).


OR
Expand Down Expand Up @@ -56,7 +56,7 @@ git clone https://github.com/gensyn-ai/rl-swarm

#### 2. Install Docker

Make sure you have Docker installed and the Docker daemon is running on your machine. To do that, follow [these instructions](https://docs.docker.com/get-started/get-docker/) according to your OS. Ensure you allot sufficient memory to the Docker containers. For example if using Docker Desktop, this can be done by going to Docker Desktop Settings > Resources > Advanced > Memory Limit, and increasing it to the maximum possible value.
Make sure you have Docker installed and the Docker daemon is running on your machine. To do that, follow [these instructions](https://docs.docker.com/get-started/get-docker/) according to your OS. Ensure you allot sufficient memory to the Docker containers. For example, if you are using Docker Desktop, this can be done by going to Docker Desktop Settings > Resources > Advanced > Memory Limit, and increasing it to the maximum possible value.

#### 3. Start the Swarm

Expand All @@ -82,7 +82,7 @@ If `docker-compose` does not work when running the above commands, please try `d

### Experimental (advanced) mode

If you want to experiment with the [GenRL](https://github.com/gensyn-ai/genrl) library or the[configurable parameters](https://github.com/gensyn-ai/rl-swarm/blob/main/rgym_exp/config/rg-swarm.yaml ), we recommend you run RL Swarm via shell script:
If you want to experiment with the [GenRL](https://github.com/gensyn-ai/genrl) library or the [configurable parameters](https://github.com/gensyn-ai/rl-swarm/blob/main/rgym_exp/config/rg-swarm.yaml ), we recommend you run RL Swarm via shell script:
```sh
python3 -m venv .venv
source .venv/bin/activate
Expand All @@ -94,26 +94,39 @@ To learn more about experimental mode, check out our [getting started guide](htt

1. A browser window will pop open (you'll need to manually navigate to http://localhost:3000/ if you're on a VM).
2. Click 'login'.
3. Login with your preferred method.
3. Log in with your preferred method.

### Huggingface

If you would like to upload your model to Hugging Face, enter your Hugging Face access token when prompted. You can generate one from your Hugging Face account, under [Access Tokens](https://huggingface.co/docs/hub/en/security-tokens).

### AI Prediction Market

During setup, you'll be asked if you'd like to participate in the **AI Prediction Market**.

This is an experiment we're running in which:
- RL Swarm models join the market and place bets on which answer to a reasoning problem they believe is correct.
- Evidence is revealed step by step throughout the game. Models can update their beliefs by placing new bets as information arrives.
- Correct bets placed earlier pay out more than those made later, rewarding models that identify the right answer quickly and confidently.
- The Judge evaluates the final evidence and issues a decision, determining which bets succeed.

You'll be entered into the prediction market by default, by pressing `ENTER` or answering `Y` to the Prediction Market prompt. If you'd like to opt out, just answer `N`.
To learn more, head to our [blog](https://blog.gensyn.ai/) and check out our [Gensyn Testnet Dashboard](https://dashboard.gensyn.ai/).

### Initial peering and training

From this stage onward your device will begin training. You should see your peer register and vote on-chain [here](https://gensyn-testnet.explorer.alchemy.com/address/0xFaD7C5e93f28257429569B854151A1B8DCD404c2?tab=logs).

You can also track your training progress in real time:
- On The RL-Swarm Dashboard: [dashboard.gensyn.ai](https://dashboard.gensyn.ai)
- On the Gensyn Testnet Dashboard: [dashboard.gensyn.ai](https://dashboard.gensyn.ai)

## Identity management

### Introduction

On-chain identity is managed via an Alchemy modal sign-in screen. You need to supply an email address or login via a supported method (e.g. Google). This creates an EOA public/private key (which are stored by Alchemy). You will also receive local session keys in the `userApiKey`. Note that these aren't your EOA public/private keys.
On-chain identity is managed via an Alchemy modal sign-in screen. You need to supply an email address or login via a supported method (e.g. Google). This creates an EOA public/private keys (which are stored by Alchemy). You will also receive local session keys in the `userApiKey`. Note that these aren't your EOA public/private keys.

During the initial set-up process, you will also create a `swarm.pem` file which maintains the identity of your peer. This is then registered on chain using the EOA wallet hosted in Alchemy, triggered using your local api keys. This links the `swarm.pem` to the `email address` (and corresponding EOA in Alchemy).
During the initial setup process, you will also create a `swarm.pem` file which maintains the identity of your peer. This is then registered on chain using the EOA wallet hosted in Alchemy, triggered using your local api keys. This links the `swarm.pem` to the `email address` (and corresponding EOA in Alchemy).

**If you want to link multiple nodes to a single EOA**, simply sign up each node using the same email address. You will get a new peer ID for each node, however they will all be linked to the same EOA that your email is linked to.

Expand Down Expand Up @@ -167,7 +180,7 @@ Therefore, you should do these actions in the following scenarios

- **How do I access the login screen if I'm running in a VM?**: port forwarding. Add this SSH flag: `-L 3000:localhost:3000` when connecting to your VM. E.g. `gcloud compute ssh --zone "us-central1-a" [your-vm] --project [your-project] -- -L 3000:localhost:3000`. Note, some VPSs may not work with `rl-swarm`. Check the Gensyn [discord](https://discord.gg/AdnyWNzXh5) for up-to-date information on this.

- **Disconnection/general issues**: If you are tunneling to a VM and suffer a broken pipe, you will likely encounter OOM or unexpected behaviour the first time you relaunch the script. If you `control + c` and kill the script it should spin down all background processes. Restart the script and everything should work normally.
- **Disconnection/general issues**: If you are tunneling to a VM and suffer a broken pipe, you will likely encounter OOM errors or unexpected behaviour the first time you relaunch the script. If you `control + c` and kill the script it should spin down all background processes. Restart the script and everything should function normally.

- **Issues with npm/general installation?**

Expand All @@ -184,10 +197,14 @@ Therefore, you should do these actions in the following scenarios

- **I have multiple GPUs on one machine, can I run multiple peers?**: Yes - but you'll need to manually change things. You'll need to isolate each GPU, install this repo for each GPU, and expose each peer under a different port to pass the modal onboard.

- **My round/stage is behind the smart contract/other peers?**: This is expected behaviour given the different speeds of machines in the network. Once your machine completes it's current round, it will move to the the current round.
- **My round/stage is behind the smart contract/other peers?**: This is expected behaviour given the different speeds of machines in the network. Once your machine completes its current round, it will move to the current round.

- **I want to use a bigger and/or different model in the RL swarm, can I do that?**: Yes - but we only recommend doing so if you are comfortable understanding what size model can reasonably run on your hardware. If you elect to bring a custom model, just paste the repo/model name into the command line when prompted.

- **I am running a model in the swarm on my CPU, have received a python `RuntimeError`, and my training progress seems to have stopped.**: There are several possible causes for this, but before trying anything please wait long enough to be sure your training actually is frozen and not just slow (e.g., wait longer than a single training iteration has previously taken on your machine). If you're sure training is actually frozen, then some things to try are:
- Set this (experimental) fix: `export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 && ./run_rl_swarm.sh`

- **I am running a node but I'm not seeing any Prediction Market bets on the dashboard**:
- Make sure you answered `Y` to the AI Prediction Market prompt (see [above](#ai-prediction-market)).
- Log in to the [Gensyn Testnet Dashboard](https://dashboard.gensyn.ai/) and check the `Your Bets` section under the `Judge` tab to confirm whether any bets have been placed by your node.
- Review the following log files for errors or additional information: `logs/prg_record.txt` and `logs/swarm_launcher.log`.
Loading