后训练是什么 — 两次训练的分工,以及第二次训练改不了什么
这一章讲三件事: 造一个能用的语言模型,为什么要分两次训练; 第二次训练(后训练)具体在改什么;以及它改不了什么。 读完你会拿到全书的总地图——后面六章都在展开这张图上的某一块。 不需要任何基础,遇到的生词全部当场解释。
1. 先看现象:同一个问题,两种模型给出两种东西
先认识主角。语言模型(LLM)就是一种读一段文字、接着往下写的系统——你手机里的输入法联想、网页上的聊天机器人,背后都是它1。
拿同一个问题分别喂给两种模型看:
输入:「用两句话解释 TCP 和 UDP 的区别。」(TCP 和 UDP 是互联网上传送数据的两套规矩)
基础模型——也就是只做完第一次训练的模型——可能给你三种反应:像样地回答了;或者无视你的问题,续写出五个新的问题;或者接着写一段教科书式的段落,离题万里2。
后训练过的模型——今天你在任何产品里用到的模型——会规规矩矩给出两句话的答案。
差距不在「谁更聪明」。差距在于:只有后一个被专门训练过「怎么回应用户」。作者开篇第一句就是这个判断:今天生产环境里每一个有用的语言模型,都经过了后训练;它们已经不是单纯的「预测下一个词」的机器了3。
2. 顶层全景:两次训练,各管一件事
第一阶段:预训练(贵,慢)
几万亿个 token 的网页、书、代码
└─ 反复练一件事:预测下一个词
└─ 产物:基础模型——会续写,不会应对
第二阶段:后训练(便宜,快,但决定用户体验的大半)
几千到几百万条人工整理的示例
└─ 按想要的行为定向调整
└─ 产物:听指令、拒危险请求、能推理的产品模型
图说:两个阶段用的数据量差了六个数量级以上;第二次训练不是「再练一遍」,
而是换了一种信号、换了一个目标。
这一章的主走查就是上面那个「TCP 和 UDP」的问题:第 3 节讲它为什么会在基础模型那里走样,第 4 节讲后训练怎么把它掰回来,第 6 节讲后训练有哪些掰不动的地方。