Tencent-Hunyuan/UniRL

UniRL is a Framework for Unified Multimodal Model Reinforcement Learning

UniRL – 统一多模态模型的强化学习

它是什么 – UniRL 是一个开源 Python 框架,让研究人员和工程师能够将单一的强化学习(RL)循环应用于各种多模态生成模型(文本到图像、文本到视频、视觉语言、大语言模型,以及结合了自回归和扩散组件的“统一”模型)。该循环是经典的 RL 后训练周期:生成样本、用奖励服务评分、计算优势、更新策略,并将新权重同步回 rollout worker。

关键理念

  • 分层、可组合的架构 – 入口点由 Hydra 配置驱动,并实例化一个 trainer,它将以下部分连接起来:
    • Rollout 引擎(vLLM‑Omni、SGLang 等)
    • RL 算法(包括 GRPO 等标准算法,以及团队提出的 Flow‑DPPO、DRPO、CPPO 等)
    • 模型包(扩散、AR、统一模型)
    • 奖励服务(任何外部评分器)
    • 分布式运行时(Ray DevicePool、FSDP、LoRA/全权重同步)
  • 多种训练模式 – 扩散 RL、自回归(AR)RL、监督微调(SFT)、提示增强、统一 RL、智能体 RL,以及将 rollout 和训练 worker 分离的异步变体。
  • 广泛的模型支持 – 为数十种最先进的模型(Stable Diffusion 3.5、FLUX.2‑Klein、Qwen‑Image、各种视频扩散模型、Qwen‑3 系列 LLM/VLM、HunyuanVideo 等)提供即用型配方。每个配方都是一个 YAML 配置,用于选择模型、算法、rollout 后端和任何特殊标志。
  • 团队提出的算法 – UniRL 团队引入的新颖 RL 方法:
    • Flow‑DPPO – 用于扩散/流模型的基于散度的信任区域。
    • DRPO – 用于词元级 LLM RL 的平滑优势加权二次正则化。
    • CPPO – 位置加权累积前缀信任区域掩码。 所有算法都附有分步教程和可运行的示例。

如何使用

  1. 安装(参见 INSTALL.md)。
  2. 选择一个配方,例如 diffusion/sd3/sd3_trainside.yaml。
  3. 运行入口点,例如 python -m unirl.train_diffusion --config-name=diffusion/sd3/sd3_trainside。
  4. 框架会自动启动 rollout worker、生成样本、评分并更新模型。支持多节点和 GPU 板配置。

适用对象 – 为生成式 AI 构建基于 RL 的微调流程的研究人员;需要一种统一的方法来通过奖励信号改进多模态模型的产品团队;以及任何想在流行的扩散或 LLM 后端上尝试新算法(Flow‑DPPO、DRPO、CPPO)的人。

文档与社区 – 完整文档请访问 https://unirl‑project.github.io/unirl/,有中文讨论的微信群,以及列出即将推出的模型/算法扩展的路线图。

许可证 – Apache‑2.0。

相关

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