文字为什么走向自回归
文字天生就是一个字接一个字的序列。

重 点回答那个问题
一句话本来就是从前往后一个字一个字说出来的,按顺序预测下一个字,和语言的样子天然贴合。图片的像素没有天然的先后,所以画图更常用扩散模型,从整体上一遍遍变清楚。
打个比方
写文章是一个字一个字往下写,画画往往先起草稿,再铺颜色,最后抠细节。两种创作的过程不同,适合它们的生成方法也不同。
文字天生就是一个字接一个字的序列。

一句话本来就是从前往后一个字一个字说出来的,按顺序预测下一个字,和语言的样子天然贴合。图片的像素没有天然的先后,所以画图更常用扩散模型,从整体上一遍遍变清楚。
写文章是一个字一个字往下写,画画往往先起草稿,再铺颜色,最后抠细节。两种创作的过程不同,适合它们的生成方法也不同。
它做的只有一件事:根据前文,猜下一个词元。

输入“The cat sat on”(猫坐在……上),模型给每个候选词一个可能性,“the”最高,“a”其次。换成中文也一样,输入“床前明月”,下一个字是“光”的可能性最高。
只学过猜下一个词的模型叫基座模型。它能写出流畅的句子,却不一定听得懂要求,也可能一本正经地编造。第六节会讲怎样把它训练成可靠的助手。
任意两个词直接相连,读进来的词还能同时计算。
按顺序一个词一个词地算,前一个没算完,后一个只能等。隔得远的两个词,信息传到后面已经变淡了。
读进来的词可以同时计算,任意两个词之间一步直达。它靠注意力建立词与词的联系,再用位置编码记住先后顺序。
RNN 像传话游戏,第一个人说的话传到第十个人时已经走样,还必须一个一个排队传。Transformer 像围着圆桌开会,谁想跟谁说话就直接说,大家还能同时发言。
每个词都给别的词打分,按权重把信息汇到自己身上。
苹果和桌子都出现在前面,让天平倒向苹果的是后面的“很圆”。苹果是圆的,桌子一般不是。模型要同时看到“它”“苹果”“桌子”“圆”,任意两个词之间都要能直接联系。
开会时听到“这件事交给他办”,你会回想刚才提到的几个人里,谁最可能是“他”。自注意力做的就是这种回头找人。
拿“想找什么”去对“能提供什么”,算出权重再汇总。
给每个词两个特征:是不是一样东西,是不是圆的。是记 1,不是记 0。“它”后面跟着“很圆”,所以它要找的是“一样圆的东西”,查询 Q = (1, 1)。
| 词 | 键 K | 和 Q 对一对 | 分数 | 权重 |
|---|---|---|---|---|
| 苹果 | (1, 1) | 1×1 + 1×1 | 2 | 0.67 |
| 桌子 | (1, 0) | 1×1 + 1×0 | 1 | 0.24 |
| 放 | (0, 0) | 1×0 + 1×0 | 0 | 0.09 |
分数怎样换成权重 用的是 Softmax:分数为 0 的记作 1,分数每高 1 分就再乘 2.72,三个词得到 7.40、2.72、1。加起来是 11.12,各自除以 11.12,就是 0.67、0.24、0.09。
我想找什么
我能提供什么线索
最后被汇总的内容
Q、K、V 像在图书馆查资料。心里的问题是查询 Q,每本书的书名和目录是键 K,书里的正文是值 V。拿问题去对目录,越对得上的书,从里面摘抄的内容越多。
如果“桌子”的键也变成 (1, 1),和“苹果”一样,那么“它”分给苹果和桌子的权重会怎样?
几个头各看一种关系,位置编号补上词的先后。
多头注意力 同一句话,同时交给几组注意力去算,每组叫一个“头”。
专看指代:“它”指向“苹果”。
专看动作和对象:“放”连着“苹果”和“桌子”。
专看左右邻居:“很”连着“圆”。
位置编码 注意力本身不管词的先后。给每个字加上“第几位”的记号,顺序才分得清。
| 第 1 位 | 第 2 位 | 第 3 位 | |
|---|---|---|---|
| 我爱你 | 我 | 爱 | 你 |
| 你爱我 | 你 | 爱 | 我 |
多头注意力像医生会诊。内科医生看化验单,外科医生看片子,营养师问饮食,各看一面,合起来才是完整的判断。
如果去掉位置编码,模型最可能分不清下面哪一对句子?
同样的注意力积木,三种搭法,擅长的事各不相同。
| 搭法 | 每个词能看到哪里 | 擅长 | 代表模型 |
|---|---|---|---|
| 仅编码器 | 前后都能看 | 理解:分类、检索、找关键信息 | BERT |
| 仅解码器 | 只能看前面 | 生成:对话、写作、写代码 | GPT、Llama |
| 编码器-解码器 | 先读完输入,再逐词写输出 | 转换:翻译、摘要、改写 | T5 |
看到一个模型的名字,先弄清它是哪种搭法,就大致知道它擅长做什么。BERT 适合做判断和检索,GPT 适合写,T5 适合把一段文字转换成另一段。
同样一堆砖,可以砌成围墙、烟囱或拱门。材料一样,结构不同,用途就不同。
BERT 和第一代 GPT 都出现在 2018 年,前者来自谷歌,后者来自 OpenAI。T5 由谷歌在 2019 年提出。
靠做完形填空练出来,前后文都看,擅长读懂。
判断一条评论是好评还是差评,从文章里找出人名地名,按意思搜索相似的句子。
续写。它习惯了前后都能看到,可是写到一半时,后面的内容还不存在。
像一位精读的读者。给他一段话,他能说出意思、情绪、提到了谁。让他接着往下写,就不是他的强项了。
从左往右接龙,每一步只看前面,是今天大模型的主流。
如果训练时能看到后文,模型会学着“抄”后面的答案。到了使用的时候,后文还没写出来,它就不会了。所以训练时要把后面的字遮住。
按左图,第 3 步时模型能看到哪几个字?
先把输入完整读懂,再一个词一个词写出结果。
| 搭法 | 像什么 |
|---|---|
| 仅编码器 | 理解器:读懂一段话 |
| 仅解码器 | 续写器:接着往下写 |
| 编码器-解码器 | 转换器:把一段话变成另一段 |
同声传译先听完一句中文,在脑子里形成意思,再用英文说出来。听和说是两个环节,中间隔着一层理解。