跳到主要内容

微调(上):什么时候该动权重,以及为什么动不起

这一章讲三件事: 微调的真实身份是迁移学习——基座模型已经会了,微调只是把能力解锁出来; 「要不要微调」怎么判——先分清信息问题还是行为问题,再看 BloombergGPT 这个花钱买来的教训; 微调为什么贵——一笔能当场复算的内存账,以及把账压下来的两件武器:数值格式与量化。 它在全书的位置:提示工程和 RAG 都是「不碰模型」的适配技术,从本章起讲第三种——动权重;内存这笔账是下一章全部设计的出发点。

1. 顶层全景:先做决策,再谈技术

微调的名声两极:有人说它是万能锤,有人说它烧钱不讨好。书里的立场很克制——微调是「通过进一步训练整个模型或其中一部分,使模型适应特定任务」1,它有效,但前期投入大、维护成本高,所以正确的第一问不是「怎么微调」,而是「该不该微调」:

模型表现不好

├─ 缺信息?(私有数据没见过 / 知识过时) ──→ RAG(第 08 章)

└─ 行为不对?(事实对但格式/风格/细节不对) ──→ 微调(本章起)

图说:微调决策的第一叉。信息问题找 RAG,行为问题才找微调。

决策做完决定微调,马上撞上第二堵墙:内存。训练比推理多出三份存储,本章 §4 把这笔账算到 GB 级;算完账你就明白,为什么下一章的 LoRA(只训一小块参数的省内存微调法)会成为行业默认选项。

2. 微调是什么:迁移学习,不是重训

2.1 几百个样本换来的能力

微调常被想象成「把模型重新训一遍」。恰恰相反——微调始于一个基座模型,它已具备目标任务所需的部分能力,微调只是让它在特定任务上表现更好2。这在机器学习(让机器从数据里自己学规律的那门学问)里有个正式名字:迁移学习(把从一个任务学到的知识搬到新任务上,加快新任务的学习)——概念 1976 年就有了,类似「会弹钢琴的人学其他乐器更快」3

迁移的直接收益是样本效率(用更少的样本达到同样效果):从头训一个法律问答模型可能要几百万个样本,站在好基座上微调,几百个可能就够4。OpenAI 在 InstructGPT 论文里的表述更准:微调是解锁模型已有、但仅凭提示工程难以访问的能力5——能力早就在权重里,提示词够不着,微调把它够出来。

2.2 微调的家族成员

「微调」是个统称,书里按训练数据分了几支6:

名称训练数据用途
自监督微调(继续预训练)便宜的原始文本先用法律文档「续读」,再用贵的问答对精调
监督微调 SFT(指令, 响应) 对教行为(第 03 章讲过)
偏好微调(提示词, 胜出, 落败)教分寸(第 03 章讲过)
填充式微调挖空再填的文本文本编辑、代码调试
长上下文微调长序列数据扩上下文,Code Llama 从 4096 到 16,384 个 token

前两支是第 03 章后训练的老朋友;后两支值得记一下:填充式微调让自回归模型也能「填空」,长上下文微调要改位置嵌入(模型记录「词在句中位置」的部件),难做,且可能损及短序列性能7

2.3 另一条迁移路:借嵌入,不训模型

微调不是迁移学习的唯一实现。另一种是把特征(从数据里提炼出来的关键信息)直接搬走用:拿一个模型的嵌入向量(第 04 章讲过——把文本压成一串能代表意思的数)当作另一个模型的输入,自己一行权重都不训8。这种做法叫基于特征的迁移

这在 2015—2019 年的计算机视觉(让机器看懂图片的 AI 分支)圈里,几乎是人人都在用的标准做法。

3. 该不该微调:一张决策表

3.1 什么情况值得微调

