📍 你在这里 训练进阶 · 第 9 篇 / 共 9 篇

← 上一篇 精读 self-llm:第一次把开源大模型跑在自己电脑上

本文性质:开源教程精读与导读,非原文转载。内容基于 Datawhale 社区开源教程整理,属于个人学习笔记。

原文来源:《Happy-LLM:从零开始构建大模型》 — Datawhale 社区(happy-llm 仓库)

许可证:CC BY-NC-SA 4.0 | 原文版权归原作者及 Datawhale 社区所有

本站「开源教程精读」系列已经发了两篇:精读 So-Large-LM 讲理论,回答大模型凭什么具备通用能力;精读 self-llm 讲使用,回答怎么把一个开源模型在自己电脑上跑起来。第三个项目 Happy-LLM 补的是中间最缺的一环:从零把一个大模型亲手搭出来、训练一遍。

它为什么存在

Datawhale 在前言里讲得很清楚:写完 self-llm 之后,不少学习者「意犹未尽」,想知道模型内部到底怎么工作,而当时市面上缺一个从零讲原理、又引导你亲手搭建和训练的完整教程。于是有了 Happy-LLM——self-llm 回答「怎么用」,Happy-LLM 回答「怎么造」。

全书 8 章,分两大部分:

  • 第 1–4 章 基础知识:第 1 章 NLP 基础概念与任务全景;第 2 章 Transformer 架构,附代码实现;第 3 章 预训练语言模型的三种架构对比;第 4 章 正式进入大模型,讲特点、能力与训练过程。
  • 第 5–7 章 实战应用:第 5 章基于 PyTorch 手写一个 LLaMA2,含 Tokenizer 训练和预训练;第 6 章用主流框架 Transformers 走通预训练、有监督微调和 LoRA/QLoRA;第 7 章讲应用,覆盖评测、RAG、智能体。
  • 第 8 章 强化学习:GRPO、搜索强化等当前主流对齐方法的实战。

前两章精读:它怎么把地基打牢

第 1 章对非 NLP 背景的读者最友好。它先把任务列全——分词、词性标注、文本分类、实体识别、摘要、翻译、问答——再讲文本表示怎么一路演进过来。里面有个例子很能说明问题:用独热编码表示「雍和宫的荷花很美」,16384 个维度里只有 5 个是 1,稀疏率 99.97%。这种表示既浪费又学不到词与词的关系,后面出现的词向量、Word2Vec、ELMo 都是在修这个毛病。站内 文本向量化 从工程角度讲过同一件事,Happy-LLM 则把这段历史完整走了一遍。

第 2 章是全书最重要的理论章,推进路线是:注意力机制 → 自注意力 → 掩码自注意力(配上用三角矩阵遮蔽未来信息的代码)→ 多头注意力 → Encoder-Decoder → 最后动手搭一个完整的 Transformer,Embedding、位置编码一步步来。站内 深度学习 讲过卷积网络,读到这一章,你才算正面遇上了大模型的骨架。

为什么把它放在学习路线的最后

因为它几乎把本站前面的单点文章串成了一条线:自然语言处理 对应第 1 章,检索增强生成 RAG 和智能体对应第 7 章,大模型微调基础 对应第 6 章。读完路线图上的单点文章,再跟着它从头到尾走一遍,等于一次毕业考核——查漏补缺,还能落下一个自己训练过的模型。

原文阅读建议

先读仓库里的《学习与环境准备》,它讲清了分章依赖和硬件要求,包括「没有多卡 GPU 能不能学第六章」这类实际问题。第 1–4 章可以快读,重点是第 2 章;第 5 章是全书灵魂,建议逐行跑代码;第 6、8 章需要 GPU,条件不够的读者可以先读原理、日后补实践。在线阅读地址在 datawhalechina.github.io/happy-llm。

最后提醒一句:happy-llm 采用 CC BY-NC-SA 4.0 许可证,禁止商用、衍生内容需同协议分享。本站据此不挂广告、不做付费,并以相同协议标注引用。后面几章(手写 LLaMA2、训练实践、强化学习)我会陆续整理成精读笔记发布。

— 感谢阅读 —

一起交流

分享你的思考,让讨论更进一步。