IT 论文精读 · PAPER 10

BERT:双向预训练 + 微调

Devlin 等 · Google AI Language · NAACL 2019

EN →

这篇论文干了什么?

2018 年,Google 一队人提出了 BERT:先让模型把维基百科和上万本书「裸读」一遍、自学语言,再针对每个具体任务(判断评论好评差评、回答问题……)花很小的功夫「补个课」就能上岗——一口气刷新了 11 项语言理解任务的纪录,有的还超过了人类。今天所有大模型(包括 ChatGPT)都遵循的「先预训练、再调教」的路子,就是被这篇论文在语言领域彻底带火的。2019 年起,你每一次 Google 搜索背后都跑着它。

先说个怪事

教机器「读懂」语言,最自然的功课是接龙:给它半句话,让它猜下一个词。但接龙有个天生的别扭——只准看左边、不准看右边,像拿一张纸挡着后文读书。可人理解一个词,明明是两头一起看的:「他走进__把钱存了进去」,空里是「银行」,答案的线索在右边的「存钱」里;只看左边的「他走进」,猜什么都有可能。当时最强的模型就这么别扭着:要么只从左往右读,要么把「从左读一遍」和「从右读一遍」两个各自挡着半边的模型硬拼在一起——始终没有一个模型能真正同时看两边

换一道功课:完形填空

BERT 的解法妙在换题型:别玩接龙了,玩完形填空。把一句话随机挖掉几个词,让模型猜被挖掉的是什么。要猜对空里的词,模型必须左右两边一起看——这道题天生就逼它双向理解。而且这种练习题不要钱:随便一段文字,挖几个空,就是一道自带标准答案的题。维基百科加上万本书,就是几十亿道免费练习题,不需要任何人来批改。做题、对答案、改错,重复几十亿遍,模型就把词义、语法、常识一点点「吸」了进去。

先读大学,再岗前培训

光会填空还不能干活。BERT 的第二个点子是把学习拆成两段,就像人的培养:先花大成本读一次「通识大学」(在海量文本上做完形填空,练出通用的语言底子——这一步只需做一次),然后每个岗位只需一次「岗前速成」:拿几千条带标注的例子,把同一个底子稍微调一调,几个小时就能上岗。以前每个任务都得从零培养一个「文盲」,费时费力还学不好;现在人人都从「大学毕业生」起步。一次昂贵的自学,无数次廉价的上岗——这买卖太划算了。

带来了什么

BERT 一出,11 项语言理解任务全线破纪录,整个领域几乎在一年内全面转向「预训练 + 微调」的范式;Google 把它装进了搜索引擎,去理解你搜的那句话到底想问什么。也说句诚实的:BERT 是个「阅读理解型」选手,擅长读懂、不擅长写作——后来能聊天能写文章的 GPT 路线走的是另一条路,规模大了之后风头盖过了它;但「先预训练再调教」这个范式,正是从它这里成为全行业共识的。

一句话记住

把「接龙」换成「完形填空」,模型就能左右两边一起看地读几十亿句话、免费自学出语言底子;之后每个任务只需在这个底子上「岗前速成」一下。先读大学、再岗前培训——这个范式从 BERT 起统治了整个 AI。

想看挖空的具体玩法、模型结构和实验数字? → 切到精读版