书里给的三条正面理由9:

  1. 领域训练不足——通用模型会标准 SQL,但你的冷门 SQL 方言它没见过;或客户特有的查询它频频出错。用自有数据微调格外有效;
  2. 缓解偏见——基座总把 CEO 和男性名字绑在一起?用大量女性 CEO 的示例微调回去。有研究证明用特定人群撰写的文本微调,能针对性减少对应的偏见;
  3. 小模型专项超越大模型——Grammarly 把只有 GPT-3 变体 1/60 规模的 Flan-T5,用 82,000 个数据对微调后,在写作辅助任务上反超了那个大模型10

书里还点了一个最常见的用途:让模型遵循指令,尤其是让输出符合特定的风格和格式——第 03 章结构化输出那四种办法里的「微调」,指的就是它11

第 3 条还附带一个常见动机:蒸馏(用大模型生成的数据教小模型模仿大模型)——省推理成本的主力手法,第 12 章数据合成会专门讲。

3.2 什么情况不该微调:三个成本加一个陷阱

反面理由更扎心。微调可以做的事,精心设计的提示词往往也能做到;而且针对特定任务的微调可能挤占其他任务的能力——书里的例子:模型本来产品推荐和一般反馈都好,只有订单修改差;拿订单修改数据微调后,订单修改好了,另外两项反而变差了12

然后是三笔持续开销13:

开销内容
数据人工标注慢且贵;开源/AI 生成的便宜但质量参差
人才要懂学习率、过拟合(死记硬背住练习题、遇到新题就抓瞎)、评估——纯应用工程师的技能栈之外
部署与维护自托管还是走 API?更要命的是:基座模型一直在进化,你的微调版本常常赶不上

「赶不上」的陷阱书里用了传真机打比方:如果所有企业都迅速切换到更优方案,传真机早就该被淘汰了——换模型带来的常常只是渐进改进,没人真的年年换14。作者还补了一个诚实的观察:不少工程师明知不必微调仍坚持要做,只因想学这门手艺;管理岗要分得清「业务需求」和「个人意愿」15。而那些抱怨「提示词没用才来微调」的团队,一查往往发现提示词实验根本没做系统——指令不清、样本不代表实际数据、指标不明;把实验做规范后,提示词就够用了16

3.3 BloombergGPT:花钱买来的教训

「通用模型做不了专业任务,必须专用模型」是微调最常见的话术。书里用彭博社的案例正面拆了它:

彭博 2023 年 3 月发布金融专用模型 BloombergGPT——500 亿参数,训练耗 130 万小时的 A100 GPU 算力,仅计算成本(不含数据)就在 130 万到 260 万美元之间17同月,OpenAI 发布 GPT-4 的 0314 版本(0314 = 3 月 14 日,标注版本日期很重要,因为不同版本性能差异显著);随即有研究测出 GPT-4 0314 在多个金融基准上显著优于 BloombergGPT18

书里的结论不是「彭博白干了」——基准不完全反映实际业务,彭博也攒下了团队与经验19——而是:通用模型在领域任务上的能力在快速逼近甚至超过专用模型。决定自训专用模型前,先想想这个时间差。

3.4 微调还是 RAG:先问缺什么

这是本章最实用的一刀。模型表现不好,先分诊20:

缺信息(私有知识没见过 / 知识过时) 行为不对(格式 / 风格 / 细节)
├─ 例:问 Taylor Swift 出了几张专辑, ├─ 例:写的规格说明事实都对,
│ 答了 10 张,实际 11 张 却缺工程团队要的具体细节
├─ 例:模型根本没有你的内部文档 ├─ 例:生成的 HTML 有语法错误
↓ ↓
RAG:把信息递进上下文 微调:把行为练进权重

图说:书里的一句话总结——RAG 关注事实,微调关注形式。

这不是经验之谈,有实验撑着。Ovadia 等(2024)的对比研究:对需要最新信息的时事任务,RAG 全面优于微调;更狠的是,基座模型 + RAG 甚至优于微调模型 + RAG——微调反而拖了检索的后腿21。反过来,行为问题(格式、风格、领域语法)才轮到微调出场;语义解析(把自然语言转成 JSON 这类结构化格式)这种「输出格式本身就是任务」的场景,通常必须微调22

