AI / Technology
通过生成式预训练提升语言理解
两阶段迁移:无标注长文本经过生成式预训练进入同一个 Transformer,再…
图 1|阅读路径:先从大量无标注文本学通用表示,再用少量任务标签完成适配。教学重绘;依据论文 pp. 2–3。
- 先读,再做题。 模型先在 7,000 多本未出版书籍组成的无标注语料上学习预测下一个 token,再用各任务的标注数据微调。(论文 pp. 2、4)
- 换输入格式,不换整套模型。 蕴含、相似度、问答和分类都被整理成连续 token 序列,核心 Transformer 保持一致,微调时主要只新增线性输出层与分隔符嵌入。(论文 pp. 3–4)
- 迁移确实有效,但不是处处有效。 在研究的 12 个数据集里,9 个刷新了当时最佳结果;RTE 却只有 56.0%,低于对照模型的 61.7%。(论文 pp. 1、5–7)
不同结构化任务都转换为 token 序列,进入同一个模型。
图 2|统一输入:图中的竖线表示分隔;实际实现还加入起始与结束 token。教学重绘;依据论文 p. 4。
蕴含任务把“前提”和“假设”用分隔符串起来;相似度任务同时处理两个句序;选择题把“文章、问题、候选答案”逐一拼接并比较;普通分类直接输入文本。这样,变化主要发生在输入排列,而不是核心架构。(论文 p. 4)
左侧以九个蓝格概括十二项基准中的九项领先
图 3|证据与边界:格子只表示“9/12 项领先”,不是效果大小图。教学重绘;依据论文 pp. 1、5–8。
论文没有报告预训练的硬件、耗时、能耗或总成本,也没有做多语言、生成安全性、偏见或部署延迟评估。训练语料是英文书籍,实验也是英文理解基准;因此“能迁移到其他语言或真实产品流量”属于尚未验证的外推。作者还明确指出尚未探索多任务训练,并在仅 2,490 个样本的 RTE 上落后。(论文 pp. 4–5、8;未报告项为本文对论文范围的核对,不是作者结论。)
研究附录
官方标题: Improving Language Understanding by Generative Pre-Training
作者: Alec Radford、Karthik Narasimhan、Tim Salimans、Ilya Sutskever(OpenAI)
来源: 论文 PDF · 预印本 / 进行中的工作 · 12 页
核心结论
三句话记住这篇论文
- 先读,再做题。 模型先在 7,000 多本未出版书籍组成的无标注语料上学习预测下一个 token,再用各任务的标注数据微调。(论文 pp. 2、4)
- 换输入格式,不换整套模型。 蕴含、相似度、问答和分类都被整理成连续 token 序列,核心 Transformer 保持一致,微调时主要只新增线性输出层与分隔符嵌入。(论文 pp. 3–4)
- 迁移确实有效,但不是处处有效。 在研究的 12 个数据集里,9 个刷新了当时最佳结果;RTE 却只有 56.0%,低于对照模型的 61.7%。(论文 pp. 1、5–7)
问题
标注数据稀缺,原始文本却很多
自然语言理解包含文本蕴含、问答、语义相似度和分类等任务。问题在于,每个任务都需要昂贵的人工标注,而可直接利用的原始文本远多得多。论文想回答的是:能否先从无标注文本中学到可复用的表示,再用有限标注把它迁移到不同任务?(论文 pp. 1–2)
旧路线卡在“怎么学”与“怎么迁移”
当时的方法没有统一答案:预训练可以用语言建模、机器翻译或篇章连贯性等目标;迁移时又常要为每个任务修改网络、加入复杂训练方案,或把预训练表示当成额外特征。作者选择更直接的路线:用语言建模做统一预训练,再把任务结构编码进输入,而不是给每个任务重造模型。(论文 pp. 1–3)
方法
第一阶段:从连续长文本预测下一个 token
模型使用仅含解码器的 12 层 Transformer:状态维度 768、12 个注意力头、前馈层内部维度 3,072。它在 BooksCorpus 的 7,000 多本书上训练 100 个 epoch,每段输入为连续 512 个 token。连续文本很关键,因为它保留了跨句、跨段的长距离结构。(论文 pp. 3–5)
第二阶段:带着同一组参数去做题
在有标签的数据上,最后一层 Transformer 的表示接入线性层来预测标签。微调目标还可以保留一个加权的语言建模辅助目标;作者称它有助于泛化和收敛。不过消融结果显示,这个辅助目标并非普遍增益:去掉它后的八任务平均分为 75.0,略高于完整模型的 74.7;较大数据集更可能受益。(论文 pp. 3、7–8,表 5)
关键技巧:把任务结构写进输入
蕴含任务把“前提”和“假设”用分隔符串起来;相似度任务同时处理两个句序;选择题把“文章、问题、候选答案”逐一拼接并比较;普通分类直接输入文本。这样,变化主要发生在输入排列,而不是核心架构。(论文 p. 4)
证据与局限
最强结果:跨任务提升,不只赢一项
模型在 12 个数据集中的 9 个达到当时最佳。代表性结果包括:Story Cloze 86.5,相比此前最佳 77.6 提高 8.9 个百分点;RACE 总分 59.0,相比 53.3 提高 5.7 个百分点;MultiNLI matched 为 82.1,相比 80.6 提高 1.5 个百分点;GLUE 总分 72.8,相比 68.9 提高 3.9 分。(论文 pp. 1–2、5–7,表 2–4)
| 检验 | 完整方法 | 对照 | 读法 |
|---|---|---|---|
| 八任务平均分 | 74.7 | 无预训练 59.9 | 去掉预训练下降 14.8 分 |
| 八任务平均分 | 74.7 | LSTM + 辅助 LM 69.1 | Transformer 高 5.6 分 |
| RTE 准确率 | 56.0% | 多任务 BiLSTM 61.7% | 小数据任务上的明确失败例 |
来源:论文 pp. 5、7–8,表 2、5。不同任务指标混合后的“平均分”只适合该消融内部比较。
层迁移与零样本分析:解释“为什么可能有效”
随着迁移的预训练层数增加,MultiNLI 和 RACE 表现继续改善;完整迁移在 MultiNLI 上可带来最高约 9% 的提升。作者还设计了四种启发式零样本测试,其表现随语言模型训练推进而稳定上升。这支持“预训练层逐步学到任务相关能力”的解释,但零样本做法是启发式探针,并不等于这些任务已经被可靠解决。(论文 pp. 7–8,图 2)
不能从这篇论文推出什么
论文没有报告预训练的硬件、耗时、能耗或总成本,也没有做多语言、生成安全性、偏见或部署延迟评估。训练语料是英文书籍,实验也是英文理解基准;因此“能迁移到其他语言或真实产品流量”属于尚未验证的外推。作者还明确指出尚未探索多任务训练,并在仅 2,490 个样本的 RTE 上落后。(论文 pp. 4–5、8;未报告项为本文对论文范围的核对,不是作者结论。)
实际意义
从“一题一模型”转向“一个底座,多种适配”
对产品与工程团队,这篇论文最重要的启发是:先建设可复用的语言底座,再把任务差异尽量放进数据格式与轻量输出层。它降低了为每类任务单独设计深层架构的需要,也让同一套预训练参数可以覆盖分类、匹配和选择题式问答。(这是基于论文方法的产品解释;论文 pp. 2–4。)
落地前应问的四个问题
- 目标领域是否与书籍文本差得太远,需要新的无标注语料或领域继续预训练?
- 标注集是否像 RTE 一样很小,是否要加入多任务训练、交叉验证或更强基线?
- 输入能否稳定地改写成序列,且不会因截断丢掉关键上下文?
- 训练成本、延迟、公平性与安全性是否已单独评估,而不是由基准分数替代?
术语与核验索引
- 生成式预训练(generative pre-training):用前文预测下一个 token,以此学习初始参数。(论文 p. 3,式 1)
- 判别式微调(discriminative fine-tuning):在标注任务上用输出层预测标签。(论文 p. 3,式 3–5)
- 任务感知输入变换(task-aware input transformation):把结构化任务整理成连续 token 序列。(论文 p. 4)
- 核验入口:模型规格见 p. 5;任务清单见 p. 5 表 1;主结果见 pp. 6–7 表 2–4;消融与明确反例见 pp. 5、8 表 2、5。
关于这篇论文的三个关键问题
通过生成式预训练提升语言理解 解决了什么问题?
自然语言理解包含文本蕴含、问答、语义相似度和分类等任务。问题在于,每个任务都需要昂贵的人工标注,而可直接利用的原始文本远多得多。论文想回答的是:能否先从无标注文本中学到可复用的表示,再用有限标注把它迁移到不同任务?(论文 pp. 1–2)
通过生成式预训练提升语言理解 的核心结论有哪些证据?
模型在 12 个数据集中的 9 个达到当时最佳。代表性结果包括:Story Cloze 86.5,相比此前最佳 77.6 提高 8.9 个百分点;RACE 总分 59.0,相比 53.3 提高 5.7 个百分点;MultiNLI matched 为 82.1,相比 80.6 提高 1.5 个百分点;GLUE 总分 72.8,相比 68.9 提高 3.9 分。(论文 pp. 1–2、5–7,表 2–4)
阅读 通过生成式预训练提升语言理解 时最需要注意什么局限?
论文没有报告预训练的硬件、耗时、能耗或总成本,也没有做多语言、生成安全性、偏见或部署延迟评估。训练语料是英文书籍,实验也是英文理解基准;因此“能迁移到其他语言或真实产品流量”属于尚未验证的外推。作者还明确指出尚未探索多任务训练,并在仅 2,490 个样本的 RTE 上落后。(论文 pp. 4–5、8;未报告项为本文对论文范围的核对,不是作者结论。)