论文 · arXiv 2005.14165
Language Models are Few-Shot Learners
三句话总结
- 🎯 标准NLP模型依赖基于数千个标注示例的特定任务微调,面临分布外泛化能力差的风险。
- 🔧 在3000亿token上训练GPT-3(最高达1750亿参数),并在没有任何权重更新的情况下仅使用上下文提示进行评估。
- 📈 在少样本设置下,GPT-3 175B达到或接近微调模型的水平,在TriviaQA上达到71.2%,在LAMBADA上达到86.4%的准确率。
摘要
近期研究表明,通过在海量文本语料库上进行预训练,随后在特定任务上进行微调,可以在许多NLP任务和基准测试中取得显著提升。尽管这种方法在架构上通常与任务无关,但仍需要数千或数万个特定任务示例的微调数据集。相比之下,人类通常只需通过极少量的示例或简单的指令就能完成新的语言任务——而当前的NLP系统在很大程度上仍难以做到这一点。在本文中,我们表明扩展语言模型的规模可以极大地提升与任务无关的少样本性能,有时甚至能达到与此前最先进的微调方法相媲美的水平。具体而言,我们训练了GPT-3,这是一个拥有1750亿参数的自回归语言模型,比以往任何非稀疏语言模型大10倍,并在少样本设置下测试了其性能。在所有任务中,GPT-3均在不进行任何梯度更新或微调的情况下应用,任务和少样本演示纯粹通过与模型的文本交互来指定。GPT-3在众多NLP数据集上均取得了强劲的性能,包括翻译、问答和完形填空任务,以及一些需要即时推理或领域自适应的任务,如单词重组、在句子中使用生词或进行三位数算术运算。与此同时,我们也发现了一些GPT-3少样本学习仍难以应对的数据集,以及由于在海量网络语料库上训练而面临方法论问题的数据集。最后,我们发现GPT-3生成的虚构新闻文章样本,人类评估者很难将其与人类撰写的文章区分开来。我们讨论了该发现以及GPT-3整体更广泛的社会影响。
英文原文摘要
Recent work has demonstrated substantial gains on many NLP tasks and benchmarks by pre-training on a large corpus of text followed by fine-tuning on a specific task. While typically task-agnostic in architecture, this method still requires task-specific fine-tuning datasets of thousands or tens of thousands of examples. By contrast, humans can generally perform a new language task from only a few examples or from simple instructions - something which current NLP systems still largely struggle to do. Here we show that scaling up language models greatly improves task-agnostic, few-shot performance, sometimes even reaching competitiveness with prior state-of-the-art fine-tuning approaches. Specifically, we train GPT-3, an autoregressive language model with 175 billion parameters, 10x more than any previous non-sparse language model, and test its performance in the few-shot setting. For all tasks, GPT-3 is applied without any gradient updates or fine-tuning, with tasks and few-shot demonstrations specified purely via text interaction with the model. GPT-3 achieves strong performance on many NLP datasets, including translation, question-answering, and cloze tasks, as well as several tasks that require on-the-fly reasoning or domain adaptation, such as unscrambling words, using a novel word in a sentence, or performing 3-digit arithmetic. At the same time, we also identify some datasets where GPT-3's few-shot learning still struggles, as well as some datasets where GPT-3 faces methodological issues related to training on large web corpora. Finally, we find that GPT-3 can generate samples of news articles which human evaluators have difficulty distinguishing from articles written by humans. We discuss broader societal impacts of this finding and of GPT-3 in general.
论文解读
问题与动机
标准的预训练加微调流程需要庞大的任务特定标注数据集(通常为数千到数十万个示例)。这一要求限制了模型的通用性,增加了对伪相关的敏感性,并与人类学习方式背道而驰——人类仅凭借指令或极简的示例即可适应新任务。此前较小模型在上下文学习(in-context learning)上的尝试远远落后于微调方法。
核心思想
- 上下文元学习(In-Context Meta-Learning):模型在预训练期间习得模式识别技能,并在测试时的前向传播过程中,直接在激活空间内完成任务自适应,无需进行梯度更新。
- 条件范式谱系:任务在零样本(zero-shot,仅指令)、单样本(one-shot,指令 + 单个示例演示)以及少样本(few-shot, 个示例演示,通常在2048 token窗口内为10至100个)下进行全面评测。
- 可预测的扩展定律(Predictable Scaling):验证损失随规模呈幂律经验法则下降,这直接转化为跨越8种模型规模(1.25亿至1750亿参数)的持续下游能力提升。
方法
GPT-3采用了与GPT-2相一致的自回归Transformer架构,并引入了交替的密集和局部带状稀疏注意力模式。模型在3000亿token上进行了预训练,有效上下文长度为 。
核心评估方案包括:
- 逐Token补全似然估计:对于多项选择题数据集,通过比较归一化后的token概率来评估候选补全项。
- 无条件归一化(Unconditional Normalization):在ARC、OpenBookQA和RACE等基准测试中,模型的似然值会根据无条件基线进行归一化:
其中 是通用提示,例如
"Answer: "或"A: "。 - 生成解码:自由格式文本补全任务使用束搜索(beam search),束宽为4,长度惩罚系数 。
实验结果
- 闭卷问答(Closed-Book QA):GPT-3 175B在TriviaQA的少样本评估中达到71.2%(超过微调的开放域RAG的68.0%),在WebQuestions上达到41.5%,在Natural Questions上达到29.9%。
- 语言建模与完形填空:在PTB上取得了20.5的困惑度(零样本)。在LAMBADA上,将任务构造成完形填空可实现86.4%的少样本准确率(比先前的SOTA高出18%)。
- 机器翻译:英译测试中,法译英达到39.2 BLEU,德译英达到40.6 BLEU,罗译英达到39.5 BLEU,超越了以往的无监督NMT基准。
- 推理与综合能力:少样本设置下,两位数加法准确率达100%,三位数加法准确率达80.4%。生成的虚构新闻文章中,人类评估者区分真伪文章的准确率仅为52%(接近随机猜测水平)。
局限性与开放问题
- 表现薄弱的任务:在跨序列比较任务上表现吃力,尤其是NLI(如ANLI、RTE)以及上下文词义判定(WiC准确率仅为49.4%,接近随机猜测)。
- 结构性限制:纯自回归训练限制了双向上下文信息的获取,这对需要回看或通读整段序列的任务不利。
- 数据污染:海量网络抓取导致训练集与测试集出现重叠,因此需要进行大量事后 -gram 过滤审查(例如在Winograd和PIQA上)。
- 社会影响:互联网规模的训练数据不可避免地吸收了显著的性别、种族和宗教偏见,且生成的输出存在被滥用于恶意文本生成的风险。
关键术语
- in-context learning (上下文学习)
- 预训练模型在测试时,完全基于自然语言指令和提示示例推断并执行任务的内循环适应过程,期间不产生任何梯度更新。
- few-shot (少样本)
- 一种评估设置,模型在上下文窗口允许的范围内,同时接收任务描述以及尽量多的演示示例(通常为10到100个)。
- one-shot (单样本)
- 仅允许提供单个任务演示示例并附带自然语言任务描述的评估条件。
- zero-shot (零样本)
- 模型仅接收描述任务的自然语言指令,而不提供任何演示示例的评估设置。
- closed-book question answering (闭卷问答)
- 在测试阶段不依赖外部文档或检索系统,仅凭借存储在模型参数中的知识来回答事实性问题。
- data contamination (数据污染)
- 下游评估基准、测试集或验证集被意外包含在大规模互联网预训练语料库中的现象。
- sparse attention (稀疏注意力)
- 一种交替使用密集注意力层与局部带状稀疏注意力模式的架构改进,用以平衡长上下文下的计算效率。
- unconditional normalization (无条件归一化)
- 将条件补全似然除以仅基于通用提示的前缀补全概率,用于消除多选任务中的长度和频率偏差。
常见问题
完整的GPT-3模型拥有多少参数,它是如何训练的?
GPT-3具有1750亿个可训练参数,涵盖96层、96个注意力头,隐藏层维度为12,288。它在经过清洗过滤的Common Crawl、WebText2、Books1、Books2和Wikipedia数据集上训练了3000亿token,训练过程基于微软V100 GPU集群并使用Adam优化器。
GPT-3在下游基准测试中是否使用了微调?
没有,论文中的所有主要结果均在没有梯度更新或微调的情况下进行评估,完全依赖零样本、单样本或少样本上下文提示。
人类辨别GPT-3 175B生成的新闻文章有多困难?
人类评估者在区分短篇(约200词)和长篇(约500词)GPT-3生成的新闻文章与人类撰写的文章时,准确率仅约为52%,几乎处于随机猜测(50%)的水平。
GPT-3在哪些任务上表现最差?
GPT-3在自然语言推理任务(如ANLI和RTE)、双向比较任务(如Word-in-Context (WiC),得分仅49.4%)以及部分阅读理解任务(如QuAC和RACE)上表现较差。
本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。