Skip to content

Commit 30b301b

Browse files
committed
feat: enhance swarm training documentation with comparative analysis of training modes and dynamic capabilities
1 parent 69c62eb commit 30b301b

File tree

1 file changed

+30
-24
lines changed

1 file changed

+30
-24
lines changed

docs/en/swarm_intro_blog_zh.md

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@ AgentJet具备全分布式蜂群训练(Swarm Training)能力,
7979

8080
为了更形象地展示两种训练模式的区别,可以把训练后端(如VERL)类比成算力充足但只装载一个模型的“航空母舰”,把RL推理采样进程比作“战机”。
8181

82-
- 这些“战机”的调度被创建他们的“母舰”完全“焊死”,无法借助外部其他“母舰”的模型与算力,完成任务后需要被“母舰”回收循环。此外,这些“战机”作为“舰载机”,运行时(Runtime)的“重量”受到“母舰”的制约,难免需要“削足适履”,将大量的时间投入在MCP环境和智能体运行环境的魔改上。另外,这种以“母舰”为中心的样本采样方法非常脆弱,一旦外部环境出现变化(如外部API失效,IP限流,磁盘)或者内部参数需要修改(如奖励系数,任务难度系数)时,都只能彻底终止整个训练进程然后重试,丢失未保存的全部进度。而这在智能体越来越复杂的2026年,给复杂训练任务带来的麻烦显然是难以承受的。
83-
- 相比之下,AgentJet 的蜂群训练框架则创造了一种新的训练方法。针对一个训练任务,研究者可以根据需要同时部署多艘“母舰”来承载多个LLM模型训练需求,
84-
然后从任意平台(例如工作站、服务器、甚至是你的Macbook,对于硬件、操作系统、依赖环境、编程语言都没有任何限制,能发送HTTP请求就行)启动“战机”完成RL采样任务。
85-
这些执行采样任务的“战机”可以自由使用蜂群中所有“母舰”的模型与算力,且可以随时动态加入、退出训练任务。
86-
研究者甚至可以指定其中一个“战机”成为“超级指挥官”,负责遥控蜂群所有“航空母舰”的运行并传递训练参数,形成一个多对多、可拓展伸缩的灵活训练体系。
87-
82+
| 特性 | 典型模式 | AgentJet 的蜂群训练模式 |
83+
|------|----------|-------------------------|
84+
| **多模型训练** | 不支持同时训练多个LLM模型。这些“战机”(采样进程)的调度被创建他们的“航空母舰”(训练后端)完全“焊死”,不能跨“航空母舰”协作,无论训练多少智能体都只能共享“大脑”。 | 支持同时训练多个LLM模型。可以部署多艘“母舰”(Swarm Server),每艘“航空母舰”承载不同的LLM模型,并支持“战机”(Swarm Client)动态调配和跨“航空母舰”协作。 |
85+
| **运行环境限制** | “战机”运行时环境(Runtime)的“重量”受到“航空母舰”的制约,研究者需要投入时间,消耗在依赖环境配置、MCP工具魔改、构建代理网络等工程问题上,分散大量精力。 | 无任何限制。工作站、服务器、甚至Macbook都可以。对硬件、操作系统、依赖环境、甚至编程语言都没有任何限制,能发送HTTP请求就行。 |
86+
| **动态性与扩展性** | 一旦外部环境出现变化(如外部API失效,IP限流,磁盘问题)或者智能体代码需要修改(如奖励系数,任务难度系数,代码BUG修复)时,都只能彻底终止整个训练进程然后重试,丢失未保存的全部进度。 | 可任意拓展伸缩的灵活训练体系。支持任何“战机”节点随时动态加入或退出训练任务(直接杀进程也没问题),不会导致训练中断或紊乱,系统具备高度灵活性和容错能力。 |
87+
| **特殊能力** | - | 研究者可指定蜂群中任意一个“战机”成为“超级指挥官”,负责指挥蜂群中“航空母舰”的运行。例如,在小模型上调试完成后,“超级指挥官”可命令“航空母舰”立即更换较大的基模,用更多显卡执行正式训练。 |
8888

