2.5 KiB
2.5 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources | ||||
|---|---|---|---|---|---|---|---|---|---|
| Replay Buffer 在 LLM RL 中的应用 | 2026-05-12 | 2026-05-12 | concept |
|
|
Replay Buffer 在 LLM RL 中的应用
Replay Buffer 是 tba 框架的核心组件,用于存储和采样 Searcher 节点生成的所有 (query, response, reward) 轨迹,使 Trainer 可以独立于生成速度进行训练。
架构
D_local (per Searcher) D_global (shared)
┌─────────────────┐ ┌─────────────────────┐
│ (x, y1, r1) │ ──sync──▶ │ x1: [(y1, r1, step),│
│ (x, y2, r2) │ │ (y2, r2, step),│
│ ... │ │ ...] │
└─────────────────┘ │ x2: [...] │
└─────────────────────┘
│
Trainer 采样
(recency + reward)
设计要点
1. 存储内容
每条轨迹存储:(query x, response y, reward r, trainer_step) ——其中 trainer_step 记录了生成时的训练步数,用于计算 off-policyness 程度。
2. 采样策略:reward-recency-sampling
- Recency 优先:采样最近同步步骤添加的数据(近似 on-policy)
- 奖励优先:用 softmax(reward) 或均匀分布采样(鼓励探索)
参数 m 控制 recency 优先的概率。实验表明 $m = 0.5$–0.6 效果最佳。
3. Buffer 大小
增大 buffer 容量可保留更多 off-policy 数据,在 red-teaming 任务中增加 buffer 大小提升了攻击多样性(牺牲部分毒性)。
为什么 LLM RL 需要 Buffer?
传统的 PPO/GRPO 训练中,生成一批数据后用一次即丢弃——数据利用率极低。Buffer 使得:
- 数据复用:同一条轨迹可被多次训练(重要性随 staleness 增加而衰减)
- 解耦速度:搜索和训练可独立节奏(搜索快于训练时 buffer 积累;训练快于搜索时 buffer 供给稳定)
- 探索增强:Buffer 包含历史上多样化的探索数据
相关概念
- tba — 框架实现
- asynchronous-rl-llm — 异步 RL 范式
- searcher-trainer-decoupling — 架构模式
- reward-recency-sampling — 采样策略
- bartoldson-tba-2025