JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

从 BERT 到生成式模型

一个小把戏——把词遮住,让网络去猜——如何把普通文本变成了老师,又如何分成两支:BERT 家族,和支撑今天聊天机器人的生成式模型。

难题:标签从哪儿来?

走到这一档的此处,你已经见过这些零件:文本被切成 token、词被变成稠密向量,以及让每个 token 通过自注意力看到其他所有 token 的 Transformer。但 Transformer 只是一个强大却空的容器——数百万个等着被设定的参数。要设定它们,经典的监督学习需要带标签的样本,而给文本打标签代价极高:得有人一句一句手工标注。

突破在于注意到:普通文本本身就藏着自己的答案。互联网上充满了没人标注过的句子——但每个句子都悄悄告诉你下一个词是什么,或者哪个词能填进空缺。如果你能把这种免费的结构变成训练信号,就不再需要标注员,只需要一块硬盘。这正是自监督学习的核心,也正是它让现代语言模型成为可能。

掩码语言建模,与 BERT

在这一档前面,你见过语言建模最初的形态:从左到右预测*下一个*词。BERT(2018)把任务反了过来。它不再只读一个方向,而是随机遮住约 15% 的 token,让网络同时借助左右两边的词把它们补回来。这就是掩码语言建模(MLM),而“同时”这个词正是关键——意义往往取决于后文,而不只是前文。

input:  the cat sat on the [MASK] and purred
target:                     mat

# the model sees the WHOLE sentence (left + right)
# and must guess the hidden token from context
掩码语言建模:遮住一个 token,从两侧上下文预测它。

为什么这能教会有用的东西?为了猜出“mat”,网络必须吸收语法、常识,以及词与词之间的关系——这一切都从“填空”这一个任务里被挤压出来。把它在数十亿个句子上跑一遍,它学到的向量表示就不再笼统,而变得能感知上下文。同一个词“bank”,在“river bank(河岸)”里和在“savings bank(储蓄银行)”里会得到不同的内部向量,因为注意力会借助邻词重新塑造每个 token。

这分两步展开。先是预训练:在原始文本上花上数月做掩码填词,造出一个通用的语言理解器。然后是微调:在顶上接一个很小的输出层,用一小批带标签的数据针对你真正的任务短暂训练——情感分析命名实体识别问答。因为重活在预训练阶段已经干完,这一步不过是文本上的迁移学习,它大幅削减了每个任务所需的数据量。

编码器、解码器,还是两者都要

最初的 Transformer 有两半——读入输入的编码器,和写出输出的解码器——为翻译这类序列到序列任务而拼在一起。后来的模型常常只留一半,而它们留下哪一半,是理解一个模型“性格”最有用的一点。

编码器(如 BERT)是双向的:每个 token 一次性关注整个句子。这让它极擅长*理解*——分类、标注、检索——但它无法自然地生成流畅文本,因为它从没被训练成一个接一个地吐词。解码器(如 GPT 家族)正相反。它被加了掩码,使每个 token 只能看到它之前的内容,并且纯粹用下一个词预测来训练。正是这种从左到右的约束让它能写作——它生成一个 token、接上去、再重复。这就是自回归解码

通往大型语言模型的桥

接下来是让整个领域吃惊的转折。BERT 的双向阅读一度被普遍认为是更聪明的设计——对理解类任务而言,往往确实如此。但那个看似无趣的从左到右解码器,反而被证明能扩展得更远。当研究者把解码器做大、喂进更多文本时,发生了一件没人计划的事:一个只被训练来预测下一个词的模型,竟开始*遵循指令*、回答问题,并去做没人为它微调过的任务,只需在提示里给它看几个例子就行。最后这种能力就是上下文学习

所以,大型语言模型的内核,就是你刚认识的那个解码器——被做到极大,并在惊人海量的文本上训练而成。把 BERT 连到 ChatGPT 的配方很短:同样的 Transformer 块、同样的自监督预训练思路,只是用下一个词预测代替掩码填空,并一路扩展到新行为冒出来为止。由于同一个冻结的底座如今服务于数不清的下游用途,人们称它为基础模型

“扩展到新行为冒出来”究竟是什么意思?从经验上看,随着你增加数据、参数和算力,损失会沿着平滑、可预测的曲线下降——这就是缩放定律。令人意外的是,某些能力似乎不是渐进改善,而是越过某个规模阈值后才“开关式”地亮起来。但这里要小心:那种“突然涌现”有相当一部分可能只是我们衡量成败方式造成的假象,这也是该领域争议最大的论断之一。更大,可靠地意味着更低的预测损失;它并不可靠地意味着跃迁到一种全新的认知能力。

诚实的边界,以及该记住什么

看到“预测下一个词”,很容易就下结论说这些模型真的像你一样理解语言。请克制这种冲动。解码器优化的是一个目标——让下一个 token 在给定前文的条件下统计上更可能。这种压力造就了惊人的流畅,但也造就了自信的错误:模型会产出通顺、貌似合理却纯属虚假的文本,因为它被训练去追求的是“合理”,而非“真实”。这种失败有个你以后会常遇到的名字,而且它不是一个能打补丁修掉的 bug——它内建在目标里。

把这一档串起来看,整条弧线其实是同一个想法在不断放大的规模上重复。你从数词开始,到给词做分词,到静态词向量,到来自注意力的、能感知上下文的向量,再到在免费文本上预训练的两种方式。编码器这一支给了我们 BERT 和深度语言理解;解码器这一支被做得极大,给了我们如今正在重塑人们工作方式的生成式模型。这架梯子后面几档——使用 LLM、评估、安全——全都建立在你刚刚梳理过的这套机器之上。