无尘阁日记

无尘阁日记

百页大模型原理:一百页给你手感,给不了你推导
silcano

微信读书《百页大模型原理》· 抓取 295 屏 / 6 章 / 65 条目录 · 读到书尾,用时 390.0 秒
逐字核对 11 屏 · p0006 为译者序首页(页顶书名条核对为「百页大模型原理」,与目录名一致;序中提到英文原版为 The Hundred-Page Language Models Book,作者 Andriy Burkov)· 2026-11-11
抽样点位的选法:这是一本「从零实现」型的书,骨架是「概念 → 公式 → 代码」,六章走一圈。所以我不按目录顺序读,而是按四条线抽:第一条是它最基础的兑换点——线性模型与神经网络的分界(p0028 线性函数的权重与偏差、p0045 神经网络为何不是线性叠加);第二条是它最典型的「讲清楚」样本(p0080 softmax 三分类手算);第三条是它最典型的「只给结果」样本(p0150 ElmanRNN 整屏代码、p0190 RoPE 的三对旋转结果);第四条是它离现实最近的地方(p0230 多卡微调的成本、p0265 LoRA 实验数字、p0272 长上下文的误差累积、p0278 幻觉与 RAG、p0289 高级推理与安全)。重点压在三个问题上:一是「百页」这个承诺,砍掉的到底是什么;二是它真正的读者门槛在哪;三是这些省略在 2026 年还成不成立。抽读 11 屏约占 3.7%;各章屏数由 pages.jsonl 逐页章节映射做全量聚合。

先给结论:这是一本把「能跑」排在「能懂」前面的书,而且它自己知道这一点。

295 屏,六章,65 条目录。译者序里有一段话说得很坦白:

「其英文原版 The Hundred-Page Language Models Book 虽仅百页,却因内容专业精练,成为无数 AI 学习者推崇的『封神级』入门佳作……本书把实际业务问题和技术原理有机地融合在一起。每个知识点都采用『原理+案例』的形式展开;在阐述计算过程时,总能借助贴切的类比或图像化的方式拆解核心逻辑。更难能可贵的是,书中还提供了完整的可运行的 Python 代码。」

这段话里有两个词值得盯住——「精练」和「入门」。精练是真的。入门要打问号。

因为「精练」在一本技术书里有两种做法。一种是删废话,保留主干,读者读完能自己长出血肉;另一种是删推导,保留结论,读者读完只能记住结论。前者叫简洁,后者叫提纲。《百页大模型原理》在这两种做法之间反复横跳,而且横跳的位置很有规律:凡是能用代码表达的,它做得极好;凡是必须用连续推导表达的,它一律省掉。

这个规律一旦看清楚,三百页的读法就变了。它不是一本「读完就懂大模型」的书,它是一本「照着敲完就有手感」的书。手感和理解,是两件事。

一、先说它做对的三件事,这三件很多书做不到

批评之前得把公道话讲完,否则不公道。

第一件,它肯在最基础的地方停下来对齐术语。p0028 讲线性函数,先给形式 f(x)=wx+b,然后专门用一整段做术语对照:w 在其他文献里叫斜率(slope)、系数(coefficient)或权重项(weight term),b 叫截距(intercept)、常数项(constant term)或偏差(bias),「在本书中,我们将 w 称为『权重』,b 称为『偏差』,因为这些术语在机器学习中被广泛使用。当含义明确时,『参数』和『权重』可以互换使用。」

这段话看着像废话,其实是全书少见的体贴。一个从 Python 转过来学机器学习的人,最先卡住的地方不是梯度下降,是「为什么同一个 w 有人叫斜率有人叫权重有人叫系数」——三本书三个叫法,看多了会怀疑自己在学三门课。作者用四行字把这个坑填了。肯做这种事的作者,通常是真的教过人的。

第二件,它用反证讲清了「神经网络为什么必须是神经网络」。p0045 是我在全书里最愿意推荐的一屏。它先说神经网络与线性模型的两个关键不同:把固定的非线性函数应用于可训练线性函数的输出;结构更复杂、层次更深,通过层次结构把多个函数组合在一起。然后它没有停在「非线性很重要」这种口号上,而是当场证了一遍:

