语言模型 来自维基百科,自由的百科全书
大型语言模型(英语:large language model,LLM),也称大语言模型,是由具有大量参数(通常数十亿个权重或更多)的人工神经网络组成的一类语言模型,使用自监督学习或半监督学习对大量未标记文本进行训练[1]。大语言模型在2018年左右出现,并在各种任务中表现出色[2]。
![]() | 此条目可参照英语维基百科相应条目来扩充。 |
尽管这个术语没有正式的定义,但它通常指的是参数数量在数十亿或更多数量级的深度学习模型[3]。大语言模型是通用模型,在广泛的任务中表现出色,而不是针对一项特定任务(例如情感分析、命名实体识别或数学推理)进行训练[2]。
尽管大语言模型仅在预测句子中的下一个单词等简单任务上接受过训练,但具有足够训练和参数计数的神经语言模型可以捕获人类语言的大部分句法和语义。 此外大语言模型还展示了相当多的关于世界的常识,并且能够在训练期间“记住”大量事实[2]。
虽然ChatGPT等大语言模型在生成类人文本方面表现出了卓越的能力,但它们很容易继承和放大训练数据中存在的偏差。这可能表现为对不同人口统计数据的歪曲表述或不公平待遇,例如基于种族[4]、性别[5]、语言[6]和文化群体[6]的不同观点与态度。
20世纪90年代,IBM对齐模型开创了统计语言建模。2001年,一个基于3亿个单词进行训练的平滑n-gram模型达到了当时最优的困惑度。[7] 在21世纪,随着互联网的普及,一些研究人员构建了互联网规模的语言数据集(“网络语料库”[8]),并在此基础上训练统计语言模型。[9][10] 2009 年,在大多数语言处理任务中,统计语言模型优于符号语言模型,因为它们可以有效地消化大型数据集。[11]
在 2012 年左右神经网络在图像处理领域占据主导地位后[12],它们也被应用于语言建模。谷歌于 2016 年将其翻译服务转换为神经机器翻译。就像在transformer出现之前的语言模型一样,它由seq2seq深度LSTM网络完成。
在 2017 年 NeurIPS 会议上,谷歌研究人员在他们的里程碑式论文《Attention Is All You Need》中介绍了Transformer架构。这篇论文的目标是改进 2014 年的 seq2seq 技术,[13] 并且主要基于 Bahdanau 等人在 2014 年开发的注意力机制。[14]2018 年,BERT被引入后迅速变得“无处不在”。[15]虽然原始的 Transformer 同时具有编码器和解码器块,但 BERT 是一个仅编码器的模型。随着仅解码器模型(如 GPT)通过提示解决任务的能力迅速提高,BERT 在学术和研究中的使用率在 2023 年开始下降。[16]
仅解码器模型GPT-1于 2018 年推出,但 2019 年推出的GPT-2才引起了广泛关注,因为OpenAI最初认为它过于强大,无法公开发布,因为担心被恶意使用。[17] 2020 年的GPT-3则更进一步,自 2024 年起仅通过API提供,不提供下载模型以在本地执行。2022 年面向消费者的基于浏览器的 ChatGPT 吸引了普通民众的想象力,并引起了一些媒体炒作和在线热议。[18] 2023 年的GPT-4因其准确性的提高而受到称赞,并因其多模态功能而被称为“圣杯”。[19] OpenAI 没有透露 GPT-4 的高级架构和参数数量。ChatGPT 的发布导致计算机科学的几个研究子领域的 LLM 使用率上升,包括机器人技术、软件工程和一些有社会影响的工作。[20]与其竞争的语言模型在很大程度上试图与 GPT 系列相提并论,至少在参数数量方面是这样。[21]
自 2022 年以来,开源模型越来越受欢迎,尤其是最初的BLOOM和LLaMA,尽管两者在使用领域都有限制。Mistral AI的模型Mistral 7B和Mixtral 8x7b拥有更宽松的Apache许可证。截至2024年6月,根据LMSYS Chatbot Arena排行榜,Llama 3的700 亿参数模型的指令微调变体是最强大的开放 LLM,强于GPT-3.5 但不如 GPT-4。[22] 2025年1月,DeepSeek发布了 DeepSeek-R1,这是一个拥有6710亿个参数的开放权重模型,其性能与OpenAI o1相当,但成本却低得多。[23]
自 2023 年以来,许多 LLM 已被训练为多模态,能够处理或生成其他类型的数据,例如图像或音频。这些 LLM 也称为大型多模态模型 (LMM)。[24]
截至 2024 年,最大、功能最强大的模型均基于 Transformer 架构。最近的一些实现基于其他架构,例如循环神经网络变体和 Mamba(状态空间模型)。[25][26][27]
由于机器学习算法处理的是数字而不是文本,因此必须将文本转换为数字(称为token),该过程称为标记化(tokenization)。第一步,确定一个词汇表,然后为每个词汇表条目任意但唯一地分配整数索引,最后将嵌入与整数索引关联。算法包括字节对编码(BPE)和WordPiece(BERT)。还有一些特殊标记用作控制字符,例如 [MASK]
表示掩码标记(如 BERT 中使用的),[UNK]
(“未知”)表示未出现在词汇表中的字符。此外,一些特殊符号用于表示特殊的文本格式。例如,“Ġ”表示 RoBERTa 和 GPT 中的前一个空格。“##”表示 BERT 中前一个单词的延续。[28]
例如,GPT-3(旧版)使用的 BPE 标记器会将标记器:tokenizer: texts -> series of numerical "tokens"
拆分为
token | izer | : | texts | -> | series | of | numerical | " | t | ok | ens | " |
标记器还会压缩数据集。由于 LLM 通常要求输入是一个整齐的数组,因此必须“填充”较短的文本,直到它们与最长文本的长度匹配。平均每个单词需要多少个标记取决于数据集的语言。[29][30]
作为示例,考虑基于字节对编码的标记器。在第一步中,所有唯一字符(包括空格和标点符号)都被视为一组初始的 n-gram(即一组初始的 uni-gram)。随后,最常见的一对相邻字符合并为一个二元组,并用它替换该对的所有实例。然后,将最常一起出现的相邻对(先前合并的)n-gram 再次合并为更长的 n-gram,直到获得规定大小的词汇表(对于 GPT-3,大小为 50257)。[31] 训练标记器后,任何文本都可以被它标记,只要它不包含未出现在初始 uni-gram 集中的字符。[32]
基于从主要英语语料库中提取的频率的标记词汇表对一个普通英语单词使用尽可能少的标记。然而,由这种针对英语优化的标记器编码的另一种语言的普通单词被分成次优数量的标记。对于某些语言,例如缅甸掸语,GPT-2 标记器每个单词最多可以使用 15 倍的标记。与英语相比,葡萄牙语和德语等更广泛使用的语言也“溢价 50%”。[33]
在训练 LLM 的背景下,数据集通常通过删除低质量、重复或有害数据来清理。[35] 清理后的数据集可以提高训练效率并提高下游性能。[36][37]训练过的 LLM 可用于清理数据集以训练进一步的 LLM。[38]
随着网络上 LLM 生成内容的比例不断增加,未来的数据清理可能包括过滤掉此类内容。如果内容与人类文本相似(使过滤变得困难)但质量较低(降低在其上训练的模型的性能),则 LLM 生成的内容可能会带来问题。[39]
训练最大的语言模型可能需要比自然可用的更多的语言数据,或者自然发生的数据质量不够。在这些情况下,可能会使用合成数据。微软的 Phi 系列LLM采用另一LLM生成的类似教科书的数据进行训练。[40]
指令调优(Instruction Tuning)是一种微调技术,通过在包含(指令,输出)对的数据集上以监督学习方式进一步训练大型语言模型,使其更好地理解和执行人类指令。这种方法弥合了大型语言模型的下一个词预测目标与用户希望模型遵循人类指令之间的差距[41]。
最大的 LLM 可能过于昂贵,无法直接训练和使用。对于此类模型,可以应用专家混合 (MoE),这是谷歌研究人员自 2017 年以来一直进行的研究方向,用于训练多达 1 万亿个参数的模型。[43][44]
以前大多数只能通过(昂贵的)微调才能实现的结果,都可以通过提示工程(prompt engineering)实现,尽管仅限于单个对话的范围(更准确地说,仅限于上下文窗口(context window)的范围)。[45]
为了找出上下文窗口范围内哪些 token 彼此相关,注意力机制会使用多个注意力头为每个 token(更准确地说是其嵌入)计算“软”权重,每个注意力头都有自己的“相关性”来计算自己的软权重。例如,小型(即 1.17亿参数大小)GPT-2 模型有 12 个注意力头和一个只有 1000 个 token 的上下文窗口。[47] 在其中等版本中,它有 3.45 亿个参数,包含 24 层,每层有 12 个注意力头。对于梯度下降的训练,使用的批处理大小为 512。[48]
最大的模型,例如 2024 年 2 月推出的 Google Gemini 1.5,可以有一个大小高达 100 万的上下文窗口(1000 万的上下文窗口也“成功测试”)。[49] 其他具有大上下文窗口的模型包括 Anthropic 的 Claude 2.1,其上下文窗口最多有 20 万个 token。[50] 请注意,此最大值指的是输入 token 的数量,输出 token 的最大数量与输入不同,并且通常较小。例如,GPT-4 Turbo 模型的最大输出为 4096 个 token。[51]
模型在生成下一个答案时可以考虑的对话长度也受到上下文窗口大小的限制。如果对话的长度(例如与 ChatGPT 的对话)长于其上下文窗口,则在生成下一个答案时只会考虑上下文窗口内的部分,或者模型需要应用某种算法来总结对话中太远的部分。
使上下文窗口变大的缺点包括计算成本更高,并且可能削弱对局部上下文的关注,而使上下文窗口变小可能会导致模型错过重要的长距离依赖关系。平衡它们是一个实验和特定领域的考虑问题。
模型可以预先训练,以预测片段如何继续,或者在给定训练数据集中的片段的情况下预测片段中缺少什么。[52] 它可以是
模型可以在辅助任务上进行训练,以测试它们对数据分布的理解,例如下一句预测 (NSP),其中呈现成对的句子,模型必须预测它们是否连续出现在训练语料库中。[54] 在训练期间,正则化损失也用于稳定训练。然而,正则化损失通常不用于测试和评估。
“大型语言模型”中的限定词“大型”本质上是模糊的,因为没有明确的阈值来定义“大型”所需的参数数量。随着时间的推移,以前被认为是“大型”的东西可能会演变。2018 年的 GPT-1 通常被认为是第一个 LLM,尽管它只有 1.17 亿个参数。在大型语言模型列表中可以看到向大型模型发展的趋势。
自 2020 年以来,软件和硬件的进步大大降低了成本,以至于在 2023 年,训练一个 120 亿参数的 LLM 的计算成本为 72,300 A100-GPU 小时,而在 2020 年,训练一个 15 亿参数的 LLM(比 2020 年最先进的 LLM 小两个数量级)的成本在 80,000 美元到 1,600,000 美元之间。[55][56][57]自 2020 年以来,大量资金投入到越来越大的模型中。例如,2019 年训练 GPT-2(即 15 亿个参数的模型)花费了 5 万美元,而 2022 年训练 PaLM(即 5400 亿个参数的模型)花费了 800 万美元,而 Megatron-Turing NLG 530B(2021 年)花费了约 1100 万美元。[58]
对于基于 Transformer 的 LLM,训练成本远高于推理成本。训练一个 token 需要每个参数 6 次 FLOP,而推理一个 token 需要每个参数 1 到 2 次 FLOP。[59]
多模态意味着“具有多种模态”,而“模态”是指一种输入或输出类型,例如视频、图像、音频、文本、本体感受等。[60] 已经有许多专门训练过的 AI 模型来摄取一种模态并输出另一种模态,例如用于图像到标签的 AlexNet[61]、用于图像文本到文本的视觉问答[62]、以及用于语音到文本的语音识别。
从 LLM 创建多模态模型的常用方法是“标记”经过训练的编码器的输出。具体来说,可以构建一个可以理解图像的 LLM,如下所示:采用经过训练的 LLM,并采用经过训练的图像编码器。制作一个小的多层感知器这样对于任何图像,后处理向量具有与编码标记相同的尺寸。这是一个“图像标记”。然后,可以交错文本标记和图像标记。然后在图像文本数据集上对复合模型进行微调。可以更复杂地应用这种基本构造来改进模型。可以冻结图像编码器以提高稳定性。[63]
Flamingo 证明了标记化方法的有效性,对一对预训练的语言模型和图像编码器进行了微调,使其在视觉问答方面的表现优于从头开始训练的模型。[64] 使用标记化方法将 Google PaLM 模型微调为多模态模型 PaLM-E,并应用于机器人控制。[6] LLaMA 模型也已使用标记化方法转变为多模态,以允许图像输入[65] 和视频输入。[66]
GPT-4 可以使用文本和图像作为输入[67](尽管视觉组件直到 GPT-4V[68]] 才向公众发布);Google DeepMind 的 Gemini 也是多模态的。[69] Mistral 于 2024 年 9 月推出了自己的多型号 Pixtral 12B。[70]
2024 年末,LLM 开发出现了一个新方向,即专门为复杂推理任务设计的模型。这些“推理模型”经过训练,在提供最终答案之前会花费更多时间生成分步解决方案,类似于人类解决问题的过程。[71] OpenAI 于 2024 年 9 月通过其 o1 模型引入了这一趋势,随后于 2024 年 12 月推出了 o3。与传统 LLM 相比,这些模型在数学、科学和编码任务方面表现出显着的改进。例如,在国际数学奥林匹克资格考试问题上,GPT-4o 的准确率达到 13%,而 o1 的准确率达到 83%。[72][73] 2025 年 1 月,中国公司 DeepSeek 发布了 DeepSeek-R1,这是一个 6710 亿参数的开放权重推理模型,其性能与 OpenAI 的 o1 相当,但运行成本明显更高。与 OpenAI 的专有模型不同,DeepSeek-R1 的开放权重特性允许研究人员研究和构建算法,但其训练数据仍保持私密。[74] 与传统的 LLM 相比,这些推理模型通常需要每个查询更多的计算资源,因为它们执行更广泛的处理来逐步解决问题。然而,它们在需要结构化逻辑思维的领域表现出了卓越的能力,例如数学、科学研究和计算机编程。[75]
大语言模型偏差和局限性是自然语言处理(NLP)领域正在进行的研究。虽然大语言模型在生成类人文本方面表现出了卓越的能力,但他们很容易继承和放大训练数据中存在的偏见。这可能表现为对不同人口统计数据的不公平待遇,例如基于种族、性别、语言和文化群体的统计数据。此外,这些模型通常面临事实准确性的限制。研究和缓解这些偏见和限制对于人工智能在不同社会和专业领域的道德发展和应用至关重要。
幻觉指的是大语言模型输出与客观事实不符的内容,其可能由模型本身或用户引导产生。[76]
语言偏差是指与语言相关的一种统计抽样偏差,也就是说在信息抽样中,查询语言导致的系统偏差会使其无法准确呈现数据中的各种不同主题和观点。当前的大型语言模型主要是根据英语数据进行训练的,因此通常将英语观点视为真实可靠的观点,而系统地将非英语观点视为不相关、错误或噪音。当被问到诸如“什么是自由主义?”之类的政治意识形态的问题时,ChatGPT以英美角度为中心,而对例如说越南的“反对国家干预个人和经济生活”与中国的“限制政府权力”等视而不见。同样,回复中也没有日本、韩国、法国和德国语料库中的主流政治观点。[6]
性别偏差是指这些模型产生的结果倾向于对一种性别产生不公平的偏见。这种偏差通常源于训练这些模型的数据。例如,大型语言模型通常根据传统的性别规范来分配角色和特征;它可能会将护士或秘书主要与女性联系起来,将工程师或首席执行官与男性联系起来。[4][77]
政治偏差是指算法系统地倾向于某些政治观点、意识形态或结果,也可能表现出政治偏见。由于训练数据包含广泛的政治观点和覆盖范围,因此模型可能会生成倾向于特定政治意识形态或观点的响应,具体取决于数据中这些观点的普遍程度。[78]
文化偏见是指大语言模型对特定的文化实践、信仰或传统持有偏见,由于受到训练数据中文化信息的不均衡、误导性或歧视性影响。例如,若模型的训练数据中某种文化的观点被过度代表,模型就继承这种偏差形成一定的偏见。[79]
地域偏差是指大语言模型根据地理位置或国籍对人们的行为、习惯或特征做出偏见性的假设。这种偏差可能导致对特定地区的知识、成就、问题、潜力等方面的误解、低估或过度放大。[80]
年龄偏差是指大语言模型在处理或生成与年龄相关的话题时,根据年龄做出刻板印象化的假设,例如认为年长者不懂技术或年轻人缺乏责任感。[81]
职业偏差是指大语言模型对特定职业持有刻板印象,将某些职业视为比其他职业更有价值或重要,或对特定职业的人群做出性格或能力上的假设。[82]
Seamless Wikipedia browsing. On steroids.