跳到主要内容

章节切分大纲 — ai-engineering

原书 10 章(text/08-ch01.txt … text/16-ch09.txt + text/17-fm.txt=第10章)。 切 14 章:第 2、3、6、7 章各拆两章(新词密度最高),其余一章对一章。 每行一节:「进来时以为…… → 出去时知道……」。七段结构的固定段(顶层全景/作者判断/边界/可带走的/原文地图)不逐行列,只列核心原理线。

01 从语言模型到 AI 工程(原第 1 章)

  1. 进来时以为「会聊天的 AI 是凭空冒出来的」→ 出去时知道语言模型是 1950 年代就有的统计机器,它回答的问题只有一个「下一个词是什么」,token 是它切词的单位
  2. 进来时以为「训练 AI 总要人先标数据」→ 出去时知道自监督怎么让全网文字变成不要钱的标注数据(标注一张图 8 美分的瓶颈就这么被绕开)
  3. 进来时以为「大模型就是更大的语言模型」→ 出去时知道基础模型=多模态+通用任务,CLIP 用 4 亿对图文免标注训练
  4. 进来时以为「AI 工程是 ML 工程换了个名字」→ 出去时知道三点实质区别:用别人的模型、开放式输出难评估、规模带来的算力压力
  5. 进来时以为「做个演示就算做成了」→ 出去时知道动手前的三关:场景评估、实用性门槛、「最后一公里」(LinkedIn 一个月 80%、再四个月 95%)
  6. 进来时以为「AI 应用就是调 API」→ 出去时知道技术栈三层,和提示/RAG/微调三种适配技术各自的位置

02 模型是怎么炼成的:数据、架构、规模(原第 2 章 2.1–2.2)

  1. 进来时以为「模型聪明是因为算法好」→ 出去时知道训练数据决定能力边界(Common Crawl 里的假新闻、英语占 45.88%、同一句话缅甸语要花 10 倍 token)
  2. 进来时以为「Transformer 赢在新」→ 出去时知道它解决的是 seq2seq 的两个老毛病(只看摘要、顺序处理),注意力=Q/K/V 三个向量
  3. 进来时以为「参数多就是模型大」→ 出去时知道规模要三个数一起量:参数量、训练 token 数、FLOPs(训 GPT-3 约 400 万美元)
  4. 进来时以为「模型越大越烧钱,只能瞎试」→ 出去时知道 Chinchilla 规模法则(训练 token ≈ 参数 × 20)和超参数迁移(小模型试好再搬)
  5. 进来时以为「规模可以一直涨」→ 出去时知道两个瓶颈:互联网数据快被用光、电力(数据中心占全球 1–2% 电力)

03 后训练与采样:从补全机器到「会胡说」(原第 2 章 2.3–2.4)

  1. 进来时以为「预训练出来的模型就该会聊天」→ 出去时知道它只会补全(「How to make pizza」有三种合法补全),对话是后训练教的
  2. 进来时以为「教模型对话很复杂」→ 出去时知道 SFT=行为克隆:给(提示词, 响应)示范让它抄(1.3 万对、13 万美元)
  3. 进来时以为「让模型懂分寸要写很多规则」→ 出去时知道 RLHF 只用人比较「哪个更好」(一次比较 3.5 美元)训奖励模型
  4. 进来时以为「模型每次都挑最可能的词」→ 出去时知道采样才是真相:logit→softmax→温度/top-k/top-p(logit [1,2] 走查)
  5. 进来时以为「一次只出一个答案」→ 出去时知道推理时计算:best of N、验证器(等于参数放大 30 倍)、自洽
  6. 进来时以为「幻觉是 bug,修好就行」→ 出去时知道概率性是设计,两个幻觉假设(自我欺骗、知识错配)都只能缓解

