前言
从 Transformer 的注意力革新到 ChatGPT 的对话涌现,大模型技术历经了从架构创新到对齐优化的关键演进。以 GPT 系列为代表的模型,依托 Transformer 解码器逐步扩容参数,实现了少样本学习能力;而 RLHF、Prompt 工程与 In-Context Learning 等技术的加入,让模型从'懂语言'走向'懂人类意图'。本文梳理支撑 ChatGPT 的核心论文与技术脉络,为读者呈现大模型从基础构建到对齐落地的完整技术图谱。
一、Transformer
ChatGPT 使用的预训练模型 GPT,是在 Transformer 中的 decoder 基础上进行改造的。
论文标题:《Attention Is All You Need》 论文链接:《Attention Is All You Need》 摘要:占主导地位的序列转导模型是基于复杂的递归或卷积神经网络,包括一个编码器和一个解码器。性能最好的模型还通过注意机制将编码器和解码器连接起来。我们提出了一个新的简单的网络结构 - Transformer,它只基于注意力机制,完全不需要递归和卷积。在两个机器翻译任务上的实验表明,这些模型在质量上更胜一筹,同时也更容易并行化,需要的训练时间也大大减少。我们的模型在 WMT 2014 英德翻译任务中达到了 28.4 BLEU,比现有的最佳结果(包括合集)提高了 2 BLEU 以上。在 WMT 2014 英法翻译任务中,我们的模型在 8 个 GPU 上训练了 3.5 天后,建立了新的单模型最先进的 BLEU 得分,即 41.0 分,这只是文献中最佳模型的训练成本的一小部分。
二、GPT-3
GPT 家族与 BERT 模型都是知名的 NLP 预训练模型,都基于 Transformer 技术。GPT1 只有 12 个 Transformer 层,而到了 GPT-3,则增加到 96 层。
论文标题: 《Language Models are Few-Shot Learners》 论文链接: 《Language Models are Few-Shot Learners》 摘要:最近的工作表明,在许多 NLP 任务和基准上,通过对大型文本语料库进行预训练,然后对特定的任务进行微调,可以获得巨大的收益。虽然在结构上通常是任务无关的,但这种方法仍然需要特定任务的微调数据集,包括几千或几万个例子。相比之下,人类通常只需通过几个例子或简单的指令就能完成一项新的语言任务 —— 而目前的 NLP 系统在很大程度上仍难以做到这一点。在这里,我们展示了扩大语言模型的规模,大大改善了与任务无关的、少量的性能,有时甚至达到了与之前最先进的微调方法的竞争力。具体来说,我们训练了 GPT-3,一个具有 1750 亿个参数的自回归语言模型,比以前的任何非稀疏语言模型多 10 倍,并测试了它在少数情况下的性能。对于所有的任务,GPT-3 的应用没有任何梯度更新或微调,纯粹通过与模型的文本互动来指定任务和少量演示。GPT-3 在许多 NLP 数据集上取得了强大的性能,包括翻译、回答问题和 cloze 任务,以及一些需要即时推理或领域适应的任务,如解读单词、在句子中使用一个新词或进行 3 位数的算术。同时,我们也发现了一些数据集,在这些数据集中,GPT-3 的几率学习仍然很困难,还有一些数据集,GPT-3 面临着与大型网络语料库训练有关的方法学问题。最后,我们发现,GPT-3 可以生成人类评价者难以区分的新闻文章样本。我们讨论了这一发现和 GPT-3 总体上的更广泛的社会影响。
三、InstructGPT
ChatGPT 的训练流程,主要参考自 instructGPT,ChatGPT 是改进的 instructGPT。
论文标题: 《Training language models to follow instructions with human feedback》 论文链接: 《Training language models to follow instructions with human feedback》 摘要:让语言模型变得更大并不意味着它们能更好地遵循用户的意图。例如,大型语言模型可以产生不真实的、有毒的或根本对用户没有帮助的输出。换句话说,这些模型没有与用户保持一致。在本文中,我们展示了一个途径,通过人类反馈的微调,在广泛的任务中使语言模型与用户的意图保持一致。从一组标签员写的提示语和通过 OpenAI API 提交的提示语开始,我们收集了一组标签员演示的所需模型行为的数据集,我们利用监督学习对 GPT-3 进行微调。然后,我们收集模型输出的排名数据集,我们利用人类反馈的强化学习来进一步微调这个监督模型。我们把产生的模型称为 InstructGPT。在人类对我们的提示分布的评估中,尽管参数少了 100 倍,但 1.3B 参数的 InstructGPT 模型的输出比 175B 的 GPT-3 的输出更受欢迎。此外,InstructGPT 模型显示了真实性的改善和有毒输出生成的减少,同时在公共 NLP 数据集上的性能回归最小。尽管 InstructGPT 仍然会犯一些简单的错误,但我们的结果表明,利用人类反馈进行微调是使语言模型与人类意图相一致的一个有希望的方向。


