
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2726
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Linux/Conda 环境,具备可用的 NVIDIA GPU 与 CUDA 驱动
- 已安装 conda,可创建独立 Python 环境
- PyTorch 2.6.0 + CUDA 12.4(其他 PyTorch/CUDA 版本 README 称也可用)
- 示例训练需要 8 张 GPU(ZeRO-2 配置)
- 磁盘空间用于存放模型权重与训练日志
安装与启动步骤
-
1获取项目代码
README 使用 pip install -e . 安装,需先把仓库下载到本地并进入根目录,后续命令都在该目录执行。
git clone https://github.com/ZHZisZZ/dllm.git cd dllm -
2安装 CUDA 工具链
通过 conda 安装 CUDA 12.4,作为 PyTorch 的运行基础;已有匹配 CUDA 环境可跳过。
conda install cuda=12.4 -c nvidia -
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安装 dllm 包
以可编辑模式安装本仓库,需在项目根目录执行;此步会拉取 transformers、peft 等依赖。
pip install -e . -
5安装评测依赖
可选步骤。若要做评测,需以可编辑模式安装 lm-evaluation-harness 子模块并带 IFEval、Math 依赖。
pip install -e "lm-evaluation-harness[ifeval,math]" -
6配置 Slurm 日志
可选步骤,仅 Slurm 用户需要:先建日志目录,再修改 scripts/train.slurm.sh 中的 partition 与 quotatype 为集群实际值。
mkdir .logs -
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_file | 是 | accelerate 启动配置,zero2.yaml 对应 ZeRO-2 分片策略 | scripts/accelerate_configs/zero2.yaml |
--num_train_epochs | 否 | 训练轮数,示例中为 4 轮 | 4 |
--load_in_4bit | 否 | 以 4bit 量化加载模型,显著降低显存占用 | True |
--lora | 否 | 启用 LoRA 低秩微调,只训练少量适配参数 | True |
#SBATCH --partition | 否 | Slurm 用户需改为自己集群的队列名称 | YOUR_PARTITION |
#SBATCH --quotatype | 否 | Slurm 用户需改为自己集群的配额类型 | 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
上一篇:FreedomGPT
下一篇:Awesome-LLM-KG
同类项目推荐
TabPFN
开源
几行代码搞定表格数据预测,小样本也能媲美调优后的 XGBoost。
⚡ TabPFN: Foundation Model for Tabular Data ⚡
Valley
开源
一个模型同时看懂文字、图片、视频和音频
Valley is a cutting-edge multimodal large model designed to handle a variety of task···
Otter
开源
让开源多模态模型听懂指令,看图说话更听话
Otter, a multi-modal model based on OpenFlamingo (open-sourced version of DeepMind's···
awesome-japanese-llm
开源
一站式查找日语大模型,快速选型不踩坑
日本語LLMまとめ - Overview of Japanese LLMs
awesome-ai
开源
一站式导航,快速找到AI学习与开发资源
A curated list of artificial intelligence resources (Courses, Tools, App, Open Sourc···
mPLUG-Owl
开源
看图说话+指令对话,让AI同时读懂文字和图像
mPLUG-Owl: The Powerful Multi-modal Large Language Model Family
Awesome-LLM-Ensemble
开源
一页看尽LLM集成研究,快速定位核心论文
A curated list of Awesome-LLM-Ensemble papers for the survey "Harnessing Multiple La···
DeSTA2
开源
不用语音指令数据,也能让模型听懂并执行语音指令
Code and model for ICASSP 2025 Paper "Developing Instruction-Following Speech Langua···
awesome-harness-engineering
开源
一站式收藏AI智能体开发工具,快速上手构建生产级应用。
️ Awesome tools & guides for harness engineering.