04 评估(上):为什么最难,尺子有哪几把(原第 3 章 3.1–3.3)

  1. 进来时以为「评估就是跑个分」→ 出去时知道评估是 AI 工程最大瓶颈(五条挑战;基准一年就饱和)
  2. 进来时以为「困惑度是玄学数字」→ 出去时知道熵→交叉熵→困惑度是同一把尺:预测下一个词时平均在几个选项里犹豫(正方形语言走查)
  3. 进来时以为「开放式输出没法自动评」→ 出去时知道功能正确性:代码能跑就算对(gcd 走查、pass@k)
  4. 进来时以为「和参考答案像就是好」→ 出去时知道词汇相似度(BLEU)为何不可靠、语义相似度(嵌入+余弦)在量什么
  5. 进来时以为「嵌入是个高深概念」→ 出去时知道嵌入=把意思变成向量让距离等于语义,CLIP 把图文放进同一个空间(RAG 的地基)

05 评估(下):AI 当裁判与比较排名(原第 3 章 3.4–3.5)

  1. 进来时以为「让 AI 评 AI 是开玩笑」→ 出去时知道它已是生产环境最常用的评估方式(58%),GPT-4 与人一致性 85% 高过人-人 81%
  2. 进来时以为「裁判随便问就行」→ 出去时知道三种用法(独立打分/对参考/两两比较)和评分体系(分类>离散>连续)
  3. 进来时以为「裁判的话可信」→ 出去时知道四个局限:不一致、标准模糊、成本翻倍、四种偏差(自我偏差 +10%)
  4. 进来时以为「裁判必须比考生强」→ 出去时知道评判比生成容易,弱模型也能评强模型;自我批评;三类专用裁判
  5. 进来时以为「排名就是打总分」→ 出去时知道比较评估用胜率+Elo/Bradley-Terry 算排名,永不饱和但有三个挑战

06 评估落地:标准、选模型、自己的流水线(原第 4 章)

  1. 进来时以为「先做出来再想办法评」→ 出去时知道评估驱动开发:动手前先定义标准(路灯下找钥匙的坑)
  2. 进来时以为「评分标准一个就够」→ 出去时知道四类标准(领域/生成/指令遵循/成本),事实一致性分局部全局(SAFE 四步)
  3. 进来时以为「选模型就是看排行榜」→ 出去时知道硬/软属性 + 自建 vs 购买七维对比(三星泄密、Convai 被审查卡住)
  4. 进来时以为「公开基准分数可信」→ 出去时知道数据污染(讽刺论文「在测试集上预训练」)和排行榜聚合的任意性
  5. 进来时以为「评估流水线搭起来很玄」→ 出去时知道四步:评组件、写指南、定方法与数据、评估流水线本身(bootstrap、样本量法则)

07 提示工程与提示攻防(原第 5 章)

  1. 进来时以为「提示词就是打字」→ 出去时知道它的三部分结构、上下文学习(少样本/零样本)、系统提示词与聊天模板
  2. 进来时以为「上下文越长越好」→ 出去时知道 Lost in the Middle:开头结尾记得牢,中间会丢
  3. 进来时以为「好提示词靠灵感」→ 出去时知道六条实践:清晰指令、给上下文、拆子任务、给思考时间、迭代、版本管理
  4. 进来时以为「工具能自动写好提示词」→ 出去时知道工具(DSPy/Promptbreeder)的隐性 API 调用和出错方式
  5. 进来时以为「我的提示词攻击与我无关」→ 出去时知道三类攻击:逆向提取、越狱(DAN/祖母)、间接注入(恶意邮件转发案例)
  6. 进来时以为「防御就是加关键词过滤」→ 出去时知道三层防御(指令层级/提示词/系统)和违规率-误拒率权衡