假设 f 和 g 都是线性函数,把 g 的输出喂给 f,得到一个复合函数。因为 f、g 里的系数都是常数,把 g 代进 f 之后整理一遍,结果仍然是一个「输入乘以某个常数再加某个常数」的形式——也就是说,两个线性函数叠起来还是线性的,叠一百层也是线性的。

这个证明在数学上几乎不算证明,但它解决了一个真问题:为什么「深度」本身不产生能力。很多人第一次听到「深度学习」,直觉是「层数多所以强」,p0045 用五行字把这个直觉打掉了——层数不带来非线性,激活函数才带来非线性。一本书肯在最容易被糊弄过去的地方较真,这是它的品格。

第三件,它敢说钱的事。p0230 讲多卡微调。大部分技术书写到「模型并行」就开始介绍 FSDP、介绍分片(sharding),讲完就翻页了。这本书多写了一句:「对小组织或个人来说,租用多 GPU 服务器进行大模型微调的成本太高了。根据模型大小和训练数据集的不同,训练过程可能持续数小时到数周不等,计算需求会产生高昂的成本。」

然后它给了替代方案:商业大模型服务提供商根据训练数据中的词元数量收费,用各种技术降低成本,并指明可以去书的维基页面找最新的按词元收费的微调服务列表。

这一段的价值观比技术含量更值钱。它承认了一件事:绝大多数读者永远不会自己预训练一个模型,也微调不起。既然这样,书就不该假装每个读者都会在八张 A100 上跑一遍。承认资源约束,然后给出在约束下的路径——这是工程师的写法,不是学者的写法。

二、百页的算法:砍掉的是推导,留下的是代码

现在说代价。我把 295 屏按章做了全量聚合,这是全书最诚实的一张体检表:

前置部分 20 屏(6.8%)——版权信息 2 屏、版权声明 2 屏、译者序 2 屏、序 3 屏、致谢 2 屏、联系我们 2 屏。第 1 章机器学习基础 51 屏(17.3%)。第 2 章语言建模基础 71 屏(24.1%)。第 3 章循环神经网络 29 屏(9.8%)。第 4 章 Transformer 架构 45 屏(15.3%)。第 5 章大模型 69 屏(23.4%)。第 6 章拓展阅读 10 屏(3.4%)。

这张表里有两个数字需要解释,因为它们决定了这本书的性格。

第一个:第 2 章 71 屏,是全书最厚的一章,比 Transformer 那章还厚 26 屏。第 2 章讲什么?词袋模型、词嵌入、字节对编码、语言模型、统计语言模型、评估大模型。三个小节讲分词和词向量,两个小节讲语言模型与评估。这个配比在今天看是反常的——2026 年讲大模型的书,很少会把近四分之一篇幅给「词袋 + BPE」。

但我认为这个反常是对的。因为普通人读大模型的书,最容易被跳过的恰恰是这一步。大家急着看注意力机制、看 RLHF、看 Agent,然后发现读不懂,因为不知道 token 是什么、不知道 embedding 为什么能表达语义、不知道 BPE 为什么要把一个词切成好几块。这本书把最不性感的部分做到最厚,等于替读者把地基浇了一遍。这是它的良心。

第二个:第 6 章只有 10 屏,占 3.4%。这 10 屏里装了什么?模型合并、模型压缩、高级推理、大模型安全、防止过拟合、结束语,五个技术主题加一段告别。平均每个主题两屏。

10 屏,是这本书最贵的省略。因为这一章列的五个词,恰好是 2024 年到 2026 年整个行业最热的五件事。模型合并支撑了开源社区一半的「新模型」;模型压缩决定了端侧能不能跑;高级推理是 o1 之后所有模型的卖点;安全是所有企业落地的第一道门;过拟合是每个自己训模型的人的第一个坑。

而这本书对这五件事的处理方式是:各给一段定义。后面我会具体拆 6.5 和 6.6 那两屏,这里先说结论——第 6 章不是「拓展阅读」,是「索引」。它告诉你这五件事存在,然后就没有然后了。

所以「百页」这个承诺的真实结构是:前五章 265 屏认认真真教你怎么从零搭一个能跑的小模型,最后 10 屏告诉你世界上还有别的东西。它不是把大模型讲薄了,它是把「大模型之外」讲没了。

