MMaDA(Multimodal Large Diffusion Language Models)是普林斯顿大学、清华大学、北京大学和字节跳动推出的多模态扩散模型,支持跨文本推理、多模态理解和文本到图像生成等多个领域实现卓越性能。模型用统一的扩散架构,具备模态不可知的设计,消除对特定模态组件的需求,引入混合长链推理(CoT)微调策略,统一跨模态的CoT格式,推出UniGRPO,针对扩散基础模型的统一策略梯度强化学习算法,基于多样化的奖励建模,统一推理和生成任务的后训练,确保性能一致提升。MMaDA在多项任务上展现出超越现有模型的性能,为多模态AI的发展提供新的方向。
MMaDA的主要功能
- 文本生成:能生成高质量的文本内容,支持从简单的文本描述到复杂的推理任务。
- 多模态理解:理解和处理文本与图像的结合,支持对图像内容的详细描述和基于图像的问答。
- 文本到图像生成:根据文本描述生成相应的图像,支持从抽象概念到具体场景的生成。
- 复杂推理任务:支持处理数学问题、逻辑推理等复杂任务,提供详细的推理过程和准确的答案。
- 跨模态协同学习:基于统一的架构和训练策略,实现文本和图像模态之间的协同学习和优化。
MMaDA的技术原理
- 统一的扩散架构:用统一的扩散架构,基于共享的概率公式和模态不可知的设计,消除对特定模态组件的需求。模型能无缝处理文本和图像数据。在预训练阶段,模型基于掩码标记预测任务联合训练文本和图像模态。模型学习从噪声数据中恢复原始数据。
- 混合长链推理(Mixed Long Chain-of-Thought, CoT)微调策略:基于统一的CoT格式对齐不同任务的推理过程。CoT格式包括逐步推理轨迹和最终结果,模型能生成详细的推理过程。用多样化的推理数据进行微调,包括数学问题、逻辑推理和多模态推理任务。让模型在处理复杂任务时表现出色。
- 统一的策略梯度强化学习算法(UniGRPO):UniGRPO基于多样化的奖励建模,统一推理和生成任务的后训练。奖励函数包括正确性、格式、CLIP分数等,确保模型在不同任务上都能表现出色。UniGRPO用多步去噪学习,让模型能从部分噪声数据中学习,更好地用扩散模型的多步生成能力。
MMaDA的项目地址
- GitHub仓库: https://github.com/Gen-Verse/MMaDA
- HuggingFace模型库: https://huggingface.co/Gen-Verse/MMaDA
- arXiv技术论文: https://arxiv.org/pdf/2505.15809
- 在线体验: https://huggingface.co/spaces/Gen-Verse/MMaDA
MMaDA 包括一系列反映不同训练阶段的检查点:
- MMaDA-8B-Base:经过预训练和指令调整。具备基本的文本生成、图像生成、图像字幕和思维能力。
- MMaDA-8B-MixCoT(即将推出):经过混合长链思维(CoT)微调。能够进行复杂的文本、多模态和图像生成推理。将于两周内发布。
- MMaDA-8B-Max(即将推出):基于UniGRPO强化学习。擅长复杂推理和出色的视觉生成。将于1个月后发布。

MMaDA 功能概述。
待办事项
- 发布 MMaDA-8B-MixCoT 和 MMaDA-8B-Max
- 发布基于OpenRLHF的UniGRPO训练代码。
⚙️ 快速入门
首先,搭建环境:
pip install -r requirements.txt
启动本地 Gradio 演示:
python app.py
或者通过我们的Huggingface Demo在线试用。
🚀 推理
对于批次级推理,我们在此提供推理脚本。
1.文本生成
对于文本生成,我们遵循LLaDA的配置和生成脚本。简单运行:
python generate.py
2. 多模态生成
对于多模式生成和文本到图像生成,首先登录您的 wandb 帐户:
wandb login
多模式生成的推理演示,您可以在 wandb 上查看结果:
python3 inference_mmu.py config=configs/mmada_demo.yaml mmu_image_root=./mmu_validation question='Please describe this image in detail.'
3. 文本到图像生成
对于多模式生成和文本到图像生成,首先登录您的 wandb 帐户:
wandb login
文本到图像生成的推理演示,您可以在 wandb 上查看结果:
python3 inference_t2i.py config=configs/mmada_demo.yaml batch_size=1 validation_prompts_file=validation_prompts/text2image_prompts.txt guidance_scale=3.5 generation_timesteps=15
mode='t2i'