08 RAG:给模型接上外部知识(原第 6 章 6.1)

  1. 进来时以为「RAG 是权宜之计,上下文长了就淘汰」→ 出去时知道它做的是「每个查询只给最相关的信息」,长上下文不会让它消失
  2. 进来时以为「检索就是搜关键词」→ 出去时知道词项检索怎么打分(TF-IDF、BM25、倒排索引)
  3. 进来时以为「向量数据库很神秘」→ 出去时知道嵌入检索两步(嵌入查询→找最近 k 个)和 ANN 算法族(LSH/HNSW/IVF)
  4. 进来时以为「检索器好坏凭感觉」→ 出去时知道上下文精度/召回率,以及混合检索+RRF 怎么把两路结果合一
  5. 进来时以为「文档切开就行」→ 出去时知道分块策略(等长/递归/重叠)和查询重写(「Emily Doe 呢?」→完整问题)
  6. 进来时以为「RAG 只能查文本」→ 出去时知道多模态 RAG 和表格 RAG(文本转 SQL,Kitty Vogue 走查)

09 智能体与记忆(原第 6 章 6.2–6.3)

  1. 进来时以为「智能体是玄学」→ 出去时知道智能体=环境+工具,ChatGPT 和 RAG 系统都是智能体(Kitty Vogue 8 步走查)
  2. 进来时以为「工具就是插件」→ 出去时知道三类工具:知识增强、能力扩展、写入动作(写入=权限红线)
  3. 进来时以为「规划就是多想几步」→ 出去时知道规划是搜索问题,要和执行解耦(先生成→验证→执行),错误会按步数累积(95%^10≈60%)
  4. 进来时以为「计划生成靠运气」→ 出去时知道函数调用的流程、计划粒度(函数名 vs 自然语言)、控制流、ReAct 与 Reflexion
  5. 进来时以为「智能体挂了就是模型笨」→ 出去时知道故障分三类(规划/工具/效率)且各有可数的指标(50 人分 30 房的反思错误)
  6. 进来时以为「模型没有记忆」→ 出去时知道三层记忆(内部知识/短期/长期)和管理策略(FIFO/摘要/反思)

10 微调(上):什么时候该微调,为什么这么贵(原第 7 章 7.1–7.3)

  1. 进来时以为「微调是把模型重训一遍」→ 出去时知道微调=迁移学习,几百个样本就能解锁基座已有的能力
  2. 进来时以为「效果不行就该微调」→ 出去时知道先问是信息问题还是行为问题(Ovadia:时事任务 RAG 全面赢微调),和不该微调的三条理由
  3. 进来时以为「专用模型一定赢通用模型」→ 出去时知道 BloombergGPT(130 万 GPU 小时)同月被 GPT-4 超过的教训
  4. 进来时以为「微调就是点一下按钮」→ 出去时知道内存瓶颈:反向传播让可训练参数每个多存 3 份(梯度+优化器状态,13B→78GB)
  5. 进来时以为「数字就是数字」→ 出去时知道数值格式(FP16/BF16)和量化:位数减半内存减半,加载错格式模型直接变笨

11 微调(下):PEFT、LoRA 与模型合并(原第 7 章 7.4–7.5)

  1. 进来时以为「微调必须动全部参数」→ 出去时知道全量微调 7B 要 56GB,PEFT 用 3% 参数达到全量 99.6% 的效果
  2. 进来时以为「LoRA 是黑魔法」→ 出去时知道它只是把权重矩阵拆成两个小矩阵来训(9×9=81 → 9×1+1×9=18)
  3. 进来时以为「参数高效是侥幸」→ 出去时知道内在维度:预训练把模型压缩过,所以微调只要很少参数;LoRA 的秩与 α 怎么选
  4. 进来时以为「一个模型一个文件」→ 出去时知道多 LoRA 部署:100 个客户共享一个基座(2335 万 vs 1.68 亿参数),QLoRA 单卡 48GB 微调 65B
  5. 进来时以为「模型只能训练出来」→ 出去时知道模型合并:模型汤、任务算术(加减向量)、TIES 剪枝、层堆叠(SOLAR 32→48 层)
  6. 进来时以为「超参数靠抄默认值」→ 出去时知道渐进路径/蒸馏路径和学习率、批次、epoch、提示词损失权重怎么定