三、它真正的门槛不是数学,是 PyTorch

书名叫「原理」,读者默认的门槛是数学。我读完的结论相反:这本书对数学的要求不算高,对 PyTorch 的要求很高,而且它没有明说。

p0150 是典型样本。这一屏几乎整屏都是代码,讲的是定义一个两层的 Elman 循环神经网络:

类名 ElmanRNN 继承 nn.Module;构造函数里先设 self.emb_dim、self.num_layers,然后用 nn.ModuleList 装一组 ElmanRNNUnit,个数等于层数。forward 里先取 x 的三个维度 batch_size、seq_len、emb_dim,然后 h_prev 用一个 torch.zeros 初始化成 (batch_size, emb_dim),注意还带了 device=x.device;接着遍历层,每层先建一个空的 outputs 列表,再遍历 seq_len 个时间步,每一步把当前时间步的输入喂进这一层的单元,拿到 h_new,然后把这层的隐藏状态更新为 h_new,把 h_new 当作下一层的输入,最后把输出收集起来;循环结束后用 torch.stack(outputs, dim=1) 把列表堆成一个张量返回。

代码本身写得很干净,注释还标了圈号①②③,正文顺着圈号讲每一步——这个设计用心了,比把注释塞在代码块里强。但问题在于:这段代码默认你会 nn.ModuleList,默认你知道为什么隐藏状态要用 torch.zeros 而不是 torch.empty,默认你明白为什么要显式指定 device,默认你理解 torch.stack(dim=1) 和 cat 的区别。

这四件事,没有一件在正文里被解释。而它们恰恰是新手写 RNN 时最常崩的四个点:ModuleList 和普通 list 的区别(前者会被注册成子模块,后者不会,梯度会丢);zeros 和 empty 的区别(后者可能是脏数据,RNN 里会直接炸);device 不一致(CPU 和 GPU 张量相加必报错);stack 和 cat 的维度语义(前者新建一维,后者拼接现有维)。

一本书当然可以不讲这些,前提是它写清楚「需要熟悉 PyTorch」。目录里确实有「本书的目标读者」这一节,我没读到具体措辞,但从正文的实际写法看,「熟悉」这个词是不够的,得是「写过」。这不是苛责,是提醒:这本书的「零基础」是「零机器学习基础」,不是「零深度学习框架基础」。买之前先掂量一下自己会不会写 nn.Module,比读完之后骂它难,要划算。

p0190 是另一个方向的证据。这一屏讲旋转位置编码(RoPE),直接列出「旋转第 1 对的结果是」「旋转第 2 对的结果是」「旋转第 3 对的结果是」三组矩阵运算,全是公式与结果对照,中间没有任何推导过程。也就是说,在 RoPE 这里,它连「证两步」都省了,直接给答案。

我不认为这是偷懒。RoPE 的完整推导要花四五页,写进来这本书就不叫「百页」了。但这里有个诚实的边界问题:你可以省推导,但不能省「这里我省了推导」这句话。一个读者看到三组漂亮的结果矩阵,很容易误以为自己懂了,实际上他只是看到了结论的正确形式。这个误会在第 4 章会一直累积到第 5 章,然后在读位置编码相关论文时突然爆掉。

相比之下,p0080 的处理就完全不同,那也是全书我最喜欢的一屏。它讲 softmax,先给定义:「softmax 激活函数将一个向量转换成一个离散概率分布(Discrete Probability Distribution, DPD),确保所有概率之和等于 1。离散概率分布为有限集中的值分配概率,并且这些概率的总和等于 1。有限集(finite set)包含可计数的不同元素。」

然后它给了一个具体到不能再具体的例子:假设有三个对数几率,分别代表一篇文档被分类为电影、音乐或科学的概率。接着「让我们逐步计算这些概率」——先算每个对数几率的指数,再求和,再逐个相除。

三分类,三个数,三步算完。这个例子的选择是有讲究的:电影、音乐、科学,正是后面第 5 章做情感分类、做文本分类时反复出现的任务类型。作者不是随便举三个例子,他是在给后面的章节埋伏笔。

