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 – 位置加权累积前缀信任区域掩码。 所有算法都附有分步教程和可运行的示例。
如何使用
- 安装(参见
INSTALL.md)。 - 选择一个配方,例如
diffusion/sd3/sd3_trainside.yaml。 - 运行入口点,例如
python -m unirl.train_diffusion --config-name=diffusion/sd3/sd3_trainside。 - 框架会自动启动 rollout worker、生成样本、评分并更新模型。支持多节点和 GPU 板配置。
适用对象 – 为生成式 AI 构建基于 RL 的微调流程的研究人员;需要一种统一的方法来通过奖励信号改进多模态模型的产品团队;以及任何想在流行的扩散或 LLM 后端上尝试新算法(Flow‑DPPO、DRPO、CPPO)的人。
文档与社区 – 完整文档请访问 https://unirl‑project.github.io/unirl/,有中文讨论的微信群,以及列出即将推出的模型/算法扩展的路线图。
许可证 – Apache‑2.0。
相关
- 项目
- Dispatch
- 项目
- 项目
- 项目