12 数据集工程(原第 8 章)

  1. 进来时以为「数据是体力活」→ 出去时知道数据中心转向(GPT-3 两个数据人 → GPT-4 八十个),三要素:质量(LIMA 1000 条)、覆盖度、量
  2. 进来时以为「数据就是(问题,答案)」→ 出去时知道不同训练阶段要不同格式,CoT 和工具使用数据为什么难标
  3. 进来时以为「合成数据是造假」→ 出去时知道传统方法(规则/扰动/模拟)与 AI 驱动方法(改写/回译/自我对弈)
  4. 进来时以为「指令数据只能人写」→ 出去时知道 Alpaca 175 条种子变 5.2 万、反向指令、Llama 3 代码数据六步流水线(270 万样本)
  5. 进来时以为「合成数据随便用」→ 出去时知道四个局限:质量、表层模仿、模型坍塌(递归遗忘)、溯源困难
  6. 进来时以为「处理就是洗洗数据」→ 出去时知道蒸馏与处理流程:检查、去重(0.1% 重复 100 次=模型减半)、清理、格式与模板一致

13 推理优化(原第 9 章)

  1. 进来时以为「慢就是模型大」→ 出去时知道两种瓶颈(计算受限 vs 带宽受限),预填充和解码各是一种
  2. 进来时以为「延迟一个数就够」→ 出去时知道 TTFT/TPOT(120ms=人类阅读速度)、goodput、MFU/MBU(7B 算例 70%)
  3. 进来时以为「硬件就是 GPU 三个字」→ 出去时知道内存三层(DRAM/HBM/SRAM)和功耗(H100 一年 7000 度电)
  4. 进来时以为「提速只能换卡」→ 出去时知道模型层优化:量化/剪枝、推测解码(Chinchilla 延迟减半)、KV 缓存(54GB 算例)、注意力变体与 FlashAttention
  5. 进来时以为「服务就是起个 API」→ 出去时知道服务层优化:连续批处理(公交车比喻)、预填充-解码解耦、提示词缓存、四种并行

14 架构与用户反馈(原第 10 章)

  1. 进来时以为「架构图一上来就要画全」→ 出去时知道五步演进:上下文→防护→路由/网关→缓存→智能体
  2. 进来时以为「防护就是拦敏感词」→ 出去时知道输入防护(PII 掩码去掩码)与输出防护(重试逻辑、误拒率)
  3. 进来时以为「路由是负载均衡」→ 出去时知道意图分类器路由(重置密码→FAQ、账单→人工)和模型网关(统一 API/回退/成本)
  4. 进来时以为「上线就完事了」→ 出去时知道监控三指标(MTTD/MTTR/CFR)、日志记一切、三种漂移(提示词被改/用户适应/模型偷换)
  5. 进来时以为「反馈就是点赞点踩」→ 出去时知道对话反馈的信号(提前终止/重新表述/编辑=偏好数据)和收集时机
  6. 进来时以为「用户反馈总是好的」→ 出去时知道四类偏差(宽容/随机/位置/偏好)和恶性反馈循环(迎合者)

自查(合并同义节后)

  • 04-§4「相似度」与 04-§5「嵌入」一度疑似重复:已分开——§4 讲「拿嵌入来评相似」,§5 讲「嵌入本身怎么来、CLIP 怎么把图文放一起」(为 08 章 RAG 打底),保留。
  • 10-§2「该不该微调」与 10-§3「BloombergGPT」:前者是决策框架,后者是证据案例,不重复,保留。
  • 12-§3 与 12-§4:§3 讲合成方法总览,§4 专讲指令数据(本书后训练主线),不重复,保留。
  • 其余各节「出去时知道」两两不同。切分定稿:14 章。