dllm

用扩散模型生成文本,更快更灵活

dLLM 是一个基于扩散模型的简单语言建模开源项目,旨在探索将扩散模型应用于文本生成的新范式。它解决了传统自回归语言模型在生成速度和解码灵活性上的局限,通过去噪过程逐步生成文本,支持并行解码和可控生成。核心能力包括:简洁的 PyTorch 实现、支持多种扩散采样策略、与 Hugging Face 生态兼容,以及提供预训练模型和训练脚本。项目代码结构清晰,适合研究者快速上手扩散语言建模,也为工业界提供了一种新的生成模型选择。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2692
维护状态 维护中
是否开源
定价模式 free

项目数据

分类开源模型
开发团队ZHZisZZ
所属国家
官网地址
定价模式free
价格说明开源项目,Apache-2.0许可证,可免费使用和部署。
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型discrete-diffusion-models,llm,nlp
GitHub 星标★ 2692
30天Star增速
HF 下载量
上线时间2025-09-14 00:00:00
最近更新2026-09-23 00:00:00
维护状态维护中
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 7 步

环境要求

  • Linux/Conda 环境,具备可用的 NVIDIA GPU 与 CUDA 驱动
  • 已安装 conda,可创建独立 Python 环境
  • PyTorch 2.6.0 + CUDA 12.4(其他 PyTorch/CUDA 版本 README 称也可用)
  • 示例训练需要 8 张 GPU(ZeRO-2 配置)
  • 磁盘空间用于存放模型权重与训练日志

安装与启动步骤

  1. 1获取项目代码

    README 使用 pip install -e . 安装,需先把仓库下载到本地并进入根目录,后续命令都在该目录执行。

    git clone https://github.com/ZHZisZZ/dllm.git
    cd dllm
  2. 2安装 CUDA 工具链

    通过 conda 安装 CUDA 12.4,作为 PyTorch 的运行基础;已有匹配 CUDA 环境可跳过。

    conda install cuda=12.4 -c nvidia
  3. 3安装 PyTorch

    按 README 指定版本从官方 cu124 源安装 torch、torchvision、torchaudio,注意 index-url 不能省略。

    pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 
        --index-url https://download.pytorch.org/whl/cu124
  4. 4安装 dllm 包

    以可编辑模式安装本仓库,需在项目根目录执行;此步会拉取 transformers、peft 等依赖。

    pip install -e .
  5. 5安装评测依赖

    可选步骤。若要做评测,需以可编辑模式安装 lm-evaluation-harness 子模块并带 IFEval、Math 依赖。

    pip install -e "lm-evaluation-harness[ifeval,math]"
  6. 6配置 Slurm 日志

    可选步骤,仅 Slurm 用户需要:先建日志目录,再修改 scripts/train.slurm.sh 中的 partition 与 quotatype 为集群实际值。

    mkdir .logs
  7. 7本地启动训练

    使用 accelerate 读取 zero2 配置,在 examples/llada 上跑 SFT,开启 4bit 量化与 LoRA 降低显存占用。

    accelerate launch 
        --config_file scripts/accelerate_configs/zero2.yaml 
        examples/llada/sft.py 
        --num_train_epochs 4 
        --load_in_4bit True --lora True

关键配置

配置项必填说明示例
--config_fileaccelerate 启动配置,zero2.yaml 对应 ZeRO-2 分片策略scripts/accelerate_configs/zero2.yaml
--num_train_epochs训练轮数,示例中为 4 轮4
--load_in_4bit以 4bit 量化加载模型,显著降低显存占用True
--lora启用 LoRA 低秩微调,只训练少量适配参数True
#SBATCH --partitionSlurm 用户需改为自己集群的队列名称YOUR_PARTITION
#SBATCH --quotatypeSlurm 用户需改为自己集群的配额类型YOUR_QUOTATYPE

如何确认成功

pip install -e . 无报错即安装成功;accelerate launch 后终端持续输出训练日志和迭代进度即启动成功。

常见问题

Q:一定要 CUDA 12.4 和 PyTorch 2.6.0 吗?

A:README 注明其他 PyTorch/CUDA 版本也应该可以工作,示例只是给出了一套验证过的组合,可按本机驱动自行替换。

Q:显存不够怎么办?

A:示例已开启 --load_in_4bit True 与 --lora True;还可减少 batch、换更小的模型,或改用多卡 ZeRO-2/FSDP 配置。

Q:必须用 8 张 GPU 吗?

A:README 的本地示例描述为 8 卡 ZeRO-2,但命令本身未写死卡数,可通过修改 accelerate 配置文件适配自己的机器。

Q:评测环境怎么装?

A:执行 pip install -e "lm-evaluation-harness[ifeval,math]",评测流程基于 lm-evaluation-harness,注意这是可选步骤。

Q:预训练模型去哪下载?

A:README 顶部提供了 Hugging Face 模型页 https://huggingface.co/dllm-hub,可直接从该仓库获取权重。

注意事项

  • README 只提供了 pip install -e .,说明它假定你已经在项目根目录,因此需先克隆仓库再安装。
  • 训练示例的命令行参数需在根目录执行,换目录会导致找不到 scripts/ 和 examples/ 路径。
  • Slurm 用户务必把 train.slurm.sh 里的 partition 和 quotatype 改成自己集群的值,否则任务无法提交。
  • 项目依赖 transformers Trainer、peft、DeepSpeed/FSDP,安装过程可能需要较长时间且对网络有要求。

核心亮点

  • 并行解码,生成速度优于自回归模型
  • 支持多种采样策略,生成质量可调
  • 代码简洁,基于 PyTorch,易于扩展

不足之处

  • 扩散模型在文本生成上仍处于实验阶段,成熟度不及自回归
  • 文档和社区生态相对薄弱,待观察

适用场景

  • 学术研究:探索非自回归语言模型
  • 低延迟文本生成场景,如实时对话
  • 可控文本生成,如风格或主题控制

替代项目

Diffusion-LM、DiffuSeq、GENIE

项目介绍

dllm 是开源模型领域的开源项目,由 ZHZisZZ 开发,2025 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(2,692)位列前 30%,在开源模型分类中处于中上游。

近 42 天,它的 GitHub 星标从 2,669 增加到 2,692,净增 23。

项目仍在小幅维护中,最近一次代码更新于 2026-09-23。Apache-2.0许可证,可免费使用和部署。

它主要面向的使用场景是:学术研究:探索非自回归语言模型。同类可对比的替代方案包括 Diffusion-LM、DiffuSeq、GENIE。

上一篇:FreedomGPT

下一篇:Awesome-LLM-KG

同类项目推荐

Machine-Learning 开源

跟着博客笔记,边看边跑机器学习代码

All content related to machine learning from my blog

★ 115 2026-08-09
CoreML-Models 开源

下载即用的苹果端 AI 模型库,免去转换烦恼

Core ML model zoo for iOS/macOS — PyTorch models converted to ready-to-use .mlpacka···

★ 1873 2026-08-10