鬼谷子手工刀大型语言模型(LLMs)依托于海量自然语言语料的无监督训练,展现出卓越的语言理解能力,为通用人工智能()的发展奠定了重要的基础。随着模型规模从百万级扩展到万亿级,预训练数据面临枯竭危机。为了增强LLM的性能,研究者们引入指令微调与基于人类反馈的强化学习(RLHF)等后训练技术,帮助模型更好地对齐人类偏好和社会价值观。其中,强化学习通过生成高质量响应和奖励信号作为数据飞轮,从而实现模型性能的持续迭代优化。
然而,现有的强化学习后训练框架面临两大挑战:任务关联式(task-collocated)强化学习框架在训练过程中,一次只运行一个任务,占用所有计算资源直至完成,导致内存使用效率低下以及计算资源利用不足;任务分离式(task-separated)强化学习框架虽然能够根据工作负载需求分配资源,但由于内在的数据依赖关系,仍然存在资源闲置和工作负载不均衡的问题。此外,大多数强化学习框架与LLM训练或推理引擎紧密耦合,难以支持定制化需求。
针对上述挑战,华为的研究者们提出了一种任务分离的异步流式强化学习框架AsyncFlow,构建于昇腾驱动的后训练框架MindSpeed-RL之上。该框架无需显式定义跨实例的数据依赖链,实现了RL任务间的自动化负载均衡与自动化工作流程(automated pipeline)的并行重叠执行。
在强化学习过程中,任务间的数据依赖性是任务分离式框架设计的核心挑战,现有方案仅提供全部数据集的静态存储传输功能,导致下游任务资源闲置严重。为此,AsyncFlow引入了异步流式数据加载器TransferQueue。
TransferQueue是连接训练与推理集群的流式数据调度器,负责管理整个RL后训练过程中的数据流。每个RL任务都配备了一个专用的TransferQueue 控制器,用于维护训练样本的元数据。在任务分离式的RL框架中,TransferQueue能够让下游任务在部分训练样本就绪时就启动计算,而不用等待完整的数据集,实现了流式工作流程(streaming pipeline)的并行重叠执行。为了兼容训练与推理引擎的输入格式,研究者将TransferQueue交互逻辑封装进PyTorch DataLoader,用户可以无缝集成TransferQueue作为分布式流式数据加载器,而无需理解其底层实现细节。
在数据管理方面,TransferQueue为每个 RL任务提供统一的数据状态视图,这一功能消除了在多个 RL任务之间手动定义所有数据流的需求,避免了跨数据并行组(DP groups)复杂的数据依赖链定义。此外,这种集中式视图还有助于实现更优的负载均衡策略。
在数据存储与传输方面,研究者借鉴SDN架构思想,TransferQueue采用控制平面与数据平面解耦设计,并在每一层中分别实例化多个控制器和数据存储单元。该设计有效缓解了潜在的 I/O 和网络瓶颈,能够兼容多种存储系统,从而支持可扩展的后训练。
任务分离式框架还面临的挑战是流水线气泡问题(pipeline bubbles),即跨设备部署任务间数据依赖导致的硬件资源闲置问题。为了应对这个挑战,AsyncFlow引入基于生产者-消费者的异步工作流优化算法。通过在陈旧阈值(staleness threshold)范围内策略性地延迟参数更新过程来最小化计算闲置。
AsyncFlow采用分层服务化接口设计。用户级接口封装了RL算法逻辑,并提供控制后训练流程的关键API;后端级接口则提供了模块化RL任务抽象,通过后端适配器实现算法逻辑与执行引擎的解耦。该设计在保持架构灵活性的同时,有效平衡了学术研究所需的灵活性与工业部署所需的可扩展性。
研究者将AsyncFlow框架与VeRL框架进行比较,VeRL是最先进的任务关联式强化学习框架,通过高效的3D-HybridEngine降低了重分片开销,除训练效率优势外,VeRL结合了单控制器与多控制器范式,大幅简化了软件开发流程。实验设置中,强化学习算法采用GRPO算法进行评估;模型选择了Qwen2.5系列的模型,参数范围从7B到32B;数据集采用DeepScaleR数据集用于后训练;硬件配置和并行策略使用大规模昇腾 NPU集群来评估提出的RL框架,每个节点有16个NPU,系统内存为2880GB。
研究者们在32至1024个NPU的集群规模上测评AsyncFlow。可以发现,AsyncFlow在所有配置下均优于VeRL,平均吞吐量提升了1.59倍。
在集群规模扩大16倍时,AsyncFlow仍能保持较高的线性度,表明AsyncFlow具备良好的扩展性和适应性,为工业规模下的LLM推理智能体高效训练奠定了基础。
为了验证AsyncFlow各方法的有效性,研究者进行了消融实验。可以发现TransferQueue实现了RL任务之间的细粒度重叠执行。与基线相比,引入TransferQueue使吞吐量提升了2.01倍。接着,引入异步工作流优化算法能够有效减少迭代间的空闲时间。该算法主要包括延迟参数更新、任务重叠执行以及动态资源分配策略。与启用TransferQueue的基线方案相比,引入异步工作流优化算法使整体吞吐量进一步提升了36.3%。
|