两条补充纪律23:同时有信息问题和行为问题时,先从 RAG 入手(不用筛数据、不用托管模型,而且先用 BM25 这种便宜的词项检索,别上来就上向量数据库);两者也可以结合——但同一实验里,微调 + RAG 只在 43% 的情况下比单独 RAG 更好,57% 的情况下没有提升,别默认「叠加必赚」。

Llama 3 团队的原则给这条分界线收了尾:后训练的目标应该是让模型了解自己知道什么,而不是为它增添知识24

3.5 书里的工作流:五步,每步都先过评估

书里给了一条渐进路径,灵感来自 OpenAI 2023 年公布的示例25:

  1. 只用提示词(带版本管理地系统试);
  2. 提示词里加示例——1 到 50 个之间;
  3. 缺信息 → 接数据源,先上词项检索这种基本款;
  4. 还不行,按故障模式分叉:还是缺信息 → 升级到嵌入检索;还是行为不对 → 微调;
  5. 必要时 RAG + 微调结合。

前提动作只有一条:任何适配步骤之前,先定义评估标准、搭好评估流水线(第 06 章)——它就是你的进度尺。还有一个时序注脚:微调曾经的一大卖点是省 token(把示例练进权重,提示词就不用每次都带),但提示词缓存出现后这个优势大减;不过提示词装多少示例仍受上下文长度限制,微调没有这个限制26

4. 内存账本:微调为什么贵

决定微调了,第一道坎不是技术,是硬件。这一节是本章的主走查:拿一个 130 亿参数的模型,把推理和训练两本账都算一遍。每个数都出自书里,可以当场复算。

4.1 走查起点:推理要多少内存

推理只做前向传播(从输入算出输出),要存两样:模型权重 + 激活值(中间计算结果)。书里的近似公式:权重是 参数量 × 每参数字节数,激活值和键值向量粗略按权重的 20% 计,总账 = N × M × 1.227

代入 13B 模型、每个参数 2 字节:

权重: 130 亿 × 2 字节 = 26 GB
加 20%: 26 GB × 1.2 = 31.2 GB ← 推理总账

对照:一块 24 GB 内存的芯片装不下 → 这就是「CUDA 内存不足」报错的由来

作为参照,模型再大一档就完全变味:700 亿参数的模型按每参数 2 字节算,光权重就要 140 GB——单卡塞不下,必须拆到多卡28

4.2 训练账:每个可训练参数多存 3 份

训练的内存账比推理多几笔,下面一笔一笔算。先算损失——模型输出和预期答案之间的差距;差得多,说明教得差。

第二笔是梯度:把损失摊到每个可训练参数头上,得到「这个参数该往哪边调、调多急」。整套流程就是反向传播:先前向算出输出,与预期比出损失,再从损失反推每个可训练参数的贡献,最后按梯度调参。

最后一样伴随成本:优化器(决定每个参数每次调多急的那套算法)。用哪个,要额外记的状态数不同:SGD 零份、动量优化器一份、Adam 两份——而 Transformer 模型的默认选择恰恰是 Adam29

于是训练总账 = 权重 + 激活值 + 梯度 + 优化器状态;其中真正比推理多存的是后两样——每个可训练参数要为「梯度 + 优化器状态」额外存 3 个值(1 + 2)30。代入同一个 13B 模型:

全量微调(13B 全部可训练):
梯度 + 优化器状态: 130 亿 × 3 × 2 字节 = 78 GB ← 光这一项已是推理总账的 2.5 倍
加上权重 26 GB 和激活值,轻松超过单块 GPU 容量

只训 10 亿参数(其余冻结):
梯度 + 优化器状态: 10 亿 × 3 × 2 字节 = 6 GB ← 砍掉 92%

图说:减少「可训练参数量」就是省内存的第一杠杆——这正是下一章 PEFT 的设计初衷。

还有个容易被忽略的坑:激活值可能远超权重本身——如果为了算梯度把前向的激活值全存下来,大模型场景里它的内存可以比权重还大;对策是梯度检查点:不存,用到时重算,拿计算时间换内存31