把 p0080 和 p0190 放在一起看,就是这本书的全部方法论:能用一个具体例子算给你看的,它算得极好;必须靠连续推导才能讲清的,它直接跳。这两屏之间的落差,就是「入门佳作」和「封神」之间的距离。

四、它最像工程师的地方:敢把数字写出来

p0265 是我决定认真写这篇笔记的原因。

这一屏讲 LoRA 微调的结果:用 r=16、alpha=32 对 GPT-2 做低秩适应微调,测试准确率 0.9420;作为对照,全量微调是 0.9415。然后作者自己补了一句:「这甚至比全量微调的结果 0.9415 还要高一些。当然,一般来说,低秩适应法的效果比全量微调的效果稍差一些。不过,最终结果取决于超参数选择、数据集大小、基础模型和具体任务。」

这四个数字加两句话,比很多书一整章都实在。

为什么?因为它给出了一个「反直觉但真实」的现象:LoRA 只训练了极少量参数,却在这个任务上比全量微调高了 0.0005。这个差距小到没有统计意义,但它足以打破一种常见的叙事——「低秩必然损失效果」。作者没有掩饰这个数字,也没有拿它吹 LoRA 更好,而是补了一句「一般来说会稍差」,把结论拉回到条件性的位置上。

这是技术写作里很难得的克制。大部分人写到自己喜欢的方案,会把 0.9420 标粗;写到不利的结果,会把 0.9415 挪到脚注。这本书两个都给、都平着放,然后告诉你「取决于超参数、数据、任务」。读者拿到的不是一个结论,是一个判断框架。

紧接着的 5.6 节「大模型分类器」也是个好判断。它指出了一个实际工程里经常被搞混的问题:对 GPT-2 微调做情感预测时,它并不直接当分类器用,而是「以文本的形式生成类别名称(生成式)」。这样虽然能用,但不是分类任务的最优解。更高效的方式是直接输出各类别的对数概率分布(分类式)——给预训练模型加一个带 softmax 激活函数的全连接层作为分类头,把对数概率转换成分类概率。然后在 transformers 库里,应该调 AutoModelForSequenceClassification 而不是 AutoModelForCausalLM。

这一段的价值不在知识,在止损。不知道这件事的人,会用生成式模型输出「正面」两个字,然后拿字符串匹配去算准确率,然后在标点、空格、同义词上翻车,然后花两天调提示词。知道这件事的人,一行代码换成分类头,问题消失。一本入门书能替读者省掉两天,这就是它的实际价值。

p0272 里还有一段更细的判断,讲长上下文的误差累积:在自注意力机制中,softmax 函数会被应用于多个位置来计算组合值向量的权重,随着上下文长度的增加,不准确之处会逐渐累积,模型的「注意力」可能会转移到无关的细节或之前的错误上。然后它给了工程建议:重新开始一个对话,用早期后续交互中的关键细节更新初始提示词,把相关信息整合到一个清晰简洁的起点。

这是全书唯一一处把「机制」和「操作」连起来的地方。它没有停在「长上下文会掉点」这种结论上,而是解释了为什么(softmax 在多个位置反复应用,误差累积),然后给了动作(别在一条超长对话里硬撑,重开一条,把结论搬过去)。机制—现象—动作,三步闭环。这种段落在书里太少,所以我记得很清楚。

五、第 6 章:十屏五个主题,省得最贵的地方

现在说那 10 屏。

p0289 这一屏同时装了 6.5 高级推理和 6.6 大模型安全两个小节。前者一段话里出现了 CoT(思维链)、ToT(思想树)、self-consistency(自我一致性)、ReAct、PAL(程序辅助语言)五个概念;后者一段话里出现了越狱攻击(jailbreak attack)和提示注入(prompt injection)两个概念。

原文对高级推理的表述是:「训练模型生成显式思维链(Chain-of-Thought, CoT)以进行逐步推理;配备调用外部 API 或工具的函数调用能力,突破单纯问答模式的局限性。思维链推理能够显著提升大模型在多步骤数学运算和逻辑推理等任务上的性能,而函数调用能力则允许将特定的计算任务卸载到外部框架来处理。」然后一句话带过 ToT「在思维链基础上进行了树状结构扩展,以探索多种推理路径」,self-consistency「通过聚合多个思维链的输出,综合选择最一致的答案」,ReAct「将推理与行动相结合,使模型与环境动态交互」,PAL「借助解释器(如 Python)执行代码,以确保计算的精确性」。

