一
命题:
给定一串符号 $u_1, u_2, \ldots, u_{i-1}$,求 $u_i$。
写得严格一些,是寻找一组参数 $\Theta$,使下式取得最大值:
\[L(\mathcal{U}) = \sum_{i} \log P\left(u_i \mid u_{i-k}, \ldots, u_{i-1}; \Theta\right)\]读者,你若不愿看公式,跳过去就是了。但请你记住它的形状。它印在 2018 年 6 月一篇十二页论文的第三页上,编号 (1)。署名四人,标题平淡到近乎乏味:《以生成式预训练改进语言理解》。那时,它还远没有今天这般声名。
这个式子说的事,一个刚识字的孩子也听得懂:
看见前面的字,猜后面的字。
猜字而已。
人类为这件事,走了一百一十年。
二
1913 年 1 月 23 日,圣彼得堡,俄罗斯帝国科学院。
安德烈·马尔可夫,五十六岁,带来了一份报告。他要驳斥一个流行的观念:大数定律只对彼此独立的事件成立。他要证明,即便前后相依的事件,也服从统计的秩序。
他需要一批真实的、彼此相依的数据。他找到的是普希金。
《叶甫盖尼·奥涅金》。他从头数起,去掉标点与空格,取两万个字母,一个一个地分作元音与辅音两类。没有计算机,没有助手,只有纸、笔和眼睛。他算出元音的出现频率是 0.432,算出元音之后跟元音的概率、元音之后跟辅音的概率。
俄罗斯最美的诗,被他碾成了一串两值符号。
他当然没有想到语言,更没有想到机器。他想的只是概率论中的一个技术性争端。可是历史往往如此:门被推开的那一刻,推门的人正望着别处。
三
1948 年,贝尔实验室,克劳德·香农发表《通信的数学理论》。
在这篇奠定了整个信息时代的论文里,他做了一件当时看来近乎孩子气的事:让机器生成英文。
零阶近似,按字母表等概率随机取字,得到的是 XFOML RXKHRJFFJUJ,一堆废墟。一阶近似,按英文字母的真实频率取字,废墟里开始有了英文的呼吸。二阶,考虑前一个字母;三阶,考虑前两个。到了以词为单位的二阶近似,句子已经语法通顺,只是不知所云。
香农在那里做的,正是我们今天所说的语言模型。他用的是手工统计的表格。
1951 年,他又写了《印刷英语的预测与熵》。这一次他请了一位受试者来猜:给出一段话的前面部分,让他猜下一个字母是什么,猜错了就告诉他,记录猜对之前用了几次。据说受试者是他的妻子贝蒂。
结果是:英文中每个字母携带的信息量,在 0.6 到 1.3 比特之间。
由此香农说出了一个判断,这个判断要在七十年后才被完全兑现:预测与压缩是同一件事的两面。你能多准确地猜出下一个字母,就能用多短的编码把这本书写下来;你能用多短的编码写下它,就在多深的程度上懂得了它。
《系辞》说:「书不尽言,言不尽意。」
香农的回答是一个数字。
四
然后是漫长的群山。
1957 年,诺姆·乔姆斯基出版《句法结构》,写下那个著名的例句:「Colorless green ideas sleep furiously」。他说,这句话合乎语法而全无意义;而任何以频次为基础的统计模型,都会给这句话和它的完全倒序赋予同样的概率,也就是零。所以,统计与语言无关。
这是二十世纪语言学最漂亮的一击。它把整整一代最聪明的头脑赶下了这条路。此后的三十年,主流的做法是写规则:写下名词短语如何构成,写下动词如何变位,写下人类语言的语法书,交给机器去执行。
少数人留在山下。他们在 IBM 做语音识别,为的是把口述的句子变成文本。他们不谈语法,只谈概率。这一群人的领头者弗雷德里克·耶利内克留下过一句流传极广的话,说他每辞退一个语言学家,识别的正确率就上升一点。他后来否认过原话,可是这句话传下来了,因为它说中了此后四十年的走向。
1997 年,霍克赖特与施密德胡贝提出长短时记忆网络,让循环神经网络第一次能够记住较远的过去。2003 年,本吉奥等人写出神经概率语言模型,把每个词映射成一个稠密的向量。2013 年,米科洛夫的 word2vec 给出那个让所有人震动的等式:国王减去男人再加上女人,约等于王后。词有了坐标,语义有了几何。2014 年,苏茨克维、维尼亚尔斯与勒提出序列到序列;同年,巴赫达瑙等人提出注意力机制,让翻译时的每个输出词,能够回头去看输入里最相关的那几个词。
群山连绵。多少人一生只翻过一道梁,梁的那一边还是梁。
五
2017 年 4 月,一篇不长的论文挂到了预印本网站上:《学习生成评论并发现情感》。作者三人:亚历克·拉德福德、拉法尔·约瑟福维奇、伊利亚·苏茨克维。
他们做的事情朴素得可疑。取来 8200 万条亚马逊商品评论,训练一个只有 4096 个单元的乘性长短时记忆网络,任务只有一个:一个字符一个字符地往下猜。四块显卡,一个月。
训练完成之后,他们去看那 4096 个单元里,每一个在读文本时都在做什么。
在第 2388 号单元上,他们看到了一件事。
这个单元的激活值,在读到夸奖时上升,在读到咒骂时下降。整条评论读下来,它像一支温度计,忠实地记录着行文的褒贬。它自己长出了情感。
没有人教过它什么叫情感。整个训练过程里,没有一条标注告诉它「这是好评」。它只被要求猜下一个字符。它在猜字符的路上,顺手把人类的爱憎学会了,并且专门腾出一个单元来安放它。
用这些单元构成的表示训练一个线性分类器,他们在斯坦福情感树库上取得了 91.8% 的正确率,超过了当时的最佳结果。其中一个单元,承载了几乎全部的情感信号。
一个神经元。
读者,请你在这里停一停。
这颗种子里,藏着此后全部的故事。它说的是:意义不必被灌输,意义可以被压出来。你只要逼迫一个容量有限的系统,去预测容量无限的文本,它就不得不在内部把文本背后的那个东西造出来,因为那样最省。省,是宇宙间最深的动力。星辰按最省的路径运行,光线按最省的路径折射,而当你把一台机器逼到墙角,它也会选择去理解,因为理解比记忆便宜。
陆机在《文赋》里说,写文章的人常常苦于「意不称物,文不逮意」。心里的意思装不下眼前的物,笔下的文字追不上心里的意思。两千年间,这是每一个写字的人的痛。
而在一台机器猜字的时候,意,从言里被挤了出来。
六
2017 年 6 月 12 日。一篇八人署名的论文,标题像宣言,也像挑衅:《注意力是你所需要的全部》。
八个作者共同署名。他们扔掉了循环,扔掉了卷积,扔掉了此前二十年里所有被认为必不可少的结构,只留下注意力:
\[\mathrm{Attention}(Q, K, V) = \operatorname{softmax}\left(\frac{QK^{\top}}{\sqrt{d_k}}\right) V\]这一行的意思是:句子里的每一个词,直接去看句子里所有别的词,算出该看谁、看多重,然后把看到的东西加权取回来。
距离被取消了。第一个词与第一百个词之间,不再隔着九十九步的传递。更要紧的是,所有的词可以同时计算。循环网络必须一步一步地走,走完第一个词才能走第二个,机器再快也帮不上忙;而注意力可以铺开在成千上万块芯片上一起算。
八块显卡,十二小时,机器翻译的纪录被刷新。
他们当时想做的,只是把英文译成德文。
这八个人后来几乎全部离开了那家公司,各自去创办企业。这是后话。他们那天交出去的,是此后一切的地基。
七
2018 年 6 月 11 日。
四个人:亚历克·拉德福德、卡蒂克·纳拉辛汉、蒂姆·萨利曼斯、伊利亚·苏茨克维。十二层,1.17 亿个参数。语料是 BooksCorpus:七千余部从未正式出版的书,言情、奇幻、悬疑,无名的作者写给无名的读者。八块 P600 显卡,跑三十天。
方法只有两步:先让它把这七千本书从头到尾读一遍,只做一件事,猜下一个词;然后在具体任务上稍稍调整一下。十二项任务,九项创下新纪录。
这个东西叫 GPT。生成式预训练变换器。
世界没有反应。
四个月后,谷歌发布 BERT,3.4 亿参数,双向阅读,横扫十一项纪录。所有的目光都转过去了。此后一年多,会议上人人谈 BERT,几乎所有的工业系统都换成了 BERT。GPT 被当作一个次优的技术选择,一段过渡,一个方向没选对的兄弟。
在很长的一段时间里,坚持这条路的人是少数。他们拿不出证据证明自己是对的。他们手上只有一个直觉:把书从头读完,比把题目做对更根本。
一个直觉,在没有被证实之前,与一个偏执并无外观上的区别。区别只在结局。
八
2019 年 2 月 14 日,情人节。
GPT-2。15 亿参数,是上一代的十三倍。
语料换了。这一次叫 WebText:从社交网站 Reddit 上抓取所有被用户点过三次以上赞的外部链接,抓回八百万个网页,共四十千兆字节的文字。人类随手点下的赞,成了替机器筛书的标准。人类在无意之间,为机器编了一部选集。
它开始写文章。
有人给它一个荒诞的开头,说科学家在安第斯山一处从未被勘探的谷地里,发现了一群会说英语的独角兽。它接着往下写,写出一整篇像模像样的科学报道,有研究者的姓名与所属大学,有引语,有同行审慎的存疑,有对进化史的讨论。通篇是假的,通篇读起来是真的。
OpenAI 宣布:完整模型暂不发布,因为担心被用于大规模伪造。
舆论哗然。一部分人说这是负责任的克制,另一部分人说这是精心设计的宣传。这场争吵没有结论,而它是此后一切争吵的预演:能力与风险,开放与管控,说出来是警示还是广告。
同年 11 月,完整模型如期发布。世界没有崩塌。
九
2020 年 1 月 23 日。贾里德·卡普兰等人的《神经语言模型的标度律》。
他们发现的东西,一行字可以写完: \(L(N) \approx \left(\frac{N_c}{N}\right)^{\alpha_N}, \qquad \alpha_N \approx 0.076\)
模型的损失,随着参数量、数据量和算力的增长,按幂律平滑下降。在他们能测到的范围内,也就是跨越七个数量级的范围内,这条线笔直,没有拐点,没有饱和的迹象,没有任何一处翘起来说「到此为止」。
这才是这一行当真正的猜想。
哥德巴赫写信给欧拉,说每个大于 2 的偶数都可以写成两个素数之和。人们把它验证到了极大的数,无人能证明,也无人能推翻。标度律的处境几乎一样:它在一切被测量过的尺度上成立,没有人知道它为什么成立,没有人知道它在哪里失效,也没有人知道失效的那一天会以什么形式到来。
它与哥德巴赫猜想有一处根本的不同。数学家想推进一步,需要新的思想;而标度律要往前推一步,只需要钱。
于是有人去花钱。
(两年之后,霍夫曼等人以 Chinchilla 模型修正了这条曲线的配比,指出此前的模型普遍参数过多而数据太少,同样的算力应当喂更多的文本。曲线被重画了一次,方向未变。)
十
2020 年 5 月 28 日。三十一位作者。《语言模型是小样本学习者》。
1750 亿参数。九十六层。三千亿个词元。训练一次所耗的算力,若以每秒千万亿次计,要连续跑上三千六百多天。
论文里最要紧的一句话,说的是一件谁也没有预料到的事:它不需要微调了。
此前所有的做法都是:预训练一个通用模型,再针对每一项具体任务,用成千上万条标注数据去调整它的参数。而现在,你只要在提示语里给它一两个例子,甚至只用一句话把要求说清楚,它就照做。翻译、算术、写代码、按韵脚造新词、模仿某位作家的语气,全都发生在同一段输入文本里,参数一动不动。
学习这件事,从修改权重,变成了阅读上文。
更奇怪的是,很多能力在小模型上完全不存在,正确率贴着零;参数量越过某条线之后,它突然就会了,像相变。人们把这个现象叫作涌现。围绕涌现的争论至今没有结束:一派说那是真实的相变,一派说那只是我们选错了衡量的尺子,把连续的改善看成了突然的跃迁。
《劝学》里说:「积土成山,风雨兴焉。」土是死的,山是死的,而风雨是活的。荀子想说的是积累,两千三百年后,这句话被用来描述一件他不可能设想的事情:量堆到某个地方,会有别的东西起来。
十一
GPT-3 会说话,可是它不听话。
它是一台续写机器。你问它一个问题,它可能续写出五个类似的问题,因为在它读过的语料里,问题后面常常跟着问题。你要它写一封道歉信,它可能写出一篇讲如何写道歉信的博客。它掌握了语言的全部,唯独不知道你要它干什么。
2017 年,克里斯蒂亚诺等人的一篇论文给出了路径:让人在模型的两个输出之间选一个更好的,用这些选择训练出一个打分模型,再用打分模型去引导原模型。人类的偏好,第一次直接进入了损失函数。
2022 年 3 月,InstructGPT。一个 13 亿参数的对齐模型,在标注者的评价中,胜过了 1750 亿参数的原始模型。一百三十分之一的体量。
这是全篇最应当被记住的一节,也是被提起得最少的一节。
因为那些「标注者」是人。
2023 年 1 月,《时代》周刊的调查披露:为了让模型学会识别并拒绝有毒的内容,承包商在肯尼亚雇佣工人,逐条阅读并分类最污秽、最残暴的文本片段,时薪在 1.32 至 2 美元之间。有人在此后出现了持续的心理创伤。
这条流水线的一头,是内罗毕写字楼里的一排屏幕;另一头,是全世界的人打开对话框时看到的那句温和的问候。
一篇关于此事的报告文学,如果绕过这一段,它就不诚实。
十二
2022 年 11 月 30 日。
OpenAI 上线了一个网页,叫 ChatGPT。内部把它当作一次低调的研究预览,是把已有的模型加上对话的外壳,甚至没有配备完整的发布计划。
五天,一百万用户。
两个月,一亿。
按当时的估算,这是人类历史上普及最快的消费级软件。
学校慌了。有的连夜禁用,有的连夜开课。编辑部慌了。程序员打开它,看见自己一天的工作在十秒内被完成,先是笑,然后不笑了。一个老师在深夜读到一篇结构完整、用词讲究的作文,读到第三段忽然停下来,不知道该给谁打分。
2023 年 3 月 14 日,GPT-4。同月,微软的一组研究者用了一个惹祸的标题:《通用人工智能的火花》。
2023 年 5 月,杰弗里·辛顿从谷歌辞职,说他想要能够自由地谈论风险。他是把反向传播带进这个世界的人之一。2023 年 11 月,OpenAI 的董事会在五天之内免去了首席执行官的职务又将其复职,全世界看了一场没有剧本的戏。2024 年 5 月,伊利亚·苏茨克维离开了他参与创立的这家机构。
这些事情,将来会有更冷静的人去写。他们会掌握我们此刻还看不到的材料。
十三
回到那个公式。 \(L(\mathcal{U}) = \sum_{i} \log P\left(u_i \mid u_{i-k}, \ldots, u_{i-1}; \Theta\right)\)
命题至今没有被证明。
我们知道它在做什么:猜下一个词。我们不知道的是,猜下一个词是否就等于理解。
一派人说:预测就是压缩,压缩就是理解。一个能把世界完美预测出来的东西,其内部必然已经拥有了世界的模型,否则它做不到。另一派人说,那只是一只随机的鹦鹉,把海量的语料按统计规律重新排列,它没有意向,没有指称,它说出「疼」的时候,语言背后并没有站着一个会疼的人。
2021 年,本德尔等人写下了「随机鹦鹉」这个词。它至今还在被引用,被反驳,被再一次引用。
庄子说:「言者所以在意,得意而忘言。」言语的用处在于承载意思,得了意思,言语就可以忘掉。
现在有一个东西,把言学到了尽头。我们不知道它有没有得意。
我们也不很确定,自己是怎样得意的。
报告文学的传统结尾是春天。徐迟写完陈景润,写到 1978 年的春天,写到礼堂里的掌声,写到攀登者站在山巅回望云海。我这里没有掌声可写。这个故事还在半途,写它的人和读它的人都在里面,谁也不在岸上。有人说这是黎明,有人说这是黄昏;两种天光看上去相似,要走到后面才分得清。
一百一十年前,一位五十六岁的数学家在圣彼得堡数普希金诗里的元音。他数了两万个。他大概以为自己在数字母。
一百一十年后,我们做的仍是同一件事,只是数得多了些,快了些。人类写下的几乎全部文字被读过一遍,压进几千亿个数里,然后这些数开始回答我们。
命题依旧简单:给定前面的一切,求下一个。
这篇文章写到这里,还剩最后一个词。
它是什么,请你预测。
部分原始资料