dllm
统一扩散语言模型训练与评估的开放框架,支持 LLaDA/Dream/MDLM 等多种算法
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
统一扩散语言模型训练与评估的开放框架,支持 LLaDA/Dream/MDLM 等多种算法
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:dLLM Logo

想象一下:你在听一位画家从一片混沌的灰色颜料中,逐步勾勒出蒙娜丽莎的轮廓——扩散语言模型(Diffusion Language Model)的文本生成,本质上就是这样一种"从噪声中逐步恢复有序语言"的过程。
dLLM(Diffusion Language Modeling)正是这样一个开源框架:它把扩散语言模型的训练、推理、评估三大环节整合到一个透明、可复现的代码库中,让研究者和工程师不再需要从零搭建实验管道。
自 2020 年以来,扩散模型(Diffusion Model)在图像生成领域大放异彩(Stable Diffusion、DALL-E),但文本生成却长期由自回归模型(Autoregressive Model,GPT 系列)主导。原因在于:文本是离散符号序列,不像图像那样天然适合连续的噪声添加过程。
2024-2025 年,陆续出现了一批突破性工作:Google 的 MDLM(Masked Diffusion Model)证明掩码扩散可以训练语言模型;国内 GSAI-ML 团队的 LLaDA 在多项基准上接近同规模自回归模型;Dream 则探索了双向扩散在对话场景的应用。dLLM 正是这些前沿工作的"共同代码基座"——将它们的训练逻辑抽象为统一 pipeline,让社区可以在同一套代码下复现、对比和改进。
训练层面,dLLM 基于 HuggingFace Transformers Trainer 构建,支持:
推理层面,dLLM 集成了 NVlabs 的 Fast-dLLM 加速推理方案,可显著降低 LLaDA 和 Dream 模型的推理延迟。
评估层面,dLLM 内置了基于 lm-evaluation-harness 的统一评估管道,支持 MMLU_Pro、GSM8K、MATH 等主流 benchmark,一行命令即可在多卡上批量评测。

图2:扩散语言模型生成效果示意
dllm/
├── core/ # 核心引擎:trainers(训练器)、samplers(采样器)、schedulers(调度器)
├── pipelines/ # 任务流水线:llada、dream、bert、a2d、rl 等各自独立
├── data/ # 数据处理:alpaca、ultrachat、opc 等数据集格式
├── tools/ # 工具集
└── utils/ # 模型加载、分词器等通用工具
架构亮点在于 pipeline 解耦:每个模型(如 LLaDA)有独立的 pipelines/llada/ 子目录,包含 sft.py(有监督微调)和 eval.py(评估)入口,新增模型只需继承统一接口即可接入。这种设计在保持灵活性的同时,也确保了代码的工程可维护性。
| 维度 | 说明 |
|---|---|
| 使用门槛 | 需要有 PyTorch 分布式训练经验;纯 CLI 操作,无图形界面 |
| 硬件要求 | 8B 参数模型推荐 16GB+ 显存(FP16)或 24GB+(含优化器);单卡可跑小模型,多卡训练需 InfiniBand 或高速网络 |
| 软件依赖 | Python 3.10、PyTorch 2.6、CUDA 12.4,还需初始化 lm-evaluation-harness 子模块 |
| 安装难度 | 手动安装,非 pip 一键部署;涉及 conda 环境、CUDA 配置、Slurm 脚本修改 |
dLLM 的出现标志着扩散语言模型从"单篇论文验证"走向"系统性工程复现"的关键一步。它让以下场景成为可能:
从 GitHub Star 增长趋势来看,dLLM 在 2026 年初发布技术报告后获得了显著关注,反映出社区对扩散语言模型工具链的强烈需求。