从文字到行动 / 09 OF 20

填空和接龙,怎么成了训练方法?

NLP、Agent与世界模型的20段故事
资料核查截止 2026年9月7日 · 正文约 1,753

设想同一句话出现在两张考卷上。第一张写着:“小王把那本蓝色的——还给管理员。”第二张只写:“小王把那本蓝色的”。

第一张让你补空,空后面的内容也能看;第二张让你往下接,后面是什么还不知道。材料相似,能够利用的线索不同。用这两种任务训练模型,会对它的信息处理提出不同要求。

Transformer解决了信息怎样交换,却没有规定训练必须考什么。2018年的BERT和初代GPT,是理解这个分岔的两个重要案例。1 2

先纠正考卷的计量单位

一路上我们说“下一个词”,是为了先讲清预测。不过模型实际处理的基本文本单元通常叫token,可以译作词元。它可能是完整词,也可能是词的一部分、一个字或标点;不同切分器的结果不同。

设想某个教学词表没有完整的“蓝皮书”,却有“蓝”“皮”“书”,那么可以分成较小单位表示。这里不是报告某个产品的真实切分结果。作用在于说明:不必给每个新组合都准备一个完整词条,系统也有机会处理它。

这与系列开篇的中文分词有关,却目标不同。开篇问怎样找出语言中的词界;此处还要考虑有限词表怎样覆盖文本,以及切分后序列有多长。切得很细,词表容易覆盖,计算步数却可能增加;大块很多,序列可能缩短,词表和罕见块的学习又成为负担。

2018年的SentencePiece展示了从原始句子训练子词切分模型的工具路线,不要求先用另一套语言分词器把句子切成词。3

电脑并没有终于找到全世界唯一正确的切词法。它给自己选了一副方便计算的积木。人类说“一个词”,机器可能已经收了三块材料的搬运费。

BERT:前后都看,再补缺口

BERT的英文全名指“来自Transformer的双向编码表示”。这里的双向,关键是某个位置的表示能够结合左右两边的上下文。1

如果直接把答案留在原位,再要求模型预测这个位置,它可能只学会照抄。因此BERT训练时选取部分位置,对输入作遮盖等处理,要求恢复原来的词元。教学例子把“书”遮住以后,“还给管理员”这段右侧线索也能帮助判断。

模型仍然给候选计算概率,再根据原来实际是什么来更新参数。题目和答案都能从已有文本中制造出来,不需要人逐句另写问答。这类从数据本身构造监督信号的训练,通常称为自监督学习。没有人逐空批改,不等于训练没有目标。

原始BERT还使用判断两段文本是否在原文中相接的任务。它不是所有后来编码模型都必须照办的永久考纲,我们只在这里标明原版做过什么。1

填空练习推动表示吸收语境。把“苹果很甜”换成“苹果发布新品”,同样的输入词块经过上下文计算,可以得到不同的内部表示。相较于每个词固定一份词向量,语境参与得更深入。终于不用让水果部门和手机部门共用一张写死的员工证。

GPT:不知道后文,就练习预测后文

GPT意为生成式预训练Transformer。初代GPT采用从左到右的语言建模:根据此前词元预测后续,不能利用尚未出现的右侧内容。2

在第二张教学考卷上,模型只看到“小王把那本蓝色的”。“书”是可能的后续,“杯子”也可能。在训练样本原文确实写“书”时,误差推动模型提高这个真实后续的概率;这不等于宣布现实里蓝色物体只能是书。

继续预测、选择、把结果接回前文,就能生成更长文本。它与上篇的因果遮罩相配合:训练时不给每个位置偷看未来,使用时才有办法按同样的信息条件往下写。

这两种任务并不能简化成“BERT负责理解,GPT没有理解只会说”。理解不是贴在架构上的许可证。应比较具体工作:一段完整文字里的分类或位置判断,可能适合利用双向表示;持续生成后文,则天然符合从左到右的预测方式。实际系统还可以组合、改造结构。

更不能把初代GPT直接写成今日聊天助手。它的论文重点包括先预训练,再针对有标签的目标任务调整模型;“输入一句吩咐就完成许多工作”的使用方式,还会经过后续发展。

先读大量材料,再学一项具体工作

设想我们要判断一条借阅留言是在表扬服务,还是在投诉。若从随机参数开始,就得同时学文字规律和分类标准;如果已有一个通过大量文本训练的模型,可以在它的基础上,用带标签的留言继续调整。

前一个打基础的阶段叫预训练,后一个针对目标任务继续训练的阶段叫微调。BERT与初代GPT都展示了这类迁移路线,只是预训练目标和具体使用方式有所区别。1 2

比如教学留言“书很好,就是借了半年还没轮到我”,单看“很好”容易误判。已有语境表示可以为后续分类提供基础,而带标签的训练让输出适应当前标准。它不是把所有预训练文本放在旁边逐条检索,也不是新来一条留言就必须重新训练。

预训练节省了每项工作都从零学起的重复劳动,但并不保证材料可靠、任务标签合理,或者模型已经适合直接服务用户。一个读过全馆藏书的人,第一天上柜台仍可能把读者投诉续写成文学评论。

填空和接龙之所以能成为训练方法,是因为它们能从文本自身产生大量可核对的预测任务,让共享参数逐渐学到有用规律。它们训练的是不同条件下的预测,不是两套人类心理学人格。

下一篇,我们会把接龙模型的规模与材料继续扩大,再看一件反直觉的事:有时不修改参数,仅在题目前摆几个例子,它也能改变接下来的做法。

参考资料

  1. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,Jacob Devlin、Ming-Wei Chang、Kenton Lee、Kristina Toutanova,2018/2019。论文
  2. Improving Language Understanding by Generative Pre-Training,Alec Radford、Karthik Narasimhan、Tim Salimans、Ilya Sutskever,2018。论文
  3. SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing,Taku Kudo、John Richardson,2018。论文