RL Swarm:去中心化强化学习协作训练平台
项目概述
RL Swarm 是由Gensyn团队维护的去中心化强化学习协作训练平台。该系统允许用户加入"蜂群"与其他参与者共同训练模型,利用集体智能提升训练效率。核心特点包括:
- 真正的P2P架构,无需中心化服务器
- 支持从消费级设备到专业GPU集群的异构硬件
- 通过Gensyn测试网实现链上身份追踪
- 基于GenRL-Swarm库的可组合框架
当前测试网运行的是reasoning-gym蜂群,专注于训练模型解决多样化推理任务。
功能特性
核心能力
- 去中心化协作训练:通过DHT网络实现节点间通信
- 区块链集成:智能合约记录训练进度和贡献
- 动态资源分配:根据硬件性能自动分配模型大小
- :puzzle_piece: 模块化设计:支持自定义多智能体多阶段环境
- Web监控界面:实时查看训练指标和节点状态
支持模型
当前默认模型池包含:
- Gensyn/Qwen2.5-0.5B-Instruct
- Qwen/Qwen3-0.6B
- nvidia/AceInstruct-1.5B
- dnotitia/Smoothie-Qwen3-1.7B
- Gensyn/Qwen2.5-1.5B-Instruct
安装指南
硬件要求
最低配置:
- arm64/x86 CPU (32GB RAM)
- Python ≥ 3.8
推荐配置:
- NVIDIA GPU (RTX 3090/4090/5090, A100, H100)
安装步骤
- 克隆仓库:
git clone https://github.com/gensyn-ai/rl-swarm.git
cd rl-swarm
- 安装依赖:
pip install -r requirements.txt
- 配置环境变量:
export SWARM_CONTRACT="0xFaD7C5e93f28257429569B854151A1B8DCD404c2"
export CONNECT_TO_TESTNET=true
- 启动训练节点:
./start_swarm.sh
使用说明
基础使用
加入测试网蜂群:
from hivemind_exp import HivemindNode
node = HivemindNode(
model_name="Gensyn/Qwen2.5-0.5B-Instruct",
is_coordinator=False
)
node.connect_to_swarm()
Web界面
启动监控服务:
docker-compose build --no-cache
docker-compose up
访问 http://localhost:8080 查看实时训练数据。
核心代码
DHT通信模块
class HivemindNode:
"""P2P节点核心类"""
def __init__(self, model_name: str, key: str = ""):
self.model_name = model_name
self.key = key or str(uuid.uuid4())
self.round_cache = defaultdict(dict)
def get_stage_outputs(self, r, s):
"""获取指定阶段输出"""
return self.round_cache.get((r, s))
def put_stage_outputs(self, r, s, question, value):
"""存储阶段输出"""
self.round_cache[(r, s)][question] = value
智能合约交互
class SwarmCoordinator:
"""处理链上交互"""
def __init__(self, web3: Web3, contract_address: str):
self.web3 = web3
self.contract = web3.eth.contract(
address=contract_address,
abi=json.load(open("contracts/SwarmCoordinator.json"))["abi"]
)
def register_peer(self, peer_id):
"""注册节点到合约"""
self.contract.functions.registerPeer(peer_id).transact()
消息处理
def stage3_message(node_key: str, question: str, outputs: dict):
"""生成第三阶段训练消息"""
try:
decision = outputs["final_agent_decision"][node_key]
feedback = _extract_tagged(decision, "summarize_feedback")
majority = _extract_tagged(decision, "majority")
return f"{feedback}...Majority: {majority}"
except Exception:
return outputs["answer"]
贡献指南
我们欢迎社区贡献!请遵循以下规范:
- 使用英文提交PR
- 每个分支只包含一个功能修改
- 编写清晰的提交信息
- 关联相关issue
问题报告请包含:
- 重现步骤
- 预期与实际行为
- 环境信息
- 日志文件(非截图)
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码
![]()
RL Swarm:去中心化强化学习协作训练平台的更多相关文章
- 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目异同
Filecoin,Storj 以及 PPIO 这三个存储公链的设计思路是不一样的,没有优劣之分,写这篇文章也并不是为了争论各项目的好坏对错.去中心化存储是一个长期商业赛道,不同团队在同一个赛道上往不同 ...
- 比特股-去中心化交易所, STEEM - 去中心化社区, EOS - 下一代智能合约
libsnark 是实现了 zkSNARK 模式的 C++ 库.zkSNARK 是一个证明/验证计算完整性的加密方法,也即零知识验证的算法, https://github.com/scipr-lab/ ...
- serf 中去中心化系统的原理和实现
原文:https://www.infoq.cn/article/principle-and-impleme-of-de-centering-system-in-serf serf 是出自 Hashic ...
- 一步步教你开发、部署第一个去中心化应用(Dapp) - 宠物商店
今天我们来编写一个完整的去中心化(区块链)应用(Dapps), 本文可以和编写智能合约结合起来看. 写在前面 阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以太坊是什么除此之 ...
- 理解去中心化 稳定币 DAI
本文转载于深入浅出区块链, 原文链接 随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器. 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机 ...
- 去中心化存储的QoS是什么?
我的前面一篇文章讲到如何做去中化存储,文其中提到了QoS (Quality of Service),那么QoS是什么?为什么QoS那么重要?下面将详细描述. 什么是QoS? 提到QoS,就要先了解Qo ...
- 谈互联网开放平台:“去中心化”大势所趋 zz
文/磐石之心 几天前与好友聊到众筹咖啡馆的事情,他向我讲述了一个非常具有特色的众筹咖啡馆案例.而这个案例也引发我对当前互联网开放.去中心和集权的一些思考,今天就简单写出来与大家分享. 一个无赚钱目的的 ...
- Filecoin:一种去中心化的存储网络(二)
开始初步了解学习Filecoin,如下是看白皮书的内容整理. 参考: 白皮书中文版 http://chainx.org/paper/index/index/id/13.html 白皮书英文版 http ...
- Filecoin:一种去中心化的存储网络(一)
开始初步了解学习Filecoin,如下是看白皮书的内容整理. 参考: 白皮书中文版 http://chainx.org/paper/index/index/id/13.html 白皮书英文版 http ...
- 如何在Solidity中建立DAO(去中心化自治组织)?
本文将帮助您理解 DAO 的概念,并帮助您构建一个基本的 DAO. 什么是 DAO? 您可以将 DAO 视为基于互联网的实体(比如企业),由其股东(拥有代币和比例投票权的成员)共同拥有和管理.在 DA ...
随机推荐
- 【SpringCloud】Zookeeper服务注册与发现
Zookeeper服务注册与发现 Eureka停止更新了,你怎么办 https://github.com/Netflix/eureka/wiki SpringCloud整合Zookeeper替代Eur ...
- Oracle PLSQL 存储过程无法进入单步调试
使用PLSQL工具调试存储过程的时候,不管你怎么设置断点,当你点击测试的时候就瞬间执行而过你无法进入单步调试 解决办法:
- 多线程的waiting与notify
一.waiting()与notify() /* 进入到TimeWaiting(计时等待)有两种方式 1.使用sleep(long m)方法,在毫秒值结束之后,线程睡醒进入到Runnable/Block ...
- Laravel配置Route调用artisan
//web调用artisan Route::get('/artisan', function(\Illuminate\Http\Request $request) { $all = \Illumina ...
- CF1774C题解
题目传送门 假设最后一场的环境为 111,即温度大的人赢,那么温度为 111 的人即使活到了最后一场也必输. 同理,如果最后 kkk 场的环境都为 111,那么有 k(1∼k)k(1\sim k)k( ...
- 工具 | ApplicationScanner
0x00 简介 ApplicationScanner是一款APP客户端安全项检测工具. 下载地址: ApplicationScanner下载: ApplicationScanner下载 0x01 功能 ...
- 【经验】博客|Windows下,一键安装和部署 hexo-admin 插件(Hexo 静态博客)
1. 在博客根目录下运行下列指令 npm install --save hexo-admin -y echo "hexo clean && hexo g -d"&g ...
- 【经验】Ubuntu20.04虚拟机的网络问题|在NAT模式没有网络连接图标,桥接模式正常
我的版本:Ubuntu20.04.04,iso是清华镜像站的release版本. 问题:NAT模式没有网络连接图标,或者图标闪一下就消失不见,并且无法获取IP地址:但是桥接模式的网络服务却是正常的. ...
- 【经验】VMware|Win11的Ubuntu虚拟机启动虚拟化,报错此平台不支持虚拟化的 Intel VT-x/EPT(方案汇总+自己的解决方案)
2024/04/24说明:这篇暂时修改为粉丝可见,因为正在冲粉丝量,等到我弄完了粉丝量的要求,我就改回来!不方便看到全文的小伙伴不好意思!! 我开虚拟化是为了在虚拟机中运行VirtualBox,如果不 ...
- AI 在软件测试中的应用:2025 年趋势、工具及入门指南
引言 人工智能 (AI) 正在深刻地重塑软件开发和质量保证 (QA) 的各个方面.尤其是在软件测试领域,AI 不再仅仅是未来愿景,而是当下正在发生的变革.据世界质量报告(2023-24)指出,高达 7 ...