五个定义,每个一句,没有一个例子。

这里我要说一句公道话,也要说一句不客气的话。

公道话是:作为「拓展阅读」,这种写法没问题。索引就该是索引,你知道了 CoT 和 ToT 的区别,需要细节的时候去查论文,这是成年读者的正常路径。指望一本百页书把五个方向都讲透,本身就是不合理的期待。

不客气的话是:既然知道这五个方向讲不透,为什么还要放在「大模型原理」这本书里,而不是干脆不写?因为写了会给人一种「覆盖到了」的错觉。一个读者读完第 6 章,会觉得自己知道了高级推理的五个方法;实际上他知道的是五个名词,以及它们各自一句正确的描述。这个差距在面试里会暴露——被问到「ReAct 和 CoT 有什么本质区别」时,一句「ReAct 把推理和行动结合」是不够的,你需要知道 ReAct 的循环结构长什么样、为什么它需要外部环境的反馈信号、它和函数调用是什么关系。

6.6 安全那两段也是如此。它准确地点出了两个攻击面:越狱攻击通过精心构造的特定输入绕过模型的安全控制,利用角色扮演或假设场景诱导模型生成受限内容;提示注入则是操控系统提示与用户输入相结合,攻击者借此改变应用程序的行为。这两个定义都是对的,而且比很多安全科普准确——它明确区分了「绕过模型自身策略」和「篡改应用层指令」这两件不同的事。

但接下来就没了。没有防御清单,没有评测方法,没有「什么样的系统提示最容易被注入」这种经验。安全这个领域,定义只占 5%,剩下的 95% 是攻防实践和评测集。给 5% 而不给另外 95%,读者会误以为安全是一个「注意一下就行」的问题。

所以第 6 章的 10 屏,我不觉得它是「拓展阅读」,我觉得它是一张被误装成正文的目录。它的正确用法是:读完前五章,把第 6 章当成一张「接下来该学什么」的清单,然后去别的地方学。如果读者把它当成知识,就会在这里形成一个虚假的完成感。

六、幻觉那一节,作者自己演示了一遍

p0278 是全书最有意思的一屏,因为它做了一个别的书不会做的动作:用自己书里的例子,演示了幻觉有多离谱。

前面讲幻觉的成因,作者举了一个例子:有人让大模型解释「区块链量子神经网络」,大模型生成了两页内容来解释它,包括对其工作原理的详细描述——而「区块链量子神经网络」并不是一个真实的概念,这完全是编造的。

这个例子的狠处在于:它不是「模型算错了 2+2」,而是「模型为一个不存在的东西,写出了一份看起来专业的说明书」。两页。有结构,有术语,有因果链。这正是幻觉最危险的地方——错误不是以错误的面目出现的,是以专家的面目出现的。

然后它给了三条成因:低质量的训练数据集(模型在预训练时同时接触准确与不准确的信息,它不加区分地学习了所有这些内容,但缺乏辨别真伪的能力);逐词元生成导致的误差累积(一次生成一个词元,前面词元的错误会层层累积,导致输出结果越来越不准确);以及上下文层面的注意力漂移(这一点在 p0272 讲长上下文时已经说过)。

三条成因里,第一条的表述是全书最准确的一句技术判断:「它不加区分地学习了所有这些内容,但缺乏辨别真伪的能力。」这句话把幻觉的性质讲清楚了——不是模型在骗人,是模型没有「真」这个概念。它在做的是下一个词元的概率预测,而「真」不是它优化的目标。

然后是 5.8.2「减少幻觉」。作者给的方案是:要求模型基于已验证的信息生成回复,可以在提示词中直接包含相关的事实上下文,例如提供具体的文档或数据供模型参考,并指示模型仅根据提供的信息回答问题。这个方法叫检索增强生成(RAG),「它将模型的输出限制在可验证的事实之上」。

到这里,问题来了:全节只给了 RAG 一条路。

