跳到主要内容

审查 build-large-language-model — 2026-08-29

结论: ISSUES(8 条,均为局部小修;无结构性问题)

门禁实跑(本人重跑,非写手自报):

$ node scripts/book-verify.mjs build-large-language-model
build-large-language-model: 445 处出处 + 5 处书架锚,0 处对不上
book-verify: 1 本有拆解、共 445 处出处、0 处对不上
$ node scripts/book-jargon.mjs build-large-language-model
book-jargon: 1 本,共 0 处专业词没解释就用了
$ node scripts/book-jargon.mjs build-large-language-model --quota
生面孔配额:段级超额 0 处(上限 1)、节级超额 0 处(上限 5)
$ node scripts/book-dodged.mjs build-large-language-model
book-dodged: 1 本,共 0 个词被躲开(阈值:原书出现 ≥15 次)

审查过程摘要

完整性(过):对照 library/build-large-language-model/chapters.json,原书 7 正章全覆盖 (ch1→01,ch2→02,ch3→03+04,ch4→05,ch5→06+07,ch6→08,ch7→09),附录 A/D/E→10 (sourceChapters 已列)。附录 B(文献列表)属导航性质,拆解在 01/04/06/08 四处以 「书里指向附录 B」的散文提及,且抽查两处(ch01:174「see appendix B」、ch05:455 「found in appendix B」)属实。附录 C 被 05 章[^19]实际引用(见问题 8)。前置章 (preface/about this book/about the author)仅用于作者背景,恰当。

红线一(过):抽查的脚注引文均为短句或数字串,无整段搬运。

红线二(过):每章主走查可指出——01 §3.4(GPT-3 规模账)、02 §3.4–3.5(5,145 词元滑窗+嵌入查表)、 03 §3.2+§3.4(六词句注意力全程)、04 §3.1(掩码行重归一)、05 §3.3(五层网梯度对照)+§3.5(参数两笔账)、 06 §3.1(交叉熵六步)+§3.4(10 轮点火)、07 §3.1(千次抽样)、08 §3.3(一条短信全程)、 09 §3.1(第 51 条 Ocassion 全程)、10 §3.1(logistic 回归 autograd)+§3.4(LoRA 参数总账)。 每步旁有具体数/字串/状态,承重机制均落在走查上。

机制走查实算(本人重算,过):

  • 注意力:六词三维向量逐位重算,六个点积(0.9544/1.4950/1.4754/0.8434/0.7070/1.0865)全对; softmax 权重(0.1385/0.2379/0.2333/0.1240/0.1082/0.1581,合 1.0000)全对; 上下文向量 [0.4419, 0.6515, 0.5683] 逐位复算吻合。
  • 因果掩码:journey 行 [0.2041, 0.1659] 重归一 = 0.5517/0.4483 ✓。
  • 交叉熵:六个对数概率均值 -(9.50+10.38+11.37+11.48+9.78+12.26)/6 = 10.795 ≈ 10.7940 ✓; 困惑度 ln(48725)=10.794 ✓。
  • top-k:k=3 三 logits(6.75/6.28/4.51)softmax = 0.5775/0.3610/0.0615 ✓。
  • 参数账:163,009,536 − 124,412,160 = 38,597,376 = 50257×768 ✓; LoRA 768×16×2=24,576 对 589,824,24 倍 ✓。
  • BPE 一处对不上,见问题 1。

同族三书对比(本案核心判据,过):抽注意力与训练两章对比三本讲法——

  • Raschka 03/04:全程用书印真实数字(六词句、掩码矩阵、dropout 1→2),每个组件从零手写、可逐位复现;
  • Grigorov 06:SDPA 五步+4×4 掩码矩阵,数字明说「为演示编的」,重心在 GQA/滑窗/sink 三个 2025 省法;
  • 梁楠 01:「猫 追 它」三词句,数字为演示编的,重心在零件目录;训练侧(梁 11)讲 DDP 启动清单、 TensorBoard 监控、断点续训等工程守护。 「每个组件从零手写、每步印真实数字」的定位立住了;index §1.3、判断块 2、书卡 soWhat 三处 对三本分工的表述(骨架+数字实证 / 2025 新零件 / 中文广度+工程面)与两本 siblings 的实际内容核对一致; Grigorov 书 2026 版、梁楠书 2025 版,年份均对。

脚注抽查(6/6 属实)