4.3 数字不是数字:数值格式

上面账本里「每参数 2 字节」是个假设,真实取决于数值格式。神经网络的数用浮点数表示,格式名末尾的数字 = 位数:FP32 单精度 4 字节、FP16 半精度 2 字节;谷歌为 TPU 设计的 BF16 也是 2 字节,但把位数从「精度」挪给了「范围」——能表示的数更大,每个数更糙32

后果可以直接量出来:把 1234.56789 从 FP32 转换,FP16 存成 1235.0(偏差约 0.035%),BF16 存成 1232.0(偏差约 0.208%)——差六倍33。这不是理论洁癖:许多团队曾把 BF16 权重的 Llama 2 错用 FP16 格式加载,结果模型质量远低于宣传水平;这个混淆到 Llama 3.1 时代依然存在34加载模型务必用它预设的格式。

4.4 量化:位数减半,内存减半

把每参数字节数压下来的通用手段是量化(严格说目标是整数时才叫量化,实际中泛指一切降精度转换)35。账很好算:100 亿参数,32 位存要 40 GB,16 位只要 20 GB。书里给了三条现状36:

  • 量化谁:优先量化权重而非激活值——权重对性能的影响更可控;
  • 何时量化:最主流是训练后量化(PTQ,训完再压),PyTorch、TensorFlow、Hugging Face 都是几行代码的事;业界已推进到 8 位(LLM.int8())和 4 位——4 位的那个行话叫 QLoRA,下一章细讲;苹果 2024 年在设备端混合 2/4 位、平均每权重 3.5 位;
  • 极限在哪:1 位附近——微软 2024 年的 BitNet b1.58 每参数只要 1.58 位,性能可与 16 位的 Llama 2 媲美(限于最高 39 亿参数规模的对比)。

收益不止内存:16 位加法只要 16t 纳秒,32 位要 32t——位数减半,算得也快;但格式转换本身有开销,并不总赚37。风险也有:微小误差会累积,超范围的数值可能被转成无穷大,模型质量随之劣化38

4.5 训练时量化:更难,但也有路

推理压到 8 位以下是标准操作,训练压精度更难——反向传播对精度敏感,损失值算错一点,参数更新方向就错39。书里给了三档做法:

方法思路代价
量化感知训练 QAT训练时模拟低精度行为,让模型学会在低精度下保持质量不省训练时间,甚至更慢
直接低精度训练Character.AI 2024 年宣布能全 INT8 训练最难,对精度敏感的反向传播是硬骨头
混合精度(主流)权重副本存高精度,梯度和激活值用低精度;框架的 AMP 自动决定哪里降折中

基础模型生态的实际分工是:有钱的组织用高精度做预训练,算力少的开发者用低精度做微调——两条队伍共用同一个权重文件40

5. 作者的判断与证据

  • 「微调是解锁而非注入」(有证据):引 InstructGPT 论文的表述;Ovadia 的时事任务实验(RAG 全面赢)是反面佐证——往权重里塞知识,既低效又伤其他能力。
  • 「通用模型在领域任务上日益精进」(有证据):BloombergGPT 与 GPT-4 0314 同月对比;书里同时公允地标注了基准的局限。
  • 「内存是微调第一瓶颈」(有证据,可复算):本章 §4 的两本账;它直接推出「减少可训练参数」这条技术主线。
  • 「数值格式错误会显著劣化模型」(有证据):Llama 2 的 BF16/FP16 错用案例;作者在 NVIDIA 做混合精度训练的个人经历也标注在脚注里。

6. 边界与局限

  • 内存公式是近似:N × M × 1.2 只在「激活值 ≈ 权重 20%」的假设下成立;上下文更长、一次一起喂给模型的一组请求(行话叫批次)更大时,推理实际内存会显著超过这个数。

  • BitNet b1.58 与 Llama 2 的对比最高只到 39 亿参数规模;把小实验的结论直接搬到大模型——这一步叫外推——并不安全。

  • 本章的决策框架基于 2024 年前的研究;书里也标注了:开源与闭源(后者=模型不公开、只能调用)的格局在变,具体结论有时效性。

  • 训练量化的前沿(全 INT8 训练等)主要来自厂商自述(Character.AI),独立复现数据书里没给。

