datawhalechina/happy-llm · 上手攻略
- 仓库:datawhalechina/happy-llm
- 链接:https://github.com/datawhalechina/happy-llm
- 分类:ai
- 作者:Jay
- 更新:2026-07-13
这是什么
Happy-LLM 是 Datawhale 团队推出的系统性大模型学习教程,定位介于"科普"和"科研"之间,目标是授之以鱼,更授之以渔。它从 NLP 基本研究方法讲起,沿着 LLM 的思路和原理逐层深入,最终带领读者用 PyTorch 从零实现一个 LLaMA2 模型,并完成预训练、有监督微调(SFT)和 LoRA/QLoRA 高效微调的全流程。
与其姐妹项目 self-llm(侧重模型使用和 API 调用)不同,Happy-LLM 侧重模型本身的原理和训练过程,适合想深入理解 LLM 内部机制的学习者。
解决什么问题
- 想系统学习 LLM 原理,但没有体系化、资源分散
- 看论文太艰深,单纯跑 demo 又只知其然不知其所以然
- 想自己训练/微调一个模型,不知道从哪入手
- 需要一份中文的、理论与实战兼备的 LLM 教程
快速安装(本地学习环境)
本项目不依赖特定的 Python 包安装,教程以 Markdown 形式呈现,代码分散在各章节。如需复现代码,建议按章节创建独立虚拟环境。
推荐环境准备
# 使用 conda 创建独立环境(以第5章为例,需要 PyTorch)
conda create -n happy-llm-ch5 python=3.10
conda activate happy-llm-ch5
# 安装 PyTorch(CUDA 11.8 示例,视显卡选择版本)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 章节依赖安装(不同章节按需安装)
pip install transformers peft datasets accelerate
PDF 版下载(离线阅读)
如不想 clone 全仓库,可直接下载 PDF:
https://github.com/datawhalechina/happy-llm/releases/tag/v1.0.2
⚠️ PDF 中已预置 Datawhale 开源标志水印,不影响阅读,为防止营销号去水印贩卖。
PPT 课件下载
配套教学 PPT 可从以下地址获取:
# GitLink
https://gitlink.org.cn/datawhalechina/happy-llm
# 或 GitHub Releases 页面
https://github.com/datawhalechina/happy-llm/releases
在线阅读
项目自带 GitHub Pages 部署,直接访问:
https://datawhalechina.github.io/happy-llm/
核心用法(学习路径)
第一步:了解章节依赖
在开始前,必读 学习与环境准备,了解各章节的前置依赖和硬件建议。不同章节建议使用独立 Python 环境,以减少版本冲突。
第二步:按需选择学习路径
基础知识路线(第 1-4 章) - 第 1 章:NLP 基础概念(适合非 NLP 背景快速入门) - 第 2 章:Transformer 架构(原理 + PyTorch 从头实现) - 第 3 章:预训练语言模型(Encoder-only / Encoder-Decoder / Decoder-only) - 第 4 章:大语言模型(定义、训练策略、涌现能力分析)
实战路线(第 5-7 章) - 第 5 章:亲手搭建 LLaMA2,实现 Tokenizer 训练和小型 LLM 预训练 - 第 6 章:基于 Transformers 框架的完整训练流程(SFT / LoRA / QLoRA) - 第 7 章:模型评测、RAG、Agent 智能体应用
第三步:动手复现(以第 5 章为例)
# 克隆仓库
git clone https://github.com/datawhalechina/happy-llm.git
cd happy-llm/docs/chapter5
# 阅读第五章正文:第五章 动手搭建大模型.md
# 按文档指引运行代码
第 5 章提供了一个从零实现 LLaMA2 的完整示例,包含: - Transformer 架构实现(Attention、FFN、LayerNorm 等) - Tokenizer 训练脚本 - 预训练脚本(小型 215M 模型) - 有监督微调(SFT)脚本
配套模型下载(ModelScope)
Datawhale 提供了第 5 章训练好的两个小型模型,可直接在 ModelScope 下载体验:
| 模型 | 链接 |
|---|---|
| Happy-LLM-Chapter5-Base-215M | https://www.modelscope.cn/models/kmno4zx/happy-llm-215M-base |
| Happy-LLM-Chapter5-SFT-215M | https://www.modelscope.cn/models/kmno4zx/happy-llm-215M-sft |
ModelScope 创空间体验地址:https://www.modelscope.cn/studios/kmno4zx/happy_llm_215M_sft
典型适用场景
- 系统学习 LLM 原理——理工科研究生、工程师,想从理论到实现完整掌握
- 准备 AI 相关面试——第 2-4 章涵盖 Transformer、注意力机制、LLM 训练等高频面试题
- 动手训练自己的小模型——第 5-6 章提供完整代码和实践指导
- 教学或开源贡献——PDF/PPT 可直接用于课堂,Extra Chapter 接受社区 PR
坑与注意
- 环境隔离很重要:不同章节依赖差异较大(如第 2 章只需要 PyTorch,第 6 章需要 Transformers/PEFT),强烈建议按章节使用独立 conda 环境
- 硬件要求:完整复现第 5-6 章训练代码建议有 GPU(显存 8GB+),纯 CPU 可跑小模型但极慢;具体硬件建议见 学习与环境准备.md
- Kuzu 后端已废弃:第 3 章使用 Kuzu 的同学注意,Kuzu upstream 已不再维护,项目已标记废弃,新项目建议用 Neo4j 或 FalkorDB
- Extra Chapter 是增量内容:不是主教程的一部分,质量参差不齐,作为补充阅读即可
- PDF 版本可能滞后:主分支更新较快,PDF 为 release 时打包,可能与最新内容有差异
与同类对比
| 教程 | 侧重点 | 语言 | 代码量 | 适合人群 |
|---|---|---|---|---|
| Happy-LLM | 原理 + 从零实现 LLaMA2 | 中文 | 大量(分章节) | 想深入原理、动手训练的人 |
| self-llm | 模型使用、API 调用 | 中文 | 中等(notebook) | 快速上手各种开源模型 |
| CS224N(斯坦福) | 学术 NLP 体系 | 英文 | 作业驱动 | 想要学术深度的学生 |
| FastAI / HuggingFace Course | 快速应用 | 中英均有 | 较少 | 只想用模型不想看原理 |
Happy-LLM 的独特价值在于中文 + 从零实现 + 完整训练流程,这是市面上同类中文教程中少见的组合。
一句话结论
想系统、深入、中文地学透大模型原理并亲手训练一个属于自己的 LLM,Happy-LLM 是目前中文开源社区最完整的路线图型教程。