近年来,语言模型取得了重大进展。这一进步是对数十亿个参数进行广泛训练和调整的结果,也是商业用途基准测试的结果。这项工作的起源可以追溯到 1950 年代,当时自然语言理解和处理的研究开始了。
本文旨在概述过去 70 年语言模型的历史和演变。它还将检查当前可用的大型语言模型 (LLM),包括其架构、调优参数、企业就绪情况、系统配置等,以深入了解其训练和推理过程。这种探索将使我们能够了解该领域的进展,并评估可用于商业用途的选择。
最后,我们将深入研究部署这些模型对环境的影响,包括其功耗和碳足迹,并了解组织为减轻这些影响而采取的措施。
过去 70 多年 NLU / NLP 发展的简史
大约 1950 年代,Claude Shannon 发明了信息论领域。这项工作的重点是需要传输的消息的编码问题。它引入了语言中的熵和冗余等概念,这成为 NLP 和计算语言学的基本贡献和基石。
1957 年,诺姆·乔姆斯基 (Noam Chomsky) 提供了句法和语法理论,为理解自然语言提供了正式的结构。这项工作影响了早期的计算语言学和语言处理形式语法的发展。
转向一些早期的计算模型,其中一些,即 60 年代初的隐马尔可夫模型 (HMM) 和 n-gram 模型(80 年代初)是早期的计算模型,它们为从计算角度理解自然语言领域的进步铺平了道路。
隐马尔可夫模型 (HMM) 用于序列的统计建模,这对于语音识别等任务至关重要。它们为建模语言序列提供了一个概率框架。另一方面,n-gram 模型使用固定长度的单词序列来预测序列中的下一个单词。它们简单而有效,多年来成为语言建模的标准。
接下来是神经网络和嵌入领域的进步。在 90 年代初,开发了早期的神经网络模型,如递归神经网络 (RNN) 和长短期记忆 (LSTM) 网络。这些模型允许在顺序数据中学习模式,这是语言建模的关键要求。后来,潜在语义分析 (LSA) 和后来的 Word2Vec (Mikolov et al., 2013) 等技术允许对单词进行密集的向量表示。单词嵌入捕获了单词之间的语义关系,从而显著改善了各种 NLP 任务。
此时,我们现在正进入一个数据在各行各业呈爆炸式增长的阶段,这也是一些关键的现代基础模型得到发展的时候。在 2014 年,Bahdanau 等人引入的注意力机制允许模型专注于输入序列的相关部分。它显著改进了机器翻译,并为更复杂的架构奠定了基础。
然后,在 2017 年,Vaswani 等人的研究论文“注意力就是你所需要的”中出现了其中一项突破,该论文强调了 Transformer 架构。transformer 模型引入了一种完全基于注意力的机制,消除了递归的需要。Transformers 支持数据的并行处理,从而在各种 NLP 任务上实现更高效的训练和卓越的性能。
生成式预训练转换器 (GPT) 标志着 2018 年由 Radford 等人推出的 GPT-1 在 NLP 中的一个重要里程碑。该模型利用了对大量文本语料库进行预训练,然后对特定任务进行微调的概念,从而在众多 NLP 应用程序中取得了显着改进,并将 GPT 的架构确立为该领域的基石。同年,Devlin 等人的 BERT(Bidirectional Encoder Representations from Transformers)通过引入双向 transformer 模型来彻底改变 NLP,该模型考虑了单词两侧的上下文,设定了新的性能基准并普及了基于 transformer 的模型。
随后的发展在 2019 年看到了 GPT-2,它显着扩展了 GPT-1 模型,展示了在更大的数据集上进行无监督预训练的能力,并生成连贯的、上下文相关的文本。GPT-3 于 2020 年发布,具有 1750 亿个参数,展示了卓越的小样本和零样本学习能力,突出了大规模语言模型在从创意写作到编码辅助等各种应用中的潜力。继 BERT 之后,RoBERTa、ALBERT 和 T5 等衍生产品出现,为特定任务提供各种调整和改进,提高训练效率,减少参数,优化特定任务的性能。
大型语言模型的进步
下表简要介绍了 LLM 领域的发展情况。它不是一个全面的列表,但提供了有关模型类型、该模型的开发人员、底层架构、参数、训练数据类型、潜在应用、企业价值以及使用它们的最低系统规格的高级见解。
型 | 开发 人员 | 建筑 | 参数 | 训练数据 | 应用 | 首次发布 | 企业价值 | 系统规格 |
伯特 | 谷歌 | 变压器 (编码器) | 3.4 亿(大) | 维基百科, BooksCorpus | 情感分析、Q&A、命名实体识别 | 10 月 18 日 | 高 | GPU(例如 NVIDIA V100)、16GB RAM、TPU |
GPT-2 的 | 开放人工智能 | 变压器 | 15 亿 | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 2月-19 | 中等 | GPU(例如 NVIDIA V100)、16GB RAM |
XLNet 公司 | 谷歌/CMU | Transformer (Autoregressive) (变压器 (自回归) | 3.4 亿(大) | 书籍Corpus, 维基百科, Giga5 | 文本生成、Q&A、情感分析 | 6 月 19 | 中等 | GPU(例如 NVIDIA V100)、16GB RAM |
罗伯塔 | 脸书 | 变压器 (编码器) | 3.55 亿(大) | 多样化的互联网文本 | 情感分析、Q&A、命名实体识别 | 7 月 19 | 高 | GPU(例如 NVIDIA V100)、16GB RAM |
蒸馏 BERT | 拥抱脸 | 变压器 (编码器) | 6600 万 | 维基百科, BooksCorpus | 情感分析、Q&A、命名实体识别 | 10 月 19 | 高 | GPU(例如 NVIDIA T4)、8GB RAM |
T5 | 谷歌 | Transformer (编码器-解码器) | 110 亿(大) | 巨大的干净爬行语料库 (C4) | 文本生成、翻译、摘要、Q&A | 10 月 19 | 高 | GPU(例如 NVIDIA V100)、16GB RAM、TPU |
阿尔伯特 | 谷歌 | 变压器 (编码器) | 2.23 亿 (XXLARGE) | 维基百科, BooksCorpus | 情感分析、Q&A、命名实体识别 | 12月-19 | 中等 | GPU(例如 NVIDIA V100)、16GB RAM |
Ctrl 键 | Salesforce 公司 | 变压器 | 16 亿 | 多样化的互联网文本 | 受控文本生成 | 9月-19 | 中等 | GPU(例如 NVIDIA V100)、16GB RAM |
GPT-3 的 | 开放人工智能 | 变压器 | 1750 亿 | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 6 月 20 日 | 高 | 多 GPU 设置(例如,8 个 NVIDIA V100),96GB RAM |
伊莱克特拉 | 谷歌 | 变压器 (编码器) | 3.35 亿(大) | 维基百科, BooksCorpus | 文本分类、Q&A、命名实体识别 | 3 月 20 日 | 中等 | GPU(例如 NVIDIA V100)、16GB RAM |
厄 尼 | 百度 | 变压器 | 100 亿(第 3 版) | 多样化的中文文本 | 文本生成、问答、摘要(以中文为主) | 3 月 20 日 | 高 | GPU(例如 NVIDIA V100)、16GB RAM |
威震天-LM | 英伟达 | 变压器 | 83 亿 | 多样化的互联网文本 | 文本生成、Q&A、摘要 | 10 月 19 | 高 | 多 GPU 设置(例如,8 个 NVIDIA V100),96GB RAM |
搅拌机机器人 | 脸书 | Transformer (编码器-解码器) | 94 亿 | 对话数据集 | 对话代理、对话系统 | 4 月 20 日 | 高 | GPU(例如 NVIDIA V100)、16GB RAM |
图灵-NLG | Microsoft | 变压器 | 170 亿 | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 2 月 20 日 | 高 | 多 GPU 设置(例如,8 个 NVIDIA V100),96GB RAM |
威震天-图灵 NLG | Microsoft/NVIDIA 公司 | 变压器 | 5300 亿 | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 10 月 20 日 | 高 | 多 GPU 设置(例如,8 个 NVIDIA A100),320GB RAM |
GPT-4 的 | 开放人工智能 | 变压器 | ~1.7 万亿(估计) | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 3 月 23 日 | 高 | 多 GPU 设置(例如,8 个 NVIDIA A100),320GB RAM |
推车 2.0 | Databricks | 变压器 | 120 亿 | Databricks 生成的数据 | 文本生成、Q&A、翻译、摘要 | 4 月 23 日 | 高 | GPU(例如 NVIDIA A100),40GB RAM |
骆马 | 元 | 变压器 | 650 亿 (LLaMA 2) | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 7 月 23 | 高 | 多 GPU 设置(例如,8 个 NVIDIA A100),320GB RAM |
手掌 | 谷歌 | 变压器 | 5400 亿 | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 4月-22 | 高 | 多 GPU 设置(例如,8 个 NVIDIA A100),320GB RAM |
克劳德 | 人 | 变压器 | 秘密 | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 3 月 23 日 | 高 | 多 GPU 设置(例如,8 个 NVIDIA A100),320GB RAM |
绒鼠 | 深度思维 | 变压器 | 700 亿 | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 3 月 22 日 | 高 | GPU(例如 NVIDIA A100),40GB RAM |
绽放 | 大科学 | 变压器 | 1760 亿 | 多样化的互联网文本 | 文本生成、Q&A、翻译、摘要 | 7月-22 | 高 | 多 GPU 设置(例如,8 个 NVIDIA A100),320GB RAM |
大型语言模型功耗和碳足迹
虽然我们正在利用 LLM 在各个行业领域提供的巨大潜力和优势,但了解 LLM 对整体计算资源空间构成的其他影响以及它们对其他功耗和碳足迹的潜在影响也很重要。
由于大型语言模型的资源密集型性质,训练大型语言模型的功耗和碳足迹已成为重大问题。以下是基于各种研究和估计的这些问题概述:
训练和推理成本
训练大型语言模型(例如具有 1750 亿个参数的 GPT-3)需要大量的计算资源。通常,此过程涉及在数周或数月内使用数千个 GPU 或 TPU。在实际应用程序中使用这些模型(称为推理)也会消耗大量电量,尤其是在大规模部署时。
能源消耗估算
对于 GPT-3,训练消耗大约 1,287 MWh 的功率,而训练 BERT(基础)估计需要 650 kWh,BERT(大型)需要大约 1,470 kWh。
碳足迹
训练这些模型的碳足迹因数据中心的能源来源和效率而异。使用可再生能源可以显着减少碳影响。
GPT-3:假设电力的平均碳强度,训练 GPT-3 的估计碳排放量约为 552 公吨 CO2e(二氧化碳当量)。
BERT:训练 BERT(大型)估计排放约 1.9 公吨二氧化碳当量。
为了提供一些背景信息,麻省理工学院的一项研究表明,训练大型语言模型的碳足迹可能相当于美国五辆普通汽车的生命周期排放量。
影响能源消耗和碳足迹的因素
大型语言模型 (LLM) 的能耗和碳足迹受几个高级因素的影响。首先,模型大小至关重要;具有更多参数的较大模型需要更多的计算资源,从而导致更高的能耗和碳排放。训练时间也会影响能量使用,因为较长的训练时间自然会消耗更多的能量。用于训练的硬件(例如 GPU、TPU)的效率是另一个关键因素;更高效的硬件可以大大降低整体能源需求。
此外,数据中心效率也起着重要作用,效率由电源使用效率 (PUE) 衡量。PUE 值较低的数据中心效率更高,从而减少了冷却和其他非计算操作所需的能源。最后,为这些数据中心供电的电源极大地影响了碳足迹。与依赖不可再生能源的数据中心相比,使用可再生能源的数据中心的碳足迹要低得多。这些因素共同决定了培训和运行 LLM 对环境的影响。
减轻环境负荷的措施
为了减少大型语言模型的能源消耗和碳足迹,可以采用多种策略。开发更高效的训练算法可以减少计算需求,从而降低能源使用。硬件创新,例如更高效的 GPU 和 TPU,也可以降低训练和推理的功耗要求。将可再生能源用于数据中心可以显着减少碳足迹。模型修剪、量化和蒸馏等技术可以在不影响性能的情况下优化模型大小和功耗需求。此外,基于云的服务和共享资源可以提高硬件利用率并减少空闲时间,从而提高能源效率。
最近的努力和研究
最近的几项工作侧重于理解和减少语言模型对环境的影响:
- 绿色 AI:研究人员倡导在报告 AI 研究的能源和碳成本时保持透明度,并优先考虑效率和可持续性。
- 效率研究:像 “NLP 深度学习的能源和政策考虑” (Strubell et al., 2019) 这样的研究提供了对能源成本的详细分析,并提出了减少环境影响的最佳实践。
- 能源感知型 AI 开发:将能源效率纳入 AI 模型的开发和部署的举措越来越受欢迎,促进了可持续的 AI 实践。
总之,虽然大型语言模型在 NLP 方面取得了重大进步,但它们在能源消耗和碳足迹方面也带来了挑战。解决这些问题需要采取多方面的方法,包括更高效的算法、先进的硬件、可再生能源,并致力于 AI 开发的可持续实践。