7. 可带走的

  1. 微调 = 迁移学习:基座已会,微调解锁;几百个样本可能就够,因为几百万样本的知识早被预训练存进权重了;
  2. 决策第一叉:缺信息找 RAG,行为不对找微调——「RAG 关注事实,微调关注形式」;
  3. 别轻信「专业任务必须专用模型」:BloombergGPT(130 万 GPU 小时)发布当月就被 GPT-4 0314 在金融基准上超过;
  4. 微调有三笔持续开销:数据、ML 人才、部署维护;而且微调模型的迭代(每改一版重训重评的一整圈)常赶不上基座进化——先问自己会不会像守着传真机一样守着它;
  5. 微调会挤占其他任务的能力;要多个任务都好,可以训多个小模型再考虑合并(下一章);
  6. 内存账本:推理 ≈ 参数量 × 字节数 × 1.2;训练时 Adam 让每个可训练参数多存 3 份(13B 全量 = 78 GB,只训 1B = 6 GB)——减可训练参数是第一杠杆;
  7. 加载模型必须用预设数值格式:Llama 2 的 BF16 被错当 FP16 加载,质量远低于宣传;
  8. 量化优先压权重;主流是训练后量化,几行代码;位数减半内存减半、加法也快一倍,但转换开销和误差累积是两道暗坑;
  9. 动手顺序:提示词(带版本管理)→ 加 1–50 个示例 → 词项检索 → 嵌入检索或微调 → 必要时结合——每一步之前,评估流水线先就位。

8. 原文地图

