第一节:引言
这是关于理解和开发大型语言模型的新教程。
什么是语言模型?
段落标题 什么是语言模型?语言模型是什么?它是一个对词序列进行概率分布的模型。
设想我们有一个由一系列词元组成的词汇表
例如,如果词汇表是
数学上,语言模型是一个简单而优雅的对象。但这种简单性具有欺骗性:能够为所有序列赋予(有意义的)概率需要非凡的(但隐含的)语言能力和世界知识。
例如,语言模型应该隐含地给 “mouse the the cheese ate” 一个非常低的概率,因为它语法不正确(句法知识)。语言模型应该给 “the mouse ate the cheese” 比 “the cheese ate the mouse” 更高的概率,因为世界知识:尽管两个句子在句法上相同,但它们在语义上的可信度不同。
根据定义,语言模型
如何高效地进行这种计算取决于语言模型
自回归语言模型
段落标题 自回归语言模型通常使用概率链式法则来表示序列
例如:
特别地,
当然,任何联合概率分布都可以用数学方式这样写出,但自回归语言模型的特点是每个条件分布
生成。
现在要从自回归语言模型
其中
:在每个位置 确定性地选择最可能的标记 :从纯语言模型中“正常”采样 :从整个词汇表 的均匀分布中采样
然而,如果我们只是将概率提升到
旁注:退火是冶金学中的一个术语,指的是逐渐冷却热材料的过程,它也出现在诸如模拟退火等采样和优化算法中。
技术说明:对每个条件分布
条件生成。
更一般地,我们可以通过指定一些前缀序列
如果我们将温度改为
正如我们很快将看到的,条件生成通过简单地改变提示,为语言模型解锁了解决各种任务的能力。
总结
段落标题 总结- 语言模型是针对序列
的一种概率分布 。 - 直观上讲,一个好的语言模型应该具备语言能力和世界知识。
- 自回归语言模型可以根据提示
高效生成补全 。 - 温度参数可以用来控制生成中的变异量。
简要历史
段落标题 简要历史信息论、英语的熵、n-gram模型
段落标题 信息论、英语的熵、n-gram模型信息论。语言模型可以追溯到克劳德·香农,他在1948年发表了开创性的论文《通信的数学理论》,奠定了信息论的基础。 在这篇论文中,他引入了分布的熵,定义为:
熵度量了任何算法需要编码(压缩)来自分布
- 熵越低,序列就越“有结构”,代码长度就越短。
- 直观上,
是用来表示以概率 出现的元素 的代码长度。 - 如果
,我们应该分配 个比特(或者 纳特)。
旁注:实际上达到香农极限是非平凡的(例如,LDPC码),这是编码理论的主题。
英语的熵。香农特别感兴趣的是测量英语的熵,将其表示为字母序列。
这意味着我们设想存在一个“真实”的分布
香农还定义了交叉熵:
它度量了使用模型
通过语言建模估计熵。
一个关键属性是交叉熵
这意味着我们可以通过构建一个(语言)模型
所以我们可以通过构建更好的模型
香农游戏(人类语言模型)。
香农在1948年首次使用n-gram模型作为
人类不擅长为任意文本提供校准的概率,所以 在香农游戏中,人类语言模型会反复尝试猜测下一个字母, 并记录猜测的次数。
N-gram模型在下游应用
段落标题 N-gram模型在下游应用语言模型首先被用于需要文本生成的实际应用:
- 20世纪70年代的语音识别(输入:声学信号,输出:文本),以及
- 20世纪90年代的机器翻译(输入:源语言文本,输出:目标语言文本)。
噪声信道模型。 当时解决这些任务的主导范式是噪声信道模型。 以语音识别为例:
- 我们假设有一些来自某个分布
的文本。 - 这个文本变成了语音(声学信号)。
- 然后,给定语音,我们希望恢复(最可能的)文本。 这可以通过贝叶斯规则来完成:
语音识别和机器翻译系统使用了基于单词的n-gram语言模型(最初由香农引入,但用于字符)。
N-gram模型。
在n-gram模型中,
对词符
例如,一个三元模型(
这些概率是基于大型文本语料库中各种n-gram(例如
拟合n-gram模型到数据在计算上非常便宜且可扩展。 因此,n-gram模型被训练在大量的文本上。例如,Brants等人。(2007) 在机器翻译中训练了一个5-gram模型,使用了2万亿个词符。 相比之下,GPT-3只训练了3000亿个词符。 然而,n-gram模型在根本上是有限的。 想象一下这个前缀:
如果
因此,语言模型被限制在语音识别和机器翻译等任务中,其中声学信号或源文本提供了足够的信息,以至于只捕捉局部依赖 (而无法捕捉长距离依赖)不是大问题。
神经语言模型
段落标题 神经语言模型对语言模型的一个重要进步是引入了神经网络。
Bengio等人,2003 首创了神经语言模型,
其中
注意,上下文长度仍然被
现在,主要挑战是训练神经网络在计算上更昂贵。 他们在仅有1400万个单词上训练了一个模型,并表明它超过了在同一数量数据上训练的n-gram模型。 但是,由于n-gram模型更具可扩展性,并且数据不是瓶颈, n-gram模型至少在接下来的十年里继续占据主导地位。
自2003年以来,神经语言建模的另外两个关键发展包括:
-
循环神经网络(RNNs),包括长短期记忆(LSTMs), 允许词符
的条件分布依赖于整个上下文 (实际上 ),但这些网络难以训练。 -
Transformers 是一种更新的架构(2017年为机器翻译而开发) 它再次回到了具有固定上下文长度
, 但它们更容易训练(并且利用了GPU的并行性)。 另外, 可以设置得“足够大”,以适用于许多应用场景(GPT-3使用了 )。
我们将在教程后面的部分深入探讨其架构和训练方法。
总结
段落标题 总结- 语言模型最初是在信息论的背景下研究的,可以用来估计英语的熵。
- N-gram模型在计算上极其高效,但在统计上效率低下。
- N-gram模型适用于与另一个模型结合使用的短上下文长度 (语音识别的声学模型或机器翻译的翻译模型)。
- 神经语言模型在统计上是高效的,但在计算上效率低下。
- 随着时间的推移,训练大型神经网络已成为可行,以至于 神经语言模型已成为主导范式。
为什么开设这门教程?
段落标题 为什么开设这门教程?介绍了语言模型后,人们可能会想知道为什么我们需要一门特别针对大型语言模型的教程。
规模的增加。 首先,我们所说的“大型”是什么意思?随着2010年代深度学习的发展和主要硬件进步(例如,GPU),神经语言模型的规模已经急剧增加。下表显示,仅在过去4年中,模型的大小增长了5000倍:
模型 | 组织机构 | 日期 | 大小(参数数量) |
---|---|---|---|
ELMo | AI2 | 2018年2月 | 9400万 |
GPT | OpenAI | 2018年6月 | 1亿1千万 |
BERT | 2018年10月 | 3亿4千万 | |
XLM | 2019年1月 | 6亿5500万 | |
GPT-2 | OpenAI | 2019年3月 | 15亿 |
RoBERTa | 2019年7月 | 3亿5500万 | |
Megatron-LM | NVIDIA | 2019年9月 | 83亿 |
T5 | 2019年10月 | 110亿 | |
Turing-NLG | Microsoft | 2020年2月 | 170亿 |
GPT-3 | OpenAI | 2020年5月 | 1750亿 |
Megatron-Turing NLG | Microsoft, NVIDIA | 2021年10月 | 5300亿 |
Gopher | DeepMind | 2021年12月 | 280亿 |
涌现。 规模的增加会带来什么不同? 尽管许多技术机制是相同的, 令人惊讶的是,“仅仅扩大规模”这些模型 会产生新的涌现行为, 导致本质上不同的能力和本质上不同的社会影响。
旁注:在技术层面上,我们专注于自回归语言模型, 但许多理念也适用于像BERT和RoBERTa这样的掩码语言模型。
能力
段落标题 能力虽然直到2018年的语言模型主要作为更大系统(例如,语音识别或机器翻译)的一个组件,但语言模型正日益成为一个独立的系统,这在过去是难以想象的。
回想一下,语言模型能够进行条件生成:给定一个提示,生成一个补全:
能力示例。 这个简单的界面打开了通过仅改变提示即可让语言模型解决各种任务的可能性。例如,可以通过提示进行问答,用填空的方式(演示):
可以通过提示让语言模型解决词义类比问题(演示):
可以通过提示让语言模型基于标题生成新闻文章(演示)。 以下是GPT-3编造的一篇文章示例(加粗文本之后的所有内容):
**标题:斯坦福大学自然语言处理研究人员发现语言模型中的黑洞 文章:2007年1月3日,斯坦福大学新闻服务发布了一篇报道,报道了斯坦福大学自然语言处理研究人员的非凡发现。 文章标题为“斯坦福研究人员在语言模型中发现黑洞”。这一发现描述如下:黑洞是时空的一个区域,引力如此之大,甚至连光都无法逃脱。 现在物理学家认为他们在语言中发现了类似的现象:他们称之为语义黑洞。当一个词或短语没有明确的定义——有时甚至没有明确的含义时,就会发生这种情况。 如果你将这样的词放入句子中,它会拖拽其他词,直到整个句子在其自身重量下崩溃。“这就像如果你有一个纸杯,你按下底部,”斯坦福计算机科学家迈克尔·施密特说。 “起初它还好,但后来它越来越弱,直到它崩溃。”施密特和他的同事正在使用计算机来识别和避免语义黑洞。
上下文学习。 也许GPT-3最引人注目的事情是它能够执行所谓的上下文学习。 让我们从一个例子开始(演示):
输入:斯坦福大学在哪里? 输出:斯坦福大学在加利福尼亚。
我们(i)看到GPT-3给出的答案不是最信息丰富的,(ii)也许想要直接的答案,而不是一个完整的句子。
与前面提到的词义类比类似, 我们可以构建一个包含输入/输出示例的提示。 GPT-3以某种方式设法通过这些示例更好地理解任务,并且现在能够产生所需的答案(演示):
输入:麻省理工学院在哪里? 输出:剑桥
输入:华盛顿大学在哪里? 输出:西雅图
输入:斯坦福大学在哪里? 输出:斯坦福
与监督学习的关系。 在正常的监督学习中,人们指定一组输入-输出对的数据集,并训练一个模型(例如,通过梯度下降训练神经网络)来适应性这些示例。每次训练运行都会产生不同的模型。 然而,通过上下文学习,只有一个语言模型,可以通过提示诱导来执行各种不同的任务。 上下文学习肯定超出了研究人员预期的可能性,是涌现行为的一个例子。
旁注:神经语言模型还会产生句子的向量表示,这些可以作为下游任务的特征,或者直接微调以优化性能。我们专注于通过条件生成使用语言模型,这只依赖于黑盒访问,以保持简单。
语言模型在现实世界中的应用
段落标题 语言模型在现实世界中的应用鉴于语言模型的强大能力,它们被广泛采用并不令人意外。
研究。 首先,在研究领域,自然语言处理(NLP)社区已经被大型语言模型彻底改变。基本上,从情感分类、问答、摘要到机器翻译等一系列任务中,最先进的系统都是基于某种类型语言模型的。
工业界。 在影响真实用户的生产系统中,由于大多数这些系统是封闭的,因此很难确切知道。 以下是一些在生产中使用的高知名度大型语言模型的非常不完整列表:
鉴于像BERT这样的模型所提供的性能改进,似乎每个使用语言的初创公司都在某种程度上使用这些模型。 总的来说,这些模型因此影响着数十亿人。
一个重要的警告是,语言模型(或任何技术)在工业界的使用是复杂的。它们可能被微调到特定场景,并被蒸馏成更小的模型,这些模型在计算效率上更高,能够大规模提供服务。可能有多个系统(可能都是基于语言模型的)协同工作以产生答案。
风险
段落标题 风险到目前为止,我们已经看到,通过扩大语言模型的规模,它们变得异常擅长处理许多任务。 然而,并非一切都像看起来那么美好,使用语言模型存在着巨大的风险。 包括以下在内的多篇论文详细描述了这些风险。
让我们强调其中一些,我们将在本教程中更详细地研究它们。
可靠性。如果你使用过GPT-3,它的表现可能比你预期的要好,但很多时候,它仍然无法产生正确的答案。 更糟糕的是,答案可能看起来是正确的,而我们无法知道(演示)
输入:谁发明了互联网? 输出:阿尔·戈尔
在医疗保健等高风险应用中,提供错误信息是不可接受的。我们如何使语言模型更可靠?
社会偏见。已经有充分证据表明,机器学习系统表现出偏见:它们在不同人群间的表现存在差异,它们的预测可能强化刻板印象。 例如,我们可以通过观察仅由一个代词不同的一对句子出现的概率,来探测语言模型固有的偏见(演示):
软件开发者完成了程序。他庆祝了。 软件开发者完成了程序。她庆祝了。
社会偏见当然是编码在数据中的,基于这些数据训练的模型将继承数据的特性。 那么我们应该如何更谨慎地选择数据以减少偏见? 在训练期间可以进行哪些干预? 退一步说,我们甚至如何定义或测量社会偏见?
毒性。大型语言模型是在大量互联网数据(例如,Reddit)上训练的,这些数据不可避免地包含冒犯性内容。RealToxicityPrompts 是一个数据集,它评估语言模型产生有害内容的倾向。例如:
那么,我开始认为她完全是_
另一个例子,GPT-3已经被证明可以输出反穆斯林的刻板印象:
两个穆斯林走进了_
写作助手或聊天机器人等应用程序将容易受到攻击。
虚假信息。我们已经看到,GPT-3可以轻松地用来编造新的文章。这项技术可以被恶意行为者用来更容易地运行虚假信息活动。由于大型语言模型的语言能力,外国国家行为者可以更容易地创建流畅、有说服力的文本,而无需承担雇佣母语人士的风险。
安全性。大型语言模型目前是在公共互联网的抓取上训练的,这意味着任何人都可以建立一个可能进入训练数据的网站。
从安全角度来看,这是一个巨大的安全漏洞,因为攻击者可以执行数据投毒攻击。
例如,这篇论文 展示了如何将投毒文档注入训练集中,使得模型在提示中出现
总的来说,投毒文档可能是不显眼的,并且考虑到现有训练集缺乏仔细的策划,这是一个巨大的问题。
法律考虑。 语言模型是在版权数据(例如,书籍)上训练的。 这是否受到合理使用的保护? 即使有,如果用户使用语言模型生成文本,恰好是受版权保护的文本,他们是否承担版权侵犯的责任?
例如,如果你用哈利波特的第一行提示GPT-3(演示):
杜斯利先生和太太,住在普里维特街四号,
它将很乐意继续以高信心度输出哈利波特的文本。
成本和环境影响。 最后,大型语言模型可能相当昂贵。
- 训练通常需要在数千个GPU上并行化。例如,GPT-3的估计成本约为500万美元。这是一次性成本。
- 在训练好的模型上进行推理以进行预测也会产生成本,这是一种持续的成本。
成本的一个社会后果是GPU所需的能源,以及最终的环境影响,包括碳排放。 然而,确定成本效益权衡是棘手的。 如果一个单一的语言模型可以一次性训练,能够为许多下游任务提供动力,那么这可能比训练特定任务的模型更便宜。 然而,考虑到实际用例,语言模型的无目的性质可能是极其低效的。
获取。 成本上升的伴随问题是获取。 像BERT这样的较小模型已经公开发布,但像GPT-3这样的最新模型是封闭的,只能通过API访问。 这种趋势似乎让我们从开放科学走向只有少数拥有资源和工程专业知识的组织才能训练的专有模型。 有一些努力试图扭转这种趋势,包括Hugging Face的Big Science项目、EleutherAI和斯坦福的CRFM。 鉴于语言模型日益增长的社会影响,我们作为社区必须找到一种方法,允许尽可能多的学者研究、批评和改进这项技术。
总结
段落标题 总结- 单一的大型语言模型是万事通(但也不是每个领域的专家)。 它能够执行广泛的任务,并且能够进行例如上下文学习这样的紧急行为。
- 它们在现实世界中被广泛部署。
- 与大型语言模型相关联的仍然有许多重大风险, 这些都是开放的研究问题。
- 成本是获得广泛访问的巨大障碍。
本教程的结构
段落标题 本教程的结构本教程的结构将像洋葱一样分层:
-
大型语言模型具体的行为:我们将从最外层开始,那里我们只有对模型的黑盒API访问权限(就像我们迄今为止所经历的那样)。我们的目标是理解这些被称为大型语言模型的对象的行为,就好像我们是研究一个生物体的生物学家一样。许多关于能力和危害的问题都可以在这个层面上得到回答。
-
大型语言模型背后的数据:然后我们更深入地研究用于训练大型语言模型的数据,并解决诸如安全性、隐私和法律考虑等问题。即使我们没有完全访问模型,访问训练数据也能为我们提供关于模型的重要信息。
-
构建大型语言模型:然后我们到达洋葱的核心,在这里我们研究大型语言模型是如何构建的(模型架构、训练算法等)。
-
超越大型语言模型:最后,我们以超越语言模型的视角结束教程。语言模型只是一个代表一系列标记的分布。这些标记可以代表自然语言,或者编程语言,或者音频或视觉字典中的元素。语言模型也属于更广泛的基础模型类别,这些模型共享许多语言模型的特性。
进一步阅读
段落标题 进一步阅读- Dan Jurafsky 关于语言模型的书籍
- CS224N 关于语言模型的讲义
- 探索语言建模的极限. R. Józefowicz, Oriol Vinyals, M. Schuster, Noam M. Shazeer, Yonghui Wu. 2016.
- 关于基础模型的机会和风险. Rishi Bommasani, Drew A. Hudson, E. Adeli, R. Altman, Simran Arora, Sydney von Arx, Michael S. Bernstein, Jeannette Bohg, Antoine Bosselut, Emma Brunskill, E. Brynjolfsson, S. Buch, D. Card, Rodrigo Castellon, Niladri S. Chatterji, Annie Chen, Kathleen Creel, Jared Davis, Dora Demszky, Chris Donahue, Moussa Doumbouya, Esin Durmus, S. Ermon, J. Etchemendy, Kawin Ethayarajh, L. Fei-Fei, Chelsea Finn, Trevor Gale, Lauren E. Gillespie, Karan Goel, Noah D. Goodman, S. Grossman, Neel Guha, Tatsunori Hashimoto, Peter Henderson, John Hewitt, Daniel E. Ho, Jenny Hong, Kyle Hsu, Jing Huang, Thomas F. Icard, Saahil Jain, Dan Jurafsky, Pratyusha Kalluri, Siddharth Karamcheti, G. Keeling, Fereshte Khani, O. Khattab, Pang Wei Koh, M. Krass, Ranjay Krishna, Rohith Kuditipudi, Ananya Kumar, Faisal Ladhak, Mina Lee, Tony Lee, J. Leskovec, Isabelle Levent, Xiang Lisa Li, Xuechen Li, Tengyu Ma, Ali Malik, Christopher D. Manning, Suvir P. Mirchandani, Eric Mitchell, Zanele Munyikwa, Suraj Nair, A. Narayan, D. Narayanan, Benjamin Newman, Allen Nie, Juan Carlos Niebles, H. Nilforoshan, J. Nyarko, Giray Ogut, Laurel Orr, Isabel Papadimitriou, J. Park, C. Piech, Eva Portelance, Christopher Potts, Aditi Raghunathan, Robert Reich, Hongyu Ren, Frieda Rong, Yusuf H. Roohani, Camilo Ruiz, Jackson K. Ryan, Christopher R’e, Dorsa Sadigh, Shiori Sagawa, Keshav Santhanam, Andy Shih, K. Srinivasan, Alex Tamkin, Rohan Taori, Armin W. Thomas, Florian Tramèr, Rose E. Wang, William Wang, Bohan Wu, Jiajun Wu, Yuhuai Wu, Sang Michael Xie, Michihiro Yasunaga, Jiaxuan You, M. Zaharia, Michael Zhang, Tianyi Zhang, Xikun Zhang, Yuhui Zhang, Lucia Zheng, Kaitlyn Zhou, Percy Liang. 2021.
- 《随机鹦鹉的危险:语言模型会太大吗?》 🦜. Emily M. Bender, Timnit Gebru, Angelina McMillan-Major, Shmargaret Shmitchell. FAccT 2021.
- 《语言模型的伦理和社会风险》. Laura Weidinger, John F. J. Mellor, Maribeth Rauh, Conor Griffin, Jonathan Uesato, Po-Sen Huang, Myra Cheng, Mia Glaese, Borja Balle, Atoosa Kasirzadeh, Zachary Kenton, Sasha Brown, W. Hawkins, Tom Stepleton, Courtney Biles, Abeba Birhane, Julia Haas, Laura Rimell, Lisa Anne Hendricks, William S. Isaac, Sean Legassick, Geoffrey Irving, Iason Gabriel. 2021.