^4
(ch07:2074 LitGPT 利益相关,上下文确认)→03[^15](ch03:710 查询向量 [0.4306,1.4551])→06[^17] (ch05:1024 生成句逐字在原文)→08[^14] (ch06:987 最后词元看全前文) →10[^30] (apx-e:660 训练100/验证96.64/测试98.00,逐字对)→05[^19](apx-c:90 前馈 4,722,432 vs 注意力 2,360,064,确认「约两倍」)。另核:10 §5 指出原书附录 E 结束语 97.33%/98.00% 自相矛盾—— 原文 662 行 98.00%、667 行 97.33%,拆解的诚实标注属实。

总纲(过):六节齐全(30 秒导读为文首引块;§1 作者/时代/利益相关;§2 主线 ①~⑪; §3 地图;§4 覆盖;§5 时代修正;§6 判断;§7 兑现表)。主线节可独立成篇,十一步每步被上一步逼出, 术语全部就地一句话解释,未搬公式与参数细节(仅④提到「上三角填负无穷」,属效果句,可接受)。 兑现表 19 行逐行到对应章核过,全部兑现(含四处「当场给锚」的行)。

判断块(过):全书 13 个判断块(index 3 + 0104、0610 各 1),13 条「如果错,会错在」齐全。

台阶抽查(过):03 §3.2、06 §3.1、08 §3.3、02 §3.3 四节首句成列通读,无跳级。

台账(过):正文无格式/许可/清洗统计;index 文末「原始文件不入库」一行属可留的背景声明。

docs-lint(参考):命中 34 处,绝大多数是脚注块「段落墙」误报(守则已声明不必改); 少数正文 5–6 行连排(08:66、09:88、10:100/134/149)为走查步骤连写,宽松期只报不拦,不列为问题。

问题清单

  1. [02-text-to-numbers.md §3.3] BPE 走查词元列表与 ID 列表对不上 — 违反红线二加强 (走查里的数必须核得上)。拆解写 "Akwirw ier" 被拆成 ["Ak","w","ir","w","ier"](5 个词元), 对应 ID 却是 [33901, 86, 343, 86, 220, 959](6 个)。原书图 2.11 (text/10-ch02-2-working-with-text-data.txt:756–765)实为 6 个词元,第 5 个是空格 " "(ID 220)。 修法:词元列表补上空格词元,写成 ["Ak","w","ir","w"," ","ier"]

  2. [09-instruction-finetuning.md §3.5] DPO 指向写错位置 — 事实性错误(与原文不符)。 「书指向附录里的 DPO 补充材料」——原文 7.9.1 指向的是配套 GitHub 仓库的 04_preference-tuning-with-dpo 文件夹(text/15-ch07-7-fine-tuning-to-follow-instructions.txt:2016–2020), 不是附录。index §4.3 与书卡 notCovered 都写对了(「补充仓库」),唯此句矛盾。 修法:「附录里的」改「配套 GitHub 仓库里的」。

  3. [08-classification-finetuning.md §4 判断块] 引语不实且不成句 — 违反诚实条款 (转述被写成引文)。「它实证了第 01 章那句『预训练把通用了,微调只做适配』」——01 章没有这句话 (01 只说「预训练出基座,再微调成工具」),且「把通用了」语法不通。 修法:去掉引号改转述,如「它实证了第 01 章的两段式分工——通用能力在预训练里,微调只做适配」。

  4. [02-text-to-numbers.md frontmatter essence] 繁体字 — 「短篇小說」应为「短篇小说」。

  5. [09-instruction-finetuning.md §5] 繁体字 — 「模型规模止於 355M」应为「止于」。

  6. [09-instruction-finetuning.md §3.1] 多余空格 — 「让模型去学『 predicting 一个补位符』」 引号内多了个空格,应为「predicting」。

  7. [index.md chapters 列表] 数字口径不一致 — 08 行写「46%→97%」,而正文 §2⑨ 与 08 章 均用测试集 95.67%(97.32% 是验证集)。同一页两个口径,读者会对不上。 修法:统一为「46%→95.67%」或注明「验证 97%」。

  8. [aiRef/sources/build-large-language-model.md] readChapters 漏列附录 C — 05 章[^19] 实际引用并依赖 appendix C—Exercise solutions(习题 4.1 答案:前馈参数约为注意力两倍), 但书卡 readChapters 只列到 A/D/E。书卡与拆解实际覆盖不一致(自检表第 9 项)。 修法:readChapters 补上 "appendix C—Exercise solutions"。

备注

  • 以上 8 条全部为局部文字/事实小修,不涉及结构、主线、走查选址或覆盖缺口;修完即可 PASS。
  • 按任务书,我未改动任何拆解正文;问题定位到节,修法已给出。