v1.9.0
TRL v1.9.0 为 GRPO 和 RLOO 训练器添加了可迭代/流式数据集支持,通过新的 repeat_iterable_dataset 生成器保持与 RepeatSampler 相同的顺序,并要求设置 max_steps 和 dispatch_batches=False。
发展脉络
- 首次出现v1.91.4LiteLLM Releases
- 行业反馈v1.93.0LiteLLM Releases
- 行业反馈v1.9.0TRL Releases
- 行业反馈v1.36.2Google Agent Development Kit for Python
- 行业反馈v1.58.1Anthropic Go SDK
- 行业反馈v1.0.0.dev20260723SkyPilot
- 行业反馈v1.3.29FunASR
- 行业反馈v1.61.0Anthropic Go SDK
- 当前判断TRL 作为 Hugging Face 的强化学习训练库,此更新降低了流式数据集在 RL 训练中的使用门槛,可能推动更多大规模 RL 训练采用流式数据,减少内存占用。这反映了开源工具链对大规模训练需求的响应。Agent Pulse · 分析
TRL v1.9.0 发布,为 GRPO 和 RLOO 训练器添加了可迭代/流式数据集支持。此前,GRPO 和 RLOO 依赖 RepeatSampler 重复每个提示 num_generations 次并在进程间分组,但采样器无法附加到可迭代数据集(无长度、无索引),旧行为会静默绕过采样器,导致优势计算错误。新版本通过 repeat_iterable_dataset 生成器转换流本身,复现了 RepeatSampler 的精确顺序。训练器通过 IterableDataset.from_generator 包装可迭代数据集,强制 dispatch_batches=False,并按进程分片流以保留跨进程收集后的提示组。使用可迭代数据集时必须设置 max_steps,否则会报错。
该版本解决了流式数据集在 GRPO/RLOO 中的采样一致性问题,通过生成器转换流而非重排索引,保持了跨进程的提示分组。这要求训练器强制 dispatch_batches=False,并设置 max_steps,因为可迭代数据集没有长度。这一改动可能影响训练吞吐和内存使用,但确保了优势计算的正确性。
TRL 作为 Hugging Face 的强化学习训练库,此更新降低了流式数据集在 RL 训练中的使用门槛,可能推动更多大规模 RL 训练采用流式数据,减少内存占用。这反映了开源工具链对大规模训练需求的响应。
对于使用 TRL 进行 RL 训练的企业,此更新支持流式数据集,可降低内存成本并支持更大规模数据,提升训练效率。开源库的持续改进增强了 Hugging Face 生态的吸引力,可能促进更多企业采用。
后续可关注 TRL 是否进一步优化流式数据集的性能,或是否将类似支持扩展到其他训练器(如 PPO)。此外,可观察社区对 max_steps 强制要求的反馈,以及是否出现替代方案。