happy-llm
由 Datawhale 出品的系统性大模型学习教程,从 NLP 基础到 LLaMA2 搭建、训练、微
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
由 Datawhale 出品的系统性大模型学习教程,从 NLP 基础到 LLaMA2 搭建、训练、微
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Star History 增长曲线

2024 年,大模型浪潮席卷整个科技行业。当 ChatGPT、Claude、Kimi 等产品一次次刷新人们对 AI 边界认知的时候,无数开发者和学生却在学习路径上遭遇了相似的困境:资料太多、太杂、太碎片化。
网上关于 LLM 的教程多如牛毛:有人讲 Transformer 架构只丢出一张图片,有人讲预训练只贴出公式不配代码,有人讲微调直接甩出一堆命令行参数却不解释原理。初学者往往花大量时间拼凑知识点,却始终无法在脑海中形成一套完整的认知体系。更糟糕的是,许多教程面向的读者要么是博士研究生,要么是有多年 ML 经验的工程师,对于那些刚刚入门、想要系统性学习的普通人,并不存在一条平缓的学习阶梯。
Happy-LLM 正是为解决这一痛点而生。 由国内知名 AI 学习社区 Datawhale 主导开发,这个项目从 2025 年正式发布,迅速在 GitHub 上获得超过 3 万颗星,被社区称为"最完整、最系统的大模型学习路径"。它不是一篇博客,不是一段视频,而是一本可以动手操作的交互式教科书,带领读者从 NLP 的第一性原理出发,一路抵达 RAG、Agent 等前沿应用。
要理解 Happy-LLM 的定位,必须先了解它的"娘家"——Datawhale。
Datawhale 是国内最活跃的开源 AI 学习社区之一,由一群高校学生和研究人员于 2019 年发起。它的核心理念是"Learning by Doing, Teaching by Sharing"——边学边做,边教边分享。Datawhale 的运营模式独树一帜:不靠融资,不做培训收费,所有课程和资料全部开源,通过 GitHub 共创来持续迭代。这种模式使得 Datawhale 积累了大量高质量的第一手学习资料,涵盖了从传统机器学习到深度学习、从计算机视觉到自然语言处理的各个方向。
在此之前,Datawhale 已经推出了 self-llm(大模型食用指南),帮助无数开发者快速上手各种开源大模型。但 self-llm 的定位更偏向"工具使用手册"——教你怎么跑模型、怎么微调、怎么部署。当读者学完 self-llm,想要更进一步探究"大模型为什么会 work"、"Transformer 为什么有效"、"预训练到底在做什么"的时候,却发现没有合适的资料。
于是 Happy-LLM 诞生了。如果说 self-llm 是"教你用大模型",Happy-LLM 就是"教你造大模型"。两个项目形成互补,构成了 Datawhale 在 LLM 领域的完整学习矩阵。
如果说 LLM 是一座摩天大楼,那么 Happy-LLM 就是一份从打地基开始的完整建筑手册,不仅告诉你每层楼怎么盖,还手把手教你调配混凝土、绑扎钢筋。
具体来说,Happy-LLM 将大模型的学习拆分为七个章节,每章对应大楼的一个关键部分:
读者不需要一次性学完全部内容——可以从任意章节切入,按需学习。整本书的设计逻辑是从原理到实践、从理论到代码、从单点到体系。
第五章是 Happy-LLM 最有技术含量的部分。作者没有选择直接调用 HuggingFace 的 AutoModel,而是用 PyTorch 从底层实现了 LLaMA2 的核心组件:
这部分的代码实现路径为 docs/chapter5/code/k_model.py,配合对应的 Markdown 文档,每一行代码都有详细的中文注释。
第六章提供了三个层次的训练实践:
ddp_pretrain.py 脚本,通过分布式数据并行(DDP)在多卡上训练 LLaMA2。配置参考 ds_config_zero2.json(DeepSpeed Zero-2 配置)。ddp_sft_full.py,在预训练模型基础上用指令数据集微调。配套 finetune.sh 脚本方便一键启动。所有训练代码都提供了 Jupyter Notebook 版本(.ipynb),读者可以在本地或云端环境(如 AutoDL)逐步运行,观察每个步骤的输出。
第七章的 Agent 模块展示了如何基于 LLM 构建一个工具调用型智能体。代码中定义了 Agent 类,通过传入 OpenAI 兼容的 API(如 SiliconFlow):
agent = Agent(
client=client,
model="Qwen/Qwen2.5-32B-Instruct",
tools=[get_current_datetime, search_wikipedia, get_current_temperature],
)
RAG 模块则演示了完整的检索增强生成流程:从文本切分(ReadFiles)、向量化(OpenAIEmbedding)、向量存储(VectorStore)到最终的问题回答。
Happy-LLM 不仅教理论,还提供了可直接使用的预训练模型:
| 模型 | 参数量 | 下载地址 |
|---|---|---|
| Happy-LLM-Chapter5-Base-215M | 215M | ModelScope |
| Happy-LLM-Chapter5-SFT-215M | 215M | ModelScope |
配套工具包括:PDF 教程下载(开源免费,带 Datawhale 水印防止营销号倒卖)、教学 PPT 下载、以及 SwanLab 在线实验追踪。
| 维度 | 说明 |
|---|---|
| 阅读门槛 | 极低:有 Markdown 阅读器即可,无技术背景也能理解前四章的原理部分 |
| 代码门槛 | 中等:需要 Python 基础 + 基本的深度学习概念(tensors、loss、optimizer) |
| 硬件门槛 | 可选:纯阅读无需 GPU;运行训练代码推荐 NVIDIA 显卡(QLoRA 约需 8GB 显存) |
| 环境配置 | 各章节独立虚拟环境,建议先读 docs/学习与环境准备.md |
这个分层设计使得 Happy-LLM 的受众非常广泛:AI 爱好者可以只读不做,动手型开发者可以深入代码,高阶研究者可以在 Extra Chapter 贡献专题博客。
任何项目都有其局限性,Happy-LLM 也不例外:
Happy-LLM 的出现,反映了一个重要趋势:大模型学习正在从"调用 API"向"理解原理"升级。
随着 LLM API 越来越便宜、越来越易用,单纯"会用模型"的竞争优势正在快速消退。无论是科研人员想要发表顶会论文,还是工程师想要针对特定场景微调模型,亦或是产品经理想要评估 LLM 技术的边界,"理解 LLM 内部原理"都变得越来越重要。Happy-LLM 填补的正是这个从"会用"到"懂原理"之间的鸿沟。
从 Star History 曲线来看,Happy-LLM 的增长态势非常健康,在发布后极短时间内突破 3 万星,且仍在持续增长。Extra Chapter 的存在也为社区共创提供了良好机制——任何人都可以提交 LLM 相关的学习笔记或博客,经过审核后进入官方教程体系。
总结: Happy-LLM 是一款难得的系统性 LLM 学习产品,适合每一个想要深入理解大模型原理、不满足于"调 API"层面的开发者。它不追求炫技,而是扎实、完整、循序渐进地把大模型的核心知识讲清楚。如果你想要从"会用 ChatGPT"进化到"能造一个小 LLM",Happy-LLM 是目前中文世界里最值得投入时间的起点之一。