欢迎使用 verl 文档!

verl 是一个灵活、高效且生产就绪的 RL 训练框架,专为大型语言模型(LLMs)的后训练而设计。它是 HybridFlow 论文的开源实现。

verl 具有灵活性和易用性:

  • 轻松扩展多样化的 RL 算法:混合编程模型结合了单控制器和多控制器范式的优势,能够灵活表示并高效执行复杂的后训练数据流。允许用户用几行代码构建 RL 数据流。

  • 通过模块化 API 无缝集成现有 LLM 基础设施:解耦计算和数据依赖,使框架能够无缝集成现有 LLM 框架,如 PyTorch FSDP、Megatron-LM、vLLM 和 SGLang。此外,用户可以轻松扩展到其他 LLM 训练和推理框架。

  • 灵活的设备映射和并行性:支持将模型放置在不同 GPU 集上,以实现高效的资源利用和跨不同集群规模的可扩展性。

  • 随时与热门的 HuggingFace 模型集成

verl 非常快速:

  • 最先进的吞吐量:通过无缝集成现有的最先进 LLM 训练和推理框架,verl 实现了高生成和训练吞吐量。

  • 使用 3D-HybridEngine 的高效 actor 模型重分片:消除内存冗余,并在训练和生成阶段切换期间显著减少通信开销。


贡献

verl 是自由软件,你可以根据 Apache License 2.0 的条款重新分发和修改它。我们欢迎贡献。请加入我们的 GitHubSlackWechat 进行讨论。

社区贡献者欢迎!请查看我们的 项目路线图新手友好问题 了解您可以贡献的地方。

代码检查和格式化

我们使用 pre-commit 来帮助提升代码质量。要初始化 pre-commit,请运行:

pip install pre-commit
pre-commit install

要本地解决 CI 错误,您也可以手动运行 pre-commit:

pre-commit run

添加 CI 测试

如果可能,请为您的新功能添加 CI 测试:

  1. 找到最相关的 workflow yml 文件,该文件通常对应一个 hydra 默认配置(例如 ppo_trainerppo_megatron_trainersft_trainer 等)。

  2. 如果尚未包含,请将相关路径模式添加到 paths 部分。

  3. 最小化测试脚本的工作负载(请查看现有脚本作为示例)。

我们正在招聘!如果您对 MLSys/LLM 推理/多模态对齐领域的实习/全职机会感兴趣,请发送 电子邮件 给我们。