主题原书章原文位置
微调定义第7章text/14-ch07.txt:24(搜「进一步训练整个模型」)
迁移学习 1976第7章text/14-ch07.txt:59(搜「1976」)
样本效率:几百万 vs 几百第7章text/14-ch07.txt:71(搜「几百个样本」)
InstructGPT:解锁已有能力第7章text/14-ch07.txt:74(搜「解锁模型已有」)
基于特征的迁移第7章text/14-ch07.txt:77(搜「基于特征的迁移」)
继续预训练、填充式微调第7章text/14-ch07.txt:89(搜「继续预训练」) · text/14-ch07.txt:92(搜「填充式微调」)
长上下文微调 Code Llama第7章text/14-ch07.txt:104(搜「长上下文微调」) · text/14-ch07.txt:107(搜「16,384」)
先试提示工程再微调第7章text/14-ch07.txt:130(搜「充分尝试提示工程」)
冷门 SQL 方言第7章text/14-ch07.txt:147(搜「冷门的SQL方言」)
缓解偏见(女性 CEO)第7章text/14-ch07.txt:150(搜「CEO职位」)
蒸馏定义第7章text/14-ch07.txt:156(搜「蒸馏」)
Grammarly:1/60 规模反超第7章text/14-ch07.txt:159(搜「1/60」)
微调挤占其他任务(订单修改)第7章text/14-ch07.txt:185(搜「订单修改」)
三笔持续开销第7章text/14-ch07.txt:194(搜「你需要数据」) · text/14-ch07.txt:197(搜「学习率」) · text/14-ch07.txt:203(搜「赶不上基座模型」)
传真机第7章text/14-ch07.txt:206(搜「传真机」)
想学微调的工程师第7章text/14-ch07.txt:217(搜「想学习微调」)
提示词实验不系统第7章text/14-ch07.txt:222(搜「缺乏系统性」)
BloombergGPT 成本第7章text/14-ch07.txt:231(搜「130万小时」)
GPT-4 0314 胜出第7章text/14-ch07.txt:234(搜「0314」) · text/14-ch07.txt:240(搜「显著优于」)
提示词缓存后省 token 优势不再第7章text/14-ch07.txt:258(搜「提示词缓存」) · text/14-ch07.txt:267(搜「示例数量的限制」)
信息缺失还是行为表现第7章text/14-ch07.txt:278(搜「信息缺失还是行为」)
Taylor Swift 专辑第7章text/14-ch07.txt:293(搜「Taylor Swift」)
Ovadia:RAG 优于微调第7章text/14-ch07.txt:296(搜「RAG的表现优于微调」)
行为问题、语义解析要微调第7章text/14-ch07.txt:305(搜「行为问题」) · text/14-ch07.txt:311(搜「语义解析」)
Llama 3 原则:了解自己知道什么第7章text/14-ch07.txt:314(搜「了解自己知道什么」)
RAG 关注事实,微调关注形式第7章text/14-ch07.txt:319(搜「RAG关注事实」)
先 RAG、先 BM25第7章text/14-ch07.txt:323(搜「BM25」)
结合的 43% / 57%第7章text/14-ch07.txt:329(搜「43%」)
五步工作流第7章text/14-ch07.txt:344(搜「仅通过提示词」) · text/14-ch07.txt:347(搜「50个」)
内存核心要点(52→26 GB)第7章text/14-ch07.txt:405(搜「52 GB」)
可训练参数与冻结参数第7章text/14-ch07.txt:423(搜「冻结参数」)
反向传播三步(损失/梯度/优化器)第7章text/14-ch07.txt:444(搜「损失」) · text/14-ch07.txt:452(搜「梯度」) · text/14-ch07.txt:456(搜「Adam是目前应用最广泛」)
优化器状态(每个可训练参数的额外值)第7章text/14-ch07.txt:468(搜「优化器状态」)
推理内存 N×M×1.2、13B 算例第7章text/14-ch07.txt:503(搜「1.2」) · text/14-ch07.txt:506(搜「31.2」)
CUDA 内存不足第7章text/14-ch07.txt:509(搜「CUDA内存不足」)
70B 需 140 GB第7章text/14-ch07.txt:520(搜「140 GB」)
SGD/动量/Adam 的状态数第7章text/14-ch07.txt:546(搜「动量优化器」) · text/14-ch07.txt:549(搜「两个值」)
78 GB 与 6 GB 算例第7章text/14-ch07.txt:555(搜「78 GB」) · text/14-ch07.txt:561(搜「6 GB」)
激活值可能远超权重、梯度检查点第7章text/14-ch07.txt:564(搜「远远超过模型权重」) · text/14-ch07.txt:572(搜「梯度检查点」)
FP 系列格式第7章text/14-ch07.txt:595(搜「单精度」)
BF16 与 TF32第7章text/14-ch07.txt:609(搜「BF16」)
1234.56789 的两种命运第7章text/14-ch07.txt:675(搜「1234.56789」)
Llama 2 错用 FP16第7章text/14-ch07.txt:683(搜「远低于宣传」)
量化:100 亿参数 40→20 GB第7章text/14-ch07.txt:703(搜「20 GB」)
量化与降低精度的术语辨析第7章text/14-ch07.txt:709(搜「严格来说」)
权重量化优先第7章text/14-ch07.txt:724(搜「权重量化」)
PTQ、LLM.int8()、QLoRA、苹果 3.5 位第7章text/14-ch07.txt:730(搜「训练后量化」) · text/14-ch07.txt:736(搜「LLM.int8()」) · text/14-ch07.txt:739(搜「3.5位」)
BitNet b1.58第7章text/14-ch07.txt:760(搜「1.58」)
16t vs 32t 加法第7章text/14-ch07.txt:769(搜「32t」)
误差累积风险第7章text/14-ch07.txt:772(搜「微小误差的累积」)
训练量化两目标、QAT第7章text/14-ch07.txt:787(搜「表现良好的模型」) · text/14-ch07.txt:796(搜「量化感知训练」)
Character.AI 全 INT8 训练第7章text/14-ch07.txt:804(搜「INT8精度训练」)
混合精度、AMP第7章text/14-ch07.txt:812(搜「混合精度」) · text/14-ch07.txt:816(搜「自动混合精度」)
先高精度训、再低精度微调第7章text/14-ch07.txt:819(搜「较低精度进行微调」)

