论文阅读:2024 arxiv HybridFlow: A Flexible and Efficient RLHF Framework

https://www.doubao.com/chat/3875396379023618

HybridFlow: A Flexible and Efficient RLHF Framework

https://arxiv.org/pdf/2409.19256

https://github.com/volcengine/verl

速览

这篇论文主要介绍了一个名为HybridFlow的新型框架,旨在提升大语言模型(LLM)中"基于人类反馈的强化学习"(RLHF)的效率和灵活性。以下是核心内容的通俗解读:

1. RLHF是什么?为什么需要优化?

RLHF是训练大语言模型(如GPT、Llama)的关键技术,通过人类反馈让模型生成更符合伦理、更有用的内容。传统RLHF框架存在两个主要问题:

  • 效率低:用单一控制器管理所有计算和通信,导致调度开销大,尤其在处理数十亿参数的LLM时效率低下。
  • 灵活性差:用多控制器独立管理每个设备,导致代码耦合度高,难以支持不同算法和模型配置。

2. HybridFlow的核心创新:混合编程模型

HybridFlow结合了单一控制器多控制器的优点:

  • 节点间(模型间):用单一控制器统一协调数据传输和执行顺序。例如,演员模型生成文本后,控制器自动将数据分发给评论家模型评分,无需手动编写通信代码。
  • 节点内(模型内):每个模型(如演员、评论家)内部用多控制器并行计算,利用现有的LLM训练框架(如Megatron-LM、DeepSpeed)优化计算效率。

好处

  • 灵活:用户只需几行代码即可搭建不同RLHF流程(如PPO、Safe-RLHF),无需关心底层分布式计算细节。
  • 高效:减少控制器调度开销,同时利用多GPU并行计算,提升吞吐量。

3. 3D-HybridEngine:零冗余的模型切换

在RLHF中,演员模型需要在"训练阶段"(更新参数)和"生成阶段"(生成文本)之间切换,传统方法会导致大量内存冗余和通信开销。3D-HybridEngine通过以下方式优化:

  • 零内存冗余:训练和生成阶段共享同一套模型参数,通过巧妙的分组策略(如调整张量并行和数据并行的比例),避免重复存储参数。
  • 低通信开销:仅在小范围内(如"微数据并行组")同步参数,相比传统方法减少70%以上的通信量。

4. 自动设备分配算法:让GPU资源更高效

HybridFlow提供自动算法,根据模型大小和集群规模,动态分配GPU资源:

  • 场景适配:小集群中,将所有模型放在同一组GPU上,充分利用资源;大集群中,将演员和评论家模型分开放置,实现并行计算。
  • 负载均衡:避免GPU空闲或内存溢出,例如将大模型(如70B参数的评论家)分配更多GPU,小模型(如7B参数的演员)分配较少GPU。

5. 实验效果:速度提升显著

在不同模型规模(7B到70B参数)和算法(PPO、ReMax等)中,HybridFlow相比现有框架(如DeepSpeed-Chat、OpenRLHF):

  • 吞吐量提升:1.53倍到20.57倍,尤其在大模型和复杂算法中优势明显。
  • 过渡开销降低:演员模型在训练和生成阶段的切换时间减少55%以上,70B模型切换时间从78秒降至8秒以内。

6. 总结:HybridFlow的价值

  • 推动RLHF研究:开源框架降低开发门槛,支持更多新算法(如安全RLHF、数学推理训练)。
  • 资源利用率优化:通过混合架构和自动分配,让不同规模的团队(从小型集群到大型数据中心)都能高效训练LLM。

一句话总结:HybridFlow通过"分层控制+高效切换+智能分配",让大模型的人类反馈训练更快、更灵活,为开发更安全、更智能的AI奠定基础。

github

这个仓库 verl 是一个由 ByteDance Seed 团队发起并由 verl 社区维护的强化学习训练库,全称为 Volcano Engine Reinforcement Learning for LLMs,用于大语言模型(LLMs)的训练。以下是关于该仓库的详细介绍:

仓库概述
verlHybridFlow: A Flexible and Efficient RLHF Framework 论文的开源版本,具有灵活、高效且适合生产环境的特点。它可以轻松扩展各种强化学习算法,与现有的大语言模型基础设施无缝集成,支持灵活的设备映射,并能与流行的 HuggingFace 模型集成。

主要特性

  1. 灵活性
    • 多样化 RL 算法扩展:通过混合控制器编程模型,能够灵活表示和高效执行复杂的后训练数据流,只需几行代码就能构建如 GRPO、PPO 等 RL 数据流。
    • 模块化 API 集成:解耦计算和数据依赖,可与现有的大语言模型框架(如 FSDP、Megatron - LM、vLLM、SGLang 等)无缝集成。
    • 灵活的设备映射:支持将模型灵活放置在不同的 GPU 集合上,以实现高效的资源利用和跨不同集群规模的可扩展性。
    • 与 HuggingFace 模型集成:可直接使用流行的 HuggingFace 模型。
  2. 高效性
    • 高吞吐量:集成了最先进的大语言模型训练和推理引擎,实现了最先进的 RL 吞吐量。
    • 高效的模型重分片:使用 3D - HybridEngine 进行高效的 actor 模型重分片,消除内存冗余,显著减少训练和生成阶段之间转换时的通信开销。

