训练站(下)— 评测、量化、对齐:训完之后的三个问题
这一章讲三件事: 评测的三个问题(评什么、在哪评、怎么评); 量化的机制账(为什么要压、四种方法各压在哪一步); 对齐的完整流水线(RLHF 三步)与它最硬的一个数字。 对应原书训练部第 4–6 章。读完你会拿到一条判据:任何一个人说「我的模型更好」, 你知道该追问哪三样东西。
1. 这一章讲什么
微调章结束时,我们手上有一个跑通的 7B 客服模型。但它面临三个悬而未决的问题:
它变好了吗? → 评测(原书第 4 章)
它跑得动吗? → 量化(原书第 5 章)
它听话吗? → 对齐(原书第 6 章)
图说:三道关有先后——先测出问题,才知道要修什么;
量化和对齐都改模型,改完还得回到评测重测一遍。原书没有点破这个循环,本拆解补上。
延续全书纪律:原书这一段「资源多、讲解少」,量化一章是唯一例外—— 它给出了 AWQ 的三步流程、GPTQ 的目标函数思路、QAT 与 PTQ 的分界1, 本章照实讲透;评测与对齐两章的机制由我们补齐。
2. 第一关:评测 — 三问定框架
原书把评测资源组织成三个问题:「评什么、在哪评、怎么评」2——这个框架本身 就是本章的主心骨,我们把三个问题各配一个机制解释。
问题一:评什么
原书列的评测面很宽:生成、翻译、推理、摘要、问答、相关性3。 但「评测」真正的难点在原书这句话里:
「拿统一考卷给助手型模型打分——行话叫基准测试——极其困难,因为问题是开放式的, 很难写一个程序自动评判回答的质量。」4
翻译成人话: 传统软件的测试可以对答案(输出 2+2 应该是 4), 但客服模型答「退货政策是什么」,一百个写法都对、一百个写法也都错。 评测的困难不是没有分数,是分数和「好」之间断开了。
问题二:在哪评 — 三张不同的考卷
考卷一:任务分数——给单项任务打的分。翻译看 BLEU(译文与参考答案的重叠度),流畅看困惑度(模型对下一个词有多意外)5。
写代码的任务看 HumanEval(生成的代码能不能跑通)5。共同局限:分数高不等于用户满意。
考卷二:公开基准——和其他模型比高下的统一考卷6。局限:题目可能早被模型见过——考题泄进了训练材料(行话叫数据污染),原书未提,我们补。
考卷三:人类竞技场——开放式问答谁更好。Chatbot Arena 让两个模型同题作答、人投票,Elo 排名7。Elo 借自国际象棋的等级分,赢者加分输者减分。局限:贵、慢,且评的是「人更喜欢谁」,不完全是「谁更对」。
BLEU 值得点名: 原书清单里那篇文章的标题就叫「BLEU at your own risk」5—— BLEU 数「译文和标准答案重叠了几个片段」,但人类的好翻译常常换说法, 换得越好看,重叠越低。这是「分数断开」的最经典案例。 困惑度(模型对下一个词的意外程度)同理:它测流畅,不测正确。
Elo 怎么工作: 借自国际象棋的等级分。两个模型答同一题, 人投票选更好的那个,赢者加分输者减分,打多了分数就稳定排开7。 为什么有效: 它不需要「标准答案」,只需要「相对偏好」——恰好绕开了 开放式问题的死穴。代价也清楚:它评的是「人更喜欢谁」,不完全是「谁更对」。
问题三:怎么评 — 把评测变成工程
原书在这个问题的末尾放了两份「自动化测试」资源,观点是: 生成式应用的行为比传统软件更不可预测,所以系统化测试省下的时间更多; 把评测挂进持续集成(每次改动自动跑一遍评测),问题在还便宜的时候就抓住8。
3. 第一关走查:给客服模型发成绩单
沿用主走查任务。微调完的 7B 客服模型,评测长这样(分数均为演示编的):
内部评测集:100 道公司文档问答题(从数据集里留出、微调时没见过)
│
├─ 任务面:答案与文档原文的一致性 —— 微调前 41 分,微调后 76 分
├─ 基准面:公开常识基准 —— 微调前 58,微调后 57(几乎没掉 → 通用能力保住了)
└─ 偏好面:新旧模型答案两两并排,同事盲选 20 组,新模型赢 15 组
▼
结论:微调有效,且没有「拆东墙补西墙」。
图说:三张考卷各测一样东西——任务面答「有没有变好」,
基准面答「有没有变差」,偏好面答「人觉得如何」。三张都要有数,
只报一张的做法(常见于分享帖)都是选择性举证。
「从数据里留出一部分当评测集、微调时不给它看」是评测的地基, 原书清单未展开,此处为通用知识补充。
4. 第二关:量化 — 把参数压到更少的位
为什么压:模型大在「数的精度」上
模型里那几十亿个参数,每个都是一个数。原书对量化的定义: 「用低精度数据类型表示参数」——最常见两档转换是 32 位浮点 → 16 位浮点、 32 位浮点 → 8 位整数9。精度(一个数用多少位二进制存)决定两件事: 显存占用和能表示的数的细腻程度。压一半的位,显存近乎省一半—— 第 03 章显存账里那句「4-bit 底座 ≈ 3.5 GB」的依据就是它。
先分家:GGUF 一族(跑在 CPU)与 GPU 一族
原书按「压缩格式 + 运行环境」把方法分成两个阵营,这个分法比「四个缩写名」重要:
| 阵营 | 代表 | 跑在哪 | 原书给的关键事实 |
|---|---|---|---|
| GGUF 一族 | GGUF + llama.cpp | CPU 起家,可把部分层卸到 GPU | GGML 库由 Georgi Gerganov 开发(缩写里的 GG 就是他),格式后来换成 GGUF, 可扩展、元数据(描述模型的各种附带信息)集中在一个文件10;7B 模型有 35 层,可以只把一部分层搬上 GPU11 |
| GPU 一族 | GPTQ、AWQ | GPU | 原书说 GPTQ 模型「加载并跑在 GPU 上」,这是它与 GGML 的历史分界12 |
「35 层、可部分卸载」是个实用机制: 显存装不下整个模型时, 把一部分层放 GPU、其余留 CPU——慢一点,但跑得动。本地工具章(06 章) 的 llama.cpp 参数表就是这套机制的界面。
四种方法的真正分界:什么时候、拿什么定「缩放」
量化是把连续的数塞进更粗的格子;塞法由「缩放值」决定。 四种方法的区别,全在「缩放值什么时候算、拿什么算」:
| 方法 | 缩放值何时算 | 拿什么算 | 原书的表述 |
|---|---|---|---|
| PTQ(训练后量化) | 训练完之后 | 一批代表性数据,统计每层激活的分布13 | 「训练完后计算缩放值」 |
| GPTQ | 训练完之后 | 校准数据上比较原模型与压缩模型的输出差 | 「为每个权重找压缩版,使均方误差(压完的输出和原输出的差距平方平均)最小」14 |
| AWQ | 训练完之后 | 先收集激活统计,再据此搜量化参数 | 三步:收集激活统计 → 搜权重量化参数 → 量化15 |
| QAT(量化感知训练) | 训练过程中 | 把量化损耗直接算进训练目标 | 「Q/DQ 节点模拟量化带来的损耗,加进训练目标,网络对量化更有韧性」16 |
AWQ 与 PTQ/GPTQ 的差别值得一讲: 传统量化把权重当成与数据无关的数 「独立地」压17;AWQ 说不对——有些权重对输出影响大,该给它们留更细的格子。 所以先拿一小撮数据跑一遍模型,记录激活(每层流过的值)的范围与分布, 再在这个统计的基础上搜索缩放参数,让量化造成的输出失真最小15。 代价是校准: 无论 AWQ 还是 GPTQ,都要一批「校准数据」—— 原书特别提醒,GPTQ 的压缩质量取决于校准样本的数量与质量18。
QAT 是另一条路: 干脆在训练时就让模型「知道自己要被压缩」—— 训练图里插入模拟量化的节点,量化带来的损耗被当成损失(训练时要往下压的那个分数)的一部分一起压低, 所以精度保持得比训练后量化好16。
代价是你得能重新训练—— 这恰好接回第 03 章:LoRA 场景下底座是冻住的,QAT 用不上; 这是 QLoRA 选择「4-bit 底座 + LoRA 顶」而不是 QAT 的深层原因。
5. 第三关:对齐 — RLHF 三步流水线
问题:底座模型会写,但不会「好好答」
预训练教会模型续写,但续写不等于应答——你问「退货政策」,它可能续写出一篇 论坛吵架帖。对齐(alignment)就是把这个缺口补上的工序统称。 原书对 RLHF 的定义:「把强化学习的方法与人类引导或反馈结合起来改进学习过程」—— 不再只靠环境给的奖励信号,而是由人类专家提供反馈或示范19。
为什么聊天机器人需要它:原书列了六条理由
| # | 理由 | 一句话机制 |
|---|---|---|
| 1 | 用户满意度 | 从人类反馈学到「什么回答受欢迎」20 |
| 2 | 快速学习 | 不用海量预存数据,直接从交互里学 |
| 3 | 处理不确定性 | 遇到含混问题可以学着寻求澄清 |
| 4 | 个性化 | 按个人偏好调整回答 |
| 5 | 持续改进 | 反馈实时回流,持续微调 |
| 6 | 伦理 | 用人类引导压掉偏见与不当回答21 |
我们的判读: 六条里真正承重的是第 1、6 条——「让人满意」与「不出格」。 中间四条是泛化(没专门学过的场景也管用)出来的好处,不是 RLHF 特有的。原书六条并列,是被博客文体的 「清单癖」带偏的一处。
三步流水线(原书借 StackLLaMA 一文给出的框架22)
第一步 SFT(监督微调)
拿人类写好的「问题—好答案」示范对,做第 03 章讲过的指令微调
▼
第二步 训练奖励模型(RM)
让模型对同一个问题出多个答案,人对答案两两排序;
拿这些排序训一个「打分器」,它会模拟「人类会给这个答案打几分」
▼
第三步 用奖励模型当教练,做强化学习(PPO)
模型继续生成答案,打分器实时打分,
参数朝「高分方向」调——人不用在场,打分器替人把关
图说:人只出现在第一、二步;第三步的规模化靠的是第二步的替身。
这是 RLHF 最要紧的设计:把「人的口味」固化成一个可以自动调用的函数。
这条流水线最硬的证据,是原书引用的 InstructGPT 论文数字: 在人类评估里,13 亿参数的 InstructGPT 的回答,比 1750 亿参数的 GPT-3 原版 更受人类偏好——参数少了一百倍23。上下文:1750 亿是 13 亿的一百多倍, 两者差着两代身位。对齐的价值不在让模型更博学,在让模型更「合用」—— 小模型对齐后可以整体换掉大模型,成本差百倍。
原书引的另外两篇论文补齐这条线的来路:2017 年的偏好学习(人只要看片段对比, 反馈量不到智能体与环境交互的 1%,机器人一小时人类时间学会新行为)24; 2020 年的摘要对齐(拿人类对比数据训奖励模型,再当奖励函数微调, 人类评估胜过直接盯着 ROUGE 分数调的监督模型)25——最后一列正是对本章第一关的回击: 统计分数(BLEU/ROUGE)调到头,不如直接照人的偏好调。
第三关走查:客服模型的「好好答」
20 组客服问答,新模型每组出两个答案(A/B),同事盲选更「像客服」的
→ 得到 20 组偏好排序
→ 训一个打分器(拿客服场景的答案打分)
→ 用打分器当教练再调一轮参数
▼
再跑一遍第 3 节的 100 题评测集:任务分 76 → 81,偏好盲选胜率 75% → 88%
(全部数字为演示编的)
图说:对齐改完必须回到评测——这正是本章开头说的循环。
6. 作者的判断与证据
- 量化章是全书机制讲解最密的一章(书内证据:AWQ 三步、GPTQ 目标、QAT 机制都有 实文1)。判断:这一章的正文引言不是资源堆砌,是作者认为自己该讲的部分。
- RLHF 的证据链是全书最硬的(书内证据:三篇论文都有具体数字, 其中「1.3B 胜 175B、少百倍」给出处23)。
- 评测章最薄但框架最好(书内证据:「评什么、在哪评、怎么评」三问是原书自己的组织2)。
判断(我们的,不是书里的): 原书把评测、量化、对齐排成相邻的三章, 但没有说破它们的关系:评测是量尺,量化与对齐是两次手术,每次手术都要回到量尺。 只学「怎么做评测」或只学「怎么做 RLHF」都是碎片;串成「改模型必回测」的循 环, 这一站才算过关。 如果错,会错在: 如果量化与对齐在实践中总是二选一(比如只做量化、从不做对齐), 「循环」就名不副实——但在生产级对话产品里两者都做是常态,判断对这类场景成立。
7. 边界与局限
- 评测的深水区没讲。 数据污染(基准题泄进训练数据)、评测集自带口味、 「刷榜」现象,原书一律未提;这些在选模型时比榜单名次更重要。
- 量化掉点的量化没有。 4-bit 到底掉几分,原书只有「应选哪种方法」的选型文, 没有数字;本拆解也不替它编数,答案只能自己跑评测(回到第一关)。
- RLHF 的成本侧没讲。 三步流水线里最贵的是第二步(人工排序); 原书引的 2017 论文给过量感(反馈量不到交互的 1%)24,但没算到 LLM 场景的账。
- DPO 等免强化学习的新路线缺席。 原书资源止于 PPO 路线;2023 年后 直接用偏好数据调参的方法(DPO)已成主流替代,书出版时未收。补充(不在书里,来自通用知识)。
- 「对齐」一词的双义。 本章的对齐指行为对齐(RLHF);行业里它有时指安全对齐, 原书混用,读者要按上下文分辨。
8. 可带走的
- 任何「模型更好」的主张,追问三样:哪张考卷(任务/基准/偏好)、 对照物是谁、分数和「好」之间有没有断开;
- BLEU/ROUGE 数重叠、困惑度数流畅——都测不到「正确」,优化统计分数不如优化人的偏好 (原书引的摘要对齐论文的原结论);
- Elo 竞技场绕开标准答案,但评的是「人更喜欢谁」;
- 量化四种方法的分界 = 缩放值何时算、拿什么算:PTQ/GPTQ/AWQ 在训练后(用校准数据), QAT 在训练中(把量化损耗算进损失);
- GGUF 一族 CPU 起家、可分层卸载(7B 有 35 层),GPU 一族(GPTQ/AWQ)吃显存;
- RLHF 三步:SFT → 奖励模型 → PPO;人的口味被固化成可自动调用的打分器;
- 对齐最硬的数字:1.3B 对齐模型胜 175B 原版,参数少百倍——对齐省的是整个量级的成本;
- 改模型(量化、对齐)之后必回评测,这是循环不是清单。
9. 原文地图
| 主题 | 原书章 | 原文位置 |
|---|---|---|
| 评测三问 | 4. Best Resources to Learn & Understand Evaluating LLMs | text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:11(搜「what to evaluate, where to evaluate」) |
| 评测面与开放式的难 | 4. Best Resources to Learn & Understand Evaluating LLMs | text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:20(搜「evaluated and benchmarked on various tasks」) · text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:76(搜「extremely challenging」) · text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:78(搜「pairwise comparison」) |
| 任务指标三件 | 4. Best Resources to Learn & Understand Evaluating LLMs | text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:59(搜「traditional ones such as BLEU」) · text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:63(搜「BLEU at your own risk」) · text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:64(搜「Perplexity of fixed-length models」) · text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:60(搜「HumanEval」) |
| Elo 与竞技场 | 4. Best Resources to Learn & Understand Evaluating LLMs | text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:80(搜「Elo rating system」) · text/09-ch04-4-best-resources-to-learn-understand-evaluating-.txt:85(搜「Chatbot Arena」) |
| 自动化测试与 CI | 4. Best Resources to Learn & Understand Evaluating LLMs | text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:10(搜「less predictable than」) |
| 量化定义与两档转换 | 5. Overview of LLM Quantization Techniques & Where to Learn Each of Them? | text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:28(搜「low-precision data types」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:46(搜「8-bit integer (int8)」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:48(搜「float32 -> int8」) |
| GGUF 一族 | 5. Overview of LLM Quantization Techniques & Where to Learn Each of Them? | text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:64(搜「Georgi Gerganov」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:69(搜「changed to GGUF」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:70(搜「break compatibility」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:78(搜「run them on a CPU」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:81(搜「layers for a 7b parameter model」) |
| GPU 一族与历史分界 | 5. Overview of LLM Quantization Techniques & Where to Learn Each of Them? | text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:78(搜「main difference with GPTQ」) |
| PTQ | 5. Overview of LLM Quantization Techniques & Where to Learn Each of Them? | text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:121(搜「after the network has been trained」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:122(搜「representative dataset」) |
| GPTQ | 5. Overview of LLM Quantization Techniques & Where to Learn Each of Them? | text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:136(搜「quantizes each weight」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:137(搜「minimum mean squared」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:143(搜「higher number of samples」) |
| AWQ 三步 | 5. Overview of LLM Quantization Techniques & Where to Learn Each of Them? | text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:94(搜「independently of the data」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:99(搜「Collect Activation Statistics」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:103(搜「Searching Weight Quantization Parameters」) · text/10-ch05-5-overview-of-llm-quantization-techniques-where-.txt:108(搜「Quantizing: With the quantization parameters」) |
| QAT | 5. Overview of LLM Quantization Techniques & Where to Learn Each of Them? | text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:1(搜「Quantization-Aware Training」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:8(搜「simulate quantization loss」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:9(搜「more resilient to quantization」) |
| RLHF 定义与动机 | 6. Top Resources to Learn & Understand RLHF & LLM Alignment | text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:29(搜「human guidance or feedback」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:35(搜「leveraging human expertise」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:36(搜「large number of interactions」) |
| 六条理由 | 6. Top Resources to Learn & Understand RLHF & LLM Alignment | text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:45(搜「User Satisfaction」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:73(搜「Ethical Considerations」) |
| 三篇博客与三步流水线 | 6. Top Resources to Learn & Understand RLHF & LLM Alignment | text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:81(搜「How RLHF actually works」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:86(搜「StackLLaMA」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:91(搜「Reward/preference modeling」) |
| 偏好学习论文(1% 反馈) | 6. Top Resources to Learn & Understand RLHF & LLM Alignment | text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:114(搜「Deep reinforcement learning from human preferences」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:119(搜「less than one percent」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:123(搜「hour of human time」) |
| 摘要对齐论文(胜过 ROUGE) | 6. Top Resources to Learn & Understand RLHF & LLM Alignment | text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:125(搜「Learning to summarize from human feedback」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:117(搜「reward function」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:140(搜「better summaries than optimizing ROUGE」) |
| InstructGPT(1.3B 胜 175B) | 6. Top Resources to Learn & Understand RLHF & LLM Alignment | text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:142(搜「Training language models to follow instructions」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:148(搜「rankings of model outputs」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:151(搜「1.3B parameter InstructGPT」) · text/11-ch06-6-top-resources-to-learn-understand-rlhf-llm-ali.txt:152(搜「preferred to outputs from the 175B」) |