2.7 KiB
2.7 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources | ||||
|---|---|---|---|---|---|---|---|---|---|
| Searcher-Trainer 解耦架构 | 2026-05-12 | 2026-05-12 | concept |
|
|
Searcher-Trainer 解耦架构
Searcher-Trainer 解耦 是 tba 的架构基础,将 LLM 后训练中的**探索(数据生成)和学习(策略更新)**分配到独立的计算节点上,实现高度并行化。
架构对比
传统 On-Policy(串行)
单一节点:
Generate → Reward → Update → Generate → Reward → Update → ...
↑ │
└───────────────────────────────────────────────────────┘
每次更新后 GPU 闲置等待生成 / 生成等待更新
TBA Searcher-Trainer(并行)
Searcher 1: Generate ⇢ Reward ⇢ Buffer ─┐
Searcher 2: Generate ⇢ Reward ⇢ Buffer ─┤
... ├── D_global
Searcher N: Generate ⇢ Reward ⇢ Buffer ─┘
│
每 k 步同步 ─────────┤
│
Trainer: ← Buffer Sampling ← TB Loss ←┘
同步协议
- 同步周期 $k$:每
k步训练后,暂停以交换权重和 buffer 数据 - 权重传递:Trainer → Searcher(更新本地推理策略)
- 数据传递:Searcher → Trainer($D_{local} \to D_{global}$)
节点定义
在 TBA 中,"节点" 是执行完整搜索或训练操作所需的计算资源:
- 1 节点 = 1 GPU
- 典型配置:16 GPU → 15 Searcher + 1 Trainer
- 最小配置:2 GPU → 1 Searcher + 1 Trainer
效率来源
| 操作 | 瓶颈类型 | 解耦后效果 |
|---|---|---|
| LLM 推理(生成) | Memory-bound | Searcher 持续 vLLM 推理 |
| 策略更新(训练) | Compute-bound | Trainer 持续 forward+backward |
| 关键 | 两者互不等待 | GPU 利用率接近 100% |
与经典分布式 RL 的关系
TBA 的 Searcher-Trainer 架构类似于 IMPALA(Espeholt et al., 2018),后者也通过 actor-learner 分离实现高效分布式 RL。关键区别:
- IMPALA 使用 V-trace(需要价值函数 $V(s)$)
- TBA 使用 TB 目标(无需 critic)
相关概念
- tba — 框架实现
- asynchronous-rl-llm — 异步 RL 范式
- replay-buffer-rl-llm — Buffer 设计
- reward-recency-sampling — 采样策略
- bartoldson-tba-2025