vllm-project/vime

An LLM post-training framework with vLLM for RL Scaling

Vime – LLM post‑training framework for reinforcement‑learning at scale

它是什么

  • Vime 是一个研究级框架,允许您使用强化学习(RL)方法微调大型语言模型(LLM)。它结合了两个久经考验的栈:
    1. Megatron‑LM – 用于巨型模型的高吞吐量训练引擎。
    2. vLLM(以及可选的 vllm‑router)– 一个能够在多个 GPU 上并行生成文本的快速推理服务器。
  • 这种组合提供了一个单一的数据流循环:生成提示词,模型生成响应,计算奖励,并将结果轨迹反馈给 Megatron 进行下一步训练。

主要能力

能力 Vime 如何实现
高性能训练 Megatron 处理繁重的梯度更新,而 Vime 将相同的模型权重传递给 vLLM 进行 rollout,保持双方同步。
灵活的数据生成 用户可以插入自定义生成函数(多轮对话、工具调用、沙盒环境等)。Data Buffer 抽象了提示词、生成的样本和 RL 奖励,因此可以表达任何工作流。
代理/长时程支持 内置多代理、异步和代码生成代理的钩子;示例包括在 Qwen‑3.8‑27B 上运行的编码代理 RL。

支持的模型(继承自上游 slime 项目)– Qwen 系列、DeepSeek V3 系列、LLaMA 3 以及其他与 Megatron 兼容的检查点。

架构概览

  • 训练(Megatron) – 从 Data Buffer 读取批次,计算 RL 损失,并将更新后的权重同步到 rollout 侧。
  • Rollout(vLLM + 路由器) – 启动一个或多个 vLLM 推理引擎,路由生成请求,并可以用自定义逻辑(工具使用、环境交互、奖励验证)进行包装。
  • Data Buffer – 存储提示词、生成的轨迹和奖励的粘合剂;可以通过 Ray 的对象存储或“straw”共享存储后端持久化,以实现容错。

如何开始

  1. 遵循快速入门指南(环境设置、数据准备、启动脚本)。所有命令都由单个 train.py 入口点驱动。
  2. 选择 rollout 后端(--rollout-num-gpus-per-engine、--vllm-router-ip 等)以及您需要的任何 Megatron 并行标志。
  3. 可选地添加自定义生成函数(--custom-generate-function-path)以实现您自己的代理循环。
  4. 运行提供的示例 – 多代理、完全异步或 Qwen‑3.8 编码代理 RL 演示。

可扩展性

  • 参数分为三组(Megatron、vLLM、Vime 特定),并全部在命令行中公开;源文件 vime/utils/arguments.py 和 vime/backends/vllm_utils/arguments.py 列出了完整集合。
  • 引擎部署支持异构 GPU 组、外部 rollout 服务器以及用于基于磁盘更新的增量权重同步,使得可以在与训练器不同的集群上运行 rollout。
  • 测试与可靠性 – CPU 单元测试、GPU 端到端套件和 CI 管道防止静默 RL 错误;容错文档描述了如何使用 straw 传输从崩溃中恢复。

谁应该使用 Vime?

  • 构建基于 RL 的 LLM 代理(工具使用机器人、代码生成助手、多代理模拟)的研究人员。
  • 已经使用 Megatron 或 vLLM 并希望在不重写训练或推理栈的情况下获得开箱即用的 RL 循环的团队。
  • 任何需要生产就绪、可配置的管道,能够在多个 GPU 上扩展,同时保持数据生成逻辑灵活的人。

更多信息


Vime 是一个真正的开源项目,专注于使用强化学习进行 LLM 后训练,并与 vLLM 生态系统紧密集成。

相关

  • Dispatch
  • 项目
  • 项目
  • Dispatch
  • 项目