Zero2LLM 是一个专门面向初学者的大语言模型(LLM)学习项目。本项目采用循序渐进的方式,帮助你从最基础的 Attention 机制开始,一步步掌握现代大语言模型的核心概念和实现。
我们建议按照以下顺序进行学习:
- 基础 Attention 机制
- 理解 Attention 的基本原理
- 实现简单的 Self-Attention
- 掌握多头注意力机制
- NanoGPT 实现
- GPT 模型的基础架构
- Transformer 解码器的实现(Decoder-only)
- 预训练和微调过程
- MoE (Mixture of Experts) 模型
- 专家混合系统的原理
- 动态路由机制
- 可扩展性设计
- MLA (Multi Latent Attention) 模型
- Deepseek MLA
- 实际应用案例
- Zero2LLM_all 综合实践
- 完整模型实现(MQA/MoE,RoPE..)
- 性能优化
- 实际部署经验
# 克隆项目
git clone https://github.com/Delahayecarry/Zero2LLM.git
# 进入项目目录
cd Zero2LLM
# 安装依赖
pip install -r requirements.txt
# 开始学习Zero2LLM/
├── Attention/ # 基础 Attention 实现
├── NanoGPT/ # NanoGPT 实现
├── moe/ # Mixture of Experts 实现
├── mla/ # Multi Latent Attention 实现
└── zero2llm_all/ # 完整项目实现(MQA/MoE,RoPE..)
├── model/ # 模型相关代码
├── tokenizer/ # tokenizer 相关文件
├── wandb/ # Weights & Biases 工作流和监控
├── datasets.py # 数据集处理
└── README.md # 详细说明文档
- 🚀 高效的 Transformer 架构实现
- 🎯 支持 MoE (Mixture of Experts) 结构
- 💡 实现了 Flash Attention 优化
- 🔄 支持 RoPE (Rotary Position Embedding) 位置编码
- 📦 模块化设计,易于扩展
- 🔥 支持三种训练模式:预训练(Pretrain)、监督微调(SFT)、人类偏好对齐(DPO)
- 💾 支持梯度累积和混合精度训练
- 📊 内置 Weights & Biases 实验追踪与可视化
- 🔄 支持流式推理输出
- 🎯 支持自动化超参数优化
- 🛠 完整的自动化工作流支持(setup -> sweep -> train -> evaluate -> analyze -> deploy)
- 📊 自动化超参数搜索和优化
- 📈 训练过程监控和分析
- 💾 智能检查点管理
- 📝 详细的实验记录和分析
- ⚡ Flash Attention 加速
- 🎯 混合精度训练
- 💡 梯度累积
- 🔄 分布式训练支持
# 预训练模式
python pretrain_sft_lora.py --mode pretrain --batch_size 32 --epochs 1
# 监督微调模式
python pretrain_sft_lora.py --mode sft --batch_size 16 --epochs 1
# 人类偏好对齐模式
python pretrain_sft_lora.py --mode dpo --batch_size 8 --epochs 2# 完整工作流(预训练模式)
python wandb/workflow.py --mode pretrain --project test_project --output_dir ./test_output --all
# 完整工作流(SFT模式)- 使用自定义数据和预训练模型
python wandb/workflow.py --mode sft --project test_project_sft --output_dir ./test_output_sft --all \
--data_path ./dataset/sft_data.jsonl \
--pretrained_model_path ./out/best.pt# 启动超参数搜索
python wandb/run_sweep.py --config sweep_config.yaml --count 5 --mode pretrain每个子模块都包含详细的说明文档:
我们欢迎所有形式的贡献,包括但不限于:
- 提交 Bug 报告
- 改进文档
- 提供新的示例
- 优化代码实现
本项目采用 MIT 许可证 - 详见 LICENSE 文件
感谢所有为本项目做出贡献的开发者和研究者。
⭐️ 如果这个项目对你有帮助,欢迎点击 Star 支持!