Footnotes

  1. 出处:「第7章」第 24 段(text/14-ch07.txt:24,搜「进一步训练整个模型」)。

  2. 出处:「第7章」第 56 段(text/14-ch07.txt:56,搜「基座模型」)。

  3. 出处:「第7章」第 59 段(text/14-ch07.txt:59,搜「1976」)与第 62 段(text/14-ch07.txt:62,搜「葡萄牙语-英语」)。

  4. 出处:「第7章」第 71 段(text/14-ch07.txt:71,搜「几百个样本」)。

  5. 出处:「第7章」第 74 段(text/14-ch07.txt:74,搜「解锁模型已有」)。

  6. 出处:「第7章」第 83 段(text/14-ch07.txt:83,搜「监督微调」)、第 89 段(text/14-ch07.txt:89,搜「继续预训练」)、第 92 段(text/14-ch07.txt:92,搜「填充式微调」)与第 101 段(text/14-ch07.txt:101,搜「胜出响应」)。

  7. 出处:「第7章」第 104 段(text/14-ch07.txt:104,搜「长上下文微调」)与第 107 段(text/14-ch07.txt:107,搜「16,384」)。

  8. 出处:「第7章」第 77 段(text/14-ch07.txt:77,搜「基于特征的迁移」)与第 80 段(text/14-ch07.txt:80,搜「目标检测」)。

  9. 出处:「第7章」第 144 段(text/14-ch07.txt:144,搜「训练不足」)、第 147 段(text/14-ch07.txt:147,搜「冷门的SQL方言」)与第 150 段(text/14-ch07.txt:150,搜「CEO职位」)。

  10. 出处:「第7章」第 159 段(text/14-ch07.txt:159,搜「1/60」)。

  11. 出处:「第7章」第 27 段(text/14-ch07.txt:27,搜「风格和格式」)与第 141 段(text/14-ch07.txt:141,搜「JSON或YAML」;若定位失败搜「特定结构」)。

  12. 出处:「第7章」第 173 段(text/14-ch07.txt:173,搜「精心设计的提示词」)、第 181 段(text/14-ch07.txt:181,搜「其他任务上的性能下降」)与第 185 段(text/14-ch07.txt:185,搜「订单修改」)。

  13. 出处:「第7章」第 194 段(text/14-ch07.txt:194,搜「你需要数据」)、第 197 段(text/14-ch07.txt:197,搜「学习率」)、第 200 段(text/14-ch07.txt:200,搜「自托管」)与第 203 段(text/14-ch07.txt:203,搜「赶不上基座模型」)。

  14. 出处:「第7章」第 206 段(text/14-ch07.txt:206,搜「传真机」)与第 211 段(text/14-ch07.txt:211,搜「渐进式改进」)。

  15. 出处:「第7章」第 217 段(text/14-ch07.txt:217,搜「想学习微调」)。

  16. 出处:「第7章」第 222 段(text/14-ch07.txt:222,搜「缺乏系统性」)。

  17. 出处:「第7章」第 231 段(text/14-ch07.txt:231,搜「130万小时」)。

  18. 出处:「第7章」第 234 段(text/14-ch07.txt:234,搜「0314」)与第 240 段(text/14-ch07.txt:240,搜「显著优于」)。

  19. 出处:「第7章」第 252 段(text/14-ch07.txt:252,搜「宝贵经验」)。

  20. 出处:「第7章」第 278 段(text/14-ch07.txt:278,搜「信息缺失还是行为」)、第 281 段(text/14-ch07.txt:281,搜「事实性错误或过时」)与第 293 段(text/14-ch07.txt:293,搜「Taylor Swift」)。

  21. 出处:「第7章」第 296 段(text/14-ch07.txt:296,搜「RAG的表现优于微调」)。

  22. 出处:「第7章」第 305 段(text/14-ch07.txt:305,搜「行为问题」)与第 311 段(text/14-ch07.txt:311,搜「语义解析」)。

  23. 出处:「第7章」第 323 段(text/14-ch07.txt:323,搜「BM25」)与第 329 段(text/14-ch07.txt:329,搜「43%」)。

  24. 出处:「第7章」第 314 段(text/14-ch07.txt:314,搜「了解自己知道什么」)。

  25. 出处:「第7章」第 332 段(text/14-ch07.txt:332,搜「通用工作流程并不存在」)、第 341 段(text/14-ch07.txt:341,搜「评估流水线」)与第 344 段(text/14-ch07.txt:344,搜「仅通过提示词」)。

  26. 出处:「第7章」第 258 段(text/14-ch07.txt:258,搜「提示词缓存」)与第 267 段(text/14-ch07.txt:267,搜「示例数量的限制」)。

  27. 出处:「第7章」第 494 段(text/14-ch07.txt:494,搜「N×M」;若定位失败搜「模型权重」)与第 503 段(text/14-ch07.txt:503,搜「1.2」)。

  28. 出处:「第7章」第 509 段(text/14-ch07.txt:509,搜「CUDA内存不足」)与第 520 段(text/14-ch07.txt:520,搜「140 GB」)。

  29. 出处:「第7章」第 431 段(text/14-ch07.txt:431,搜「反向传播」)、第 444 段(text/14-ch07.txt:444,搜「损失」)、第 452 段(text/14-ch07.txt:452,搜「梯度」)与第 456 段(text/14-ch07.txt:456,搜「Adam是目前应用最广泛」)。

  30. 出处:「第7章」第 532 段(text/14-ch07.txt:532,搜「训练所需的内存」)、第 552 段(text/14-ch07.txt:552,搜「3个值」)与第 555 段(text/14-ch07.txt:555,搜「78 GB」)。

  31. 出处:「第7章」第 561 段(text/14-ch07.txt:561,搜「6 GB」)、第 564 段(text/14-ch07.txt:564,搜「远远超过模型权重」)与第 572 段(text/14-ch07.txt:572,搜「梯度检查点」)。

  32. 出处:「第7章」第 592 段(text/14-ch07.txt:592,搜「IEEE 754」)与第 609 段(text/14-ch07.txt:609,搜「BF16」)。

  33. 出处:「第7章」第 675 段(text/14-ch07.txt:675,搜「1234.56789」)。

  34. 出处:「第7章」第 683 段(text/14-ch07.txt:683,搜「远低于宣传」)与第 678 段(text/14-ch07.txt:678,搜「Llama 3.1」)。

  35. 出处:「第7章」第 703 段(text/14-ch07.txt:703,搜「20 GB」)与第 709 段(text/14-ch07.txt:709,搜「严格来说」)。

  36. 出处:「第7章」第 724 段(text/14-ch07.txt:724,搜「权重量化」)、第 730 段(text/14-ch07.txt:730,搜「训练后量化」)、第 736 段(text/14-ch07.txt:736,搜「LLM.int8()」)与第 739 段(text/14-ch07.txt:739,搜「3.5位」)。

  37. 出处:「第7章」第 760 段(text/14-ch07.txt:760,搜「1.58」)与第 769 段(text/14-ch07.txt:769,搜「32t」)。

  38. 出处:「第7章」第 772 段(text/14-ch07.txt:772,搜「微小误差的累积」)。

  39. 出处:「第7章」第 799 段(text/14-ch07.txt:799,搜「参数更新方向」)。

  40. 出处:「第7章」第 796 段(text/14-ch07.txt:796,搜「量化感知训练」)、第 804 段(text/14-ch07.txt:804,搜「INT8精度训练」)、第 812 段(text/14-ch07.txt:812,搜「混合精度」)与第 819 段(text/14-ch07.txt:819,搜「较低精度进行微调」)。