RAG 当然是最重要的一条,但它不是唯一一条。降温采样、约束解码、让模型输出置信度或说「不知道」、用另一个模型做验证器、把关键数字交给工具算而不是让模型生成——这些在 2025 年之后的工程实践里都是常规手段。这本书一条都没提。

更值得注意的是,它自己在 p0272 讲代码生成时明明提到过「PAL 模型则借助解释器(如 Python)执行代码,以确保计算的精确性」——这就是「把计算外包给工具」的思路。这个思路在 6.5 出现过,却没有被回收进 5.8 的幻觉解法里。章节之间没有打通,这是结构问题,不是篇幅问题。

一本讲原理的书,在幻觉这一节的处理上,暴露了它最根本的取向:它把幻觉当成一个「提示词工程能解决」的问题,而不是一个「模型能力边界」的问题。前者是 2023 年的认知,后者是 2026 年的认知。这一节如果放到三年前,是合格甚至优秀的;放到今天,它少了一半。

《百页大模型原理》知识图谱
四列读法:立得住(线性叠加仍是线性、softmax 手算三分类、代码与正文对号)· 真门槛(第 2 章吃 71 屏、默认你会 PyTorch、公式只给两步)· 十屏五题(第 6 章只剩 10 屏、高级推理一整段、安全两页讲完)· 短板(幻觉只给一条解、LoRA 单个数字、中文与合规缺席)

七、它的短板

该说的不客气话,集中放在这里。

第一,「百页」这个体裁,把最需要耐心的部分砍掉了。全书的取舍逻辑是:概念给满,公式给结果,代码给完整。这三条里,第二条最伤。p0190 的 RoPE 直接列三组旋转结果,p0080 的 softmax 给了三步计算(这一步做得对),但整体上,凡是需要连续三页以上推导的内容,都被压成了一屏结论。结果是:读者能复述,不能重建。能复述的人和能重建的人,隔着一整个调试期。

第二,第 6 章 10 屏是全书最严重的结构失衡。前五章 265 屏教你怎么搭一个小模型,最后 10 屏告诉你行业在干什么。3.4% 的篇幅承载了 100% 的「当下性」。这本书的时效性全部押在这 10 屏上,而这 10 屏恰恰是最薄的。这不是作者的疏忽,是「百页」这个形式的必然——但读者应该知道代价付在了哪里。

第三,实验只有单点,没有方差。p0265 那个 0.9420 对 0.9415,是一次实验的两个数字。差 0.0005,在大多数任务上完全落在随机种子带来的波动范围内。作者自己也说「最终结果取决于超参数选择、数据集大小、基础模型和具体任务」——这句话是对的,但它同时说明:这个比较本身不足以支撑任何结论。更严谨的写法是给三次运行的平均值与波动范围,或者干脆不给数字只给趋势。给一个单点数字,容易被读者当成结论记走。

第四,全部按英文语境写,中文本地化零覆盖。我逐字读过的 11 屏里,语料、分词、评估、合规,全部默认英文。BPE 讲的是英文子词切分,词嵌入的例子是英文语义,代码生成的讨论围绕 Stack Overflow,版权与伦理那节(5.9)也是通用论述。一个中国读者读完之后,会发现自己仍然不知道中文分词怎么处理、中文语料从哪来、国内合规要求是什么。这些不是「进阶内容」,这是本地读者的第一道现实问题。

第五,它没有告诉你哪些内容会过期。一本这样的技术书,最该有的是「时效声明」:哪些章节三年后仍然成立(softmax、反向传播、注意力机制),哪些章节两年后就会过时(具体模型名、具体工具库、具体价格)。这本书没有做这个区分,第 6 章那五个主题恰恰是最容易过期的部分,却被放在了最像「前沿」的位置。读者很容易把最容易过期的内容,当成最该记住的内容。

那这本书该给谁读?我的判断很明确:

给「会写 Python、想搞明白大模型内部到底怎么转」的工程师读,不给「想学会用大模型」的人读。

