61 lines
2.5 KiB
Markdown
61 lines
2.5 KiB
Markdown
---
|
||
title: "Replay Buffer 在 LLM RL 中的应用"
|
||
created: 2026-05-12
|
||
updated: 2026-05-12
|
||
type: concept
|
||
tags: ["reinforcement-learning", "llm-post-training", "replay-buffer"]
|
||
sources: ["arxiv:2503.18929"]
|
||
---
|
||
|
||
# Replay Buffer 在 LLM RL 中的应用
|
||
|
||
**Replay Buffer** 是 [[tba|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|TBA]] — 框架实现
|
||
- [[asynchronous-rl-llm]] — 异步 RL 范式
|
||
- [[searcher-trainer-decoupling]] — 架构模式
|
||
- [[reward-recency-sampling]] — 采样策略
|
||
- [[bartoldson-tba-2025|论文页面]]
|