8989
接下来,用简单的几个case展示 AgentJet 蜂群模式的优势。
9090

@@ -155,21 +155,26 @@ AgentJet Swarm 从架构层面根治了这个问题。由于 Swarm Client 和 Sw
155155
<img width="600" alt="image" src="https://serve.gptacademic.cn/publish/shared/Image/arch.jpg"/>
156156
</div>
157157

158-
### 修工作流BUG调试奖励?10秒获取 Traceback
158+
### 修工作流BUG调试奖励?10秒获取 Traceback
159159

160160
AgentJet 做到了真正意义上的训练、推理、调试三位一体。在传统框架下,调试一个 Agent 工作流的奖励函数是一件令人崩溃的事情。你修改了一行奖励计算逻辑,然后需要:重新启动整个训练脚本 → 等待模型加载(几十秒到几分钟)→ 等待 vLLM 引擎初始化 → 等待第一个 rollout 完成 → 终于看到报错信息。整个循环可能需要 5-10 分钟,而你可能只是写错了一处缩进。
161161

162162
在蜂群模式下,这个痛点被彻底消除。因为 Swarm Client 是一个轻量级的纯 CPU 进程,它不需要加载任何模型权重,启动时间在秒级。你的调试循环变成了:
163163

164-
1. 在 IDE(VS Code、Cursor 等)中修改工作流代码或奖励函数
165-
2. 重启 Swarm Client(约 2-3 秒)
166-
3. Client 立即连接到已经在运行的 Swarm Server,开始执行新的 rollout
167-
4. 几秒内看到结果或 traceback
164+
1. 在 IDE(VS Code、Cursor、ClaudeCode 等)中修改工作流代码或奖励函数;
165+
2. 重启 Swarm Client(约 2-3 秒);
166+
3. Client 立即连接到已经在运行的 Swarm Server 开始执行新的 rollout (不需要等待模型权重重新加载);
167+
4. 几秒内看到结果或 Traceback。
168+
169+
<div align="center">
170+
<img width="800" alt="image" src="https://img.alicdn.com/imgextra/i1/O1CN01nCChgf1nNmLYJj2JZ_!!6000000005078-0-tps-3750-1395.jpg"/>
171+
</div>
168172

169173
这意味着你可以像开发普通 Python 项目一样开发 Agent 训练流程——设断点、看变量、单步执行。整个 Client 端就是普通的 Python 代码,没有Ray也没有任何其他分布式训练框架的“黑魔法”。Cursor、Claude Code 这些 AI 编程助手也可以直接参与你的 Agent 训练开发并受益于 Agent 的即时输出反馈自动修复Bug。
170174

171175

172-
### 多任务鸡尾酒训练:要同时RL训练40%数学任务、30%代码任务、30%终端任务,且Runtime完全不一样?没问题!
176+
177+
### 多任务鸡尾酒RL训练:要同时训练数学+代码+终端任务,且各任务环境依赖完全不同?简单
173178

174179
多任务混合训练是提升模型泛化能力的关键手段,但在实践中却困难重重。数学任务需要一个符号计算验证器,代码任务需要一个安全的 Docker 沙箱,终端任务需要一个完整的 Linux 环境和文件系统——这三种运行时的依赖、权限要求、安全策略完全不同,把它们塞进同一个训练进程既麻烦,还不安全。
175180

@@ -180,26 +185,20 @@ AgentJet 蜂群模式天然地解决了这个问题。你只需要部署一个 S
180185

181186

182187

183-
### 单节点-多模型:一个Agent工作流两个异构模型一起训练?没问题,定义好奖励函数,即刻开始!
188+
### 单节点-多模型:同时训练多个异构模型?没问题
184189