如果你是前者,这本书值。它用 265 屏把你从线性回归带到能跑通一个小型 Transformer,路径干净,代码能跑,术语统一,还顺手帮你把「多卡微调很贵」这种现实问题说清楚。你读完之后不一定能自己训模型,但读论文时不会再被 token、embedding、attention head、KV cache 这些词绊住。这个价值是真的。

如果你是后者,这本书会让你产生一种危险的错觉:你以为自己懂了,其实你只是认识了一批名词。你更需要的是提示词工程、RAG 搭建、评估方法——这些恰好是这本书着墨最少的地方。

还有一个提醒,关于读法。这本书不能用「读」的方式读,得用「敲」的方式读。它的正文是代码的解释,不是知识的叙述。你如果只读不敲,295 屏读完,收获约等于一份术语表;你如果开着 Jupyter 一屏一屏跟着跑,收获会翻很多倍,因为 p0150 那种代码里藏着的四个坑(ModuleList、zeros、device、stack),只有自己踩一遍才知道作者为什么那么写。

一句话:一百页给你的是手感,不是推导;它教你怎么把轮子造出来,但没教你为什么轮子必须是圆的。

阅读记录:抓取 295 屏、6 章、65 条目录,读到书尾,用时 390.0 秒;逐字核对 11 屏 · p0006(译者序首页:英文原版 The Hundred-Page Language Models Book,作者 Andriy Burkov,中译本采用小巧开本;页顶书名条为「百页大模型原理」)· p0028(线性函数 f(x)=wx+b,w/b 的术语对照:斜率-系数-权重项、截距-常数项-偏差;图 1-3 示例 y=2/3x+1)· p0045(1.5 神经网络:与线性模型的两个关键不同——固定的非线性函数作用于可训练线性函数的输出、层次结构组合多个函数;反证线性函数复合仍是线性)· p0080(softmax 将向量转为离散概率分布 DPD;有限集定义;电影/音乐/科学三分类逐步手算)· p0150(ElmanRNN 两层实现:nn.ModuleList 装 ElmanRNNUnit,forward 中 h_prev=torch.zeros(batch,emb_dim,device=x.device),逐层逐时间步更新隐藏状态,torch.stack(outputs,dim=1);注释标号①②③与正文对应)· p0190(旋转位置编码:旋转第 1/2/3 对的三组结果矩阵,无中间推导)· p0230(模型并行与 FSDP 全分片数据并行;直陈个人租用多 GPU 微调成本过高;商业服务按训练数据词元数量计费;附维基页面指引)· p0265(LoRA r=16、alpha=32 微调 GPT-2 测试准确率 0.9420,全量微调 0.9415;作者补注低秩适应一般略差、结果取决于超参数与数据;5.6 大模型分类器:生成式 vs 分类头,AutoModelForSequenceClassification 对 AutoModelForCausalLM)· p0272(5.7.3 代码生成:开源代码预训练、注释与 Stack Overflow 的作用、监督微调;长上下文下 softmax 多处应用导致误差累积、注意力转向无关细节,建议重开对话搬结论)· p0278(幻觉:以「区块链量子神经网络」这一不存在的概念生成两页解释为例;三条成因:低质量训练数据缺乏真伪辨别、逐词元生成误差累积;5.8.2 减少幻觉仅给 RAG 一条路径)· p0289(6.5 高级推理:CoT/ToT/self-consistency/ReAct/PAL 各一句;6.6 大模型安全:越狱攻击与提示注入的定义区分)
说明:各章屏数由 pages.jsonl 逐页章节映射全量聚合(前置 20 屏 6.8%、第 1 章 51 屏 17.3%、第 2 章 71 屏 24.1%、第 3 章 29 屏 9.8%、第 4 章 45 屏 15.3%、第 5 章 69 屏 23.4%、第 6 章 10 屏 3.4%,合计 295 屏);「65 条目录」按 meta.json 章节列表计;「抽读 11 屏约占 3.7%」按 11/295 计算;第 6 章仅 10 屏这一数据支撑了「十屏五题」的判断 · 笔记与图谱生成于 2026-11-11
关于作者 · 江天(楠哥)
AI 实战导师 / 企业 AI 落地顾问 / 智能体工程师,17 年跨界、15,000+ 小时 AI 实操、20+ 套已交付工作流。 看完整履历海报 → skills 实验室 →