支持的算法和技术

  • 训练框架:支持 FSDP 和 Megatron - LM 进行训练。
  • 生成框架:支持 vLLM、SGLang 和 HF Transformers 进行 rollout 生成。
  • 模型兼容性:与 Hugging Face Transformers 和 Modelscope Hub 兼容,如 Qwen - 2.5、Llama3.1、Gemma2、DeepSeek - LLM 等。
  • 学习类型 :支持监督微调(Supervised fine - tuning)和多种强化学习算法,如 PPOGRPOReMaxREINFORCE++RLOOPRIMEDAPODrGRPO 等。
    • 奖励类型:支持基于模型的奖励和基于函数的奖励(可验证奖励)。
    • 多模态支持:支持视觉语言模型(VLMs)和 [多模态 RL](examples/grpo_trainer/run_qwen2_5_vl - 7b.sh)。
  • 优化技术 :支持 Flash attention 2、[sequence packing](examples/ppo_trainer/run_qwen2 - 7b_seq_balance.sh)、sequence parallelism(通过 DeepSpeed Ulysses)、LoRALiger - kernel
  • 扩展性:可扩展到 70B 模型和数百个 GPU。
  • 实验跟踪:支持使用 wandb、swanlab、mlflow 和 tensorboard 进行实验跟踪。

近期新闻

  • 2025/05verl 将在 GOSIM x PyTorch Day 2025 上展示。
  • 2025/04 :将在 ICLR 2025 Expo、[SCI - FM workshop](https://open - foundation - model.github.io/) 和 LMSys afterparty 上进行关于最新后训练技术和 verl 编程指南的教程。
  • 2025/04 :[Seed - Thinking - v1.5](https://github.com/ByteDance - Seed/Seed - Thinking - v1.5/blob/main/seed - thinking - v1.5.pdf) 技术报告发布,该模型使用 verl 训练,在 AIME 2024、Codeforces 和 GPQA 等测试中表现出色。
  • 2025/04 :正在开发 VAPO 的开源配方,该算法在 AIME 2024 上取得了 60.4 的成绩。
  • 2025/03verl v0.3.0.post1 发布。
  • 2025/03 :[DAPO](https://dapo - sia.github.io/) 开源,基于 Qwen2.5 - 32B 预训练模型在 AIME 2024 上取得 50 分的成绩,其训练完全由 verl 支持,复现代码可在 recipe/dapo 中找到。

代码结构

复制代码
.gitignore
.pre - commit - config.yaml
.readthedocs.yaml
LICENSE
Notice.txt
README.md
pyproject.toml
requirements.txt
requirements_sglang.txt
setup.py
recipe/
    dapo/
    drgrpo/
    prime/
    r1/
.vscode/
    settings.json
scripts/
    converter_hf_to_mcore.py
    diagnose.py
    model_merger.py
.github/
    dependabot.yml
    workflows/
verl/
    __init__.py
    models/
    protocol.py
    single_controller/
    third_party/
    trainer/
    utils/
    version/
    workers/
docs/
    Makefile
    README.md
    README_vllm0.7.md
    ...
examples/
    ...
docker/
    ...
tests/
    ...

未来特性

相关推荐
王上上1 小时前
【论文阅读】-周总结-第5周
论文阅读
一点.点1 小时前
VLM-E2E:通过多模态驾驶员注意融合增强端到端自动驾驶——论文阅读
论文阅读·大模型·自动驾驶·端到端
Venus-ww3 小时前
Universal Value Function Approximators 论文阅读(强化学习,迁移?)
论文阅读
CV-杨帆4 小时前
论文阅读:2024 NeurIPS Group Robust Preference Optimization in Reward-free RLHF
论文阅读
xieyan08114 小时前
论文阅读_Search-R1_大模型+搜索引擎
论文阅读
崔高杰7 小时前
On the Biology of a Large Language Model——Claude团队的模型理解文章【论文阅读笔记】其二——数学计算部分
论文阅读·人工智能·笔记·语言模型·nlp
墨绿色的摆渡人8 小时前
论文笔记(八十)π0.5: a Vision-Language-Action Model with Open-World Generalization
论文阅读
xieyan08118 小时前
论文阅读_Citrus_在医学语言模型中利用专家认知路径以支持高级医疗决策
论文阅读
墨绿色的摆渡人8 小时前
论文笔记(七十九)STOMP: Stochastic Trajectory Optimization for Motion Planning
论文阅读