185-
多智能体协作是 Agent 研究的前沿方向之一,但现有框架几乎都假设所有 Agent 共享同一个底层模型。这个假设在很多场景下是不合理的:一个负责高层规划的 Agent 可能需要一个 32B 的大模型来保证推理质量,而负责具体执行的 Agent 用一个 7B 的小模型就足够了。
190+
多智能体协作是 Agent 研究的前沿方向之一,但现有框架几乎都假设所有 Agent 共享同一个底层模型。这个假设在很多场景下是不经济的:一个负责高层规划的 Agent 可能需要一个 32B 的大模型来保证推理质量,而负责具体执行的 Agent 用一个 7B 的小模型就足够了。
186191

187192
AgentJet Swarm 原生支持多 Server 多模型的训练拓扑。你可以在多个GPU服务器上,同时启动多个 Swarm Server,每个 Server 承载不同大小的模型,然后用一个 Swarm Client 编排它们的协作:
188193

189-
在工作流中,Client 可以根据角色将不同的推理请求路由到不同的 Server。规划 Agent 的对话历史发送给 32B 模型,执行 Agent 的对话历史发送给 7B 模型。两个模型各自收集自己的 rollout 样本,各自计算梯度,各自更新参数,完成真正的**非参数共享多智能体强化学习训练**
194+
在工作流中,Client 可以根据角色将不同的推理请求路由到不同的 Server。规划 Agent 的对话历史发送给 32B 模型,执行 Agent 的对话历史发送给 7B 模型。
195+
两个模型各自收集自己的 rollout 样本,各自计算梯度,各自更新参数,完成真正的**非参数共享多智能体强化学习训练**(多个异构LLM模型同时RL训练)。
190196

191197
这种能力打开了许多此前难以实现的研究方向:
192198

193-
- **异构团队博弈**:不同能力等级的模型组成团队,在竞争或合作环境中各自学习最优策略。
199+
- **异构团队合作**:不同能力等级的模型组成团队,在竞争或合作环境中各自学习最优策略。
194200
- **级联决策优化**:粗粒度决策由大模型负责,细粒度操作由小模型执行,端到端联合优化整个决策链路。
195-
- **师生协同训练**:大模型做 teacher 提供高质量规划,小模型做 student 学习执行,两者同时通过 RL 信号共同进化。
196-
197-
198-
### 基于VERL的高效训推 GPU CoLocate
199-
200-
AgentJet蜂群架构的灵活性并不以牺牲 GPU 利用效率 & 产生大量GPU空泡为代价。在 Swarm Server 内部,AgentJet 依然采用了经过实战检验的 VERL 训练推理 CoLocate 架构:这意味着推理(rollout generation)和训练(gradient update)共享同一组 GPU,避免了 GPU 显存的浪费。
201-
202-
对于熟悉 VERL 的研究者来说,几乎所有 VERL 实现的算法实现,都可无损地应用到 AgentJet 中。AgentJet 在此基础上增加了蜂群通信层和时间线合并优化,但核心的训练逻辑保持一致。迁移成本低,性能表现有保障。
201+
- ……
203202

204203

205204
### 不挑Agent框架,能支持OpenAI协议的BaseUrl和ApiKey就行
@@ -230,6 +229,13 @@ AgentJet 在工程质量上投入了大量精力,确保每一次训练结果
230229
</div>
231230

232231

232+
### 基于VERL的高效训推 GPU CoLocate
233+
234+
AgentJet蜂群架构的灵活性并不以牺牲 GPU 利用效率 & 产生大量GPU空泡为代价。在 Swarm Server 内部,AgentJet 依然采用了经过实战检验的 VERL 训练推理 CoLocate 架构:这意味着推理(rollout generation)和训练(gradient update)共享同一组 GPU,避免了 GPU 显存的浪费。
235+
236+
对于熟悉 VERL 的研究者来说,几乎所有 VERL 实现的算法实现,都可无损地应用到 AgentJet 中。AgentJet 在此基础上增加了蜂群通信层和时间线合并优化,但核心的训练逻辑保持一致。迁移成本低,性能表现有保障。
237+
238+
233239
## 实力派训练框架
234240

235241
作为一个 Agent 训练框架而言,仅仅实现一个分布式架构是远远不够的。如何提供稳定、秒上手、值得信赖的训练环境,也是我们需要研究的课题。

0 commit comments

Comments
 (0)