大型语言模型

大型语言模型（large language model，LLM），也称大语言模型，简称大模型，是一种基于人工神经网络的语言模型。其名称中的“大型”指模型具有庞大的参数量（通常在数十亿至数万亿级别，如GPT-3含1750亿参数）以及巨大的训练数据规模。大语言模型通常采用自监督机器学习方法，从而能够基于海量无标注的文本进行训练。大语言模型专为自然语言处理任务而设计，尤其适用于语言生成。其中包含Gemini和GPT-4o在内的部分多模态大模型能够同时处理文字、图片、音频和视频等不同输入形式。规模最大、功能最强大的LLM基本采用生成式预训练 Transformer (GPT) 模型，它们为ChatGPT、Gemini、Perplexity和Claude等聊天机器人提供了核心功能。这些模型能够预测人类语言语料库中固有的句法、语义和本体信息，且展示出相当多训练期间“记住”的关于世界的常识。但它们也继承了训练数据中存在的误差和偏差。

由于大语言模型的记忆和泛化能力强大，其通常能用作通用模型：即使在没有针对特定任务（例如情感分析、命名实体识别、文本翻译、摘要生成或数学推理）进行训练的情况下，LLM往往也能够在这些任务中表现出色。而这些功能以往通常需要定制系统才能实现。

此外，基于其跨任务泛化能力，也可以针对特定任务对LLM进行微调，或通过提示工程进行引导，从而在极少量特定任务数据下实现或增强特定功能，如对话代理、代码生成、知识检索和自动推理等功能。

LLM源于早期的统计语言模型、神经概率语言模型和循环神经网络方法。2017年推出的Transformer架构用自注意力机制取代了循环神经网络结构，从而实现了高效的并行化、更长的上下文处理能力以及在前所未有的数据量上进行可扩展的训练。这项创新催生了GPT、BERT及其后续模型，这些模型展现出了大规模涌现行为，例如少样本学习和组合推理。

为了扩充训练数据以增强模型能力，大部分LLM训练过程中存在利用网络上大量未经授权的公开艺术家作品、用户与模型的交互以及其他公司LLM的输出（知识蒸馏）等数据训练AI的作法，在全球引发了广泛的关于版权诉讼、道德争议和隐私保护的讨论。

## 历史

20世纪90年代，IBM对齐模型开创了统计语言建模。2001年，一个基于3亿个单词进行训练的平滑n-gram模型达到了当时最优的困惑度。在21世纪，随着互联网的普及，一些研究人员构建了互联网规模的语言数据集（“网络语料库”），并在此基础上训练统计语言模型。2009 年，在大多数语言处理任务中，统计语言模型优于符号语言模型，因为它们可以有效地消化大型数据集。

在 2012 年左右神经网络在图像处理领域占据主导地位后，它们也被应用于语言建模。谷歌于 2016 年将其翻译服务转换为神经机器翻译。就像在Transformer架构出现之前的语言模型一样，它由seq2seq深度LSTM网络完成。

在 2017 年 NeurIPS 会议上，谷歌研究人员在他们的里程碑式论文《Attention Is All You Need》中介绍了Transformer架构。这篇论文的目标是改进 2014 年的 seq2seq 技术，并且主要基于 Bahdanau 等人在 2014 年开发的注意力机制。2018 年，BERT被引入后迅速变得“无处不在”。虽然原始的 Transformer 同时具有编码器和解码器块，但 BERT 是一个仅编码器的模型。随着仅解码器模型（如 GPT）通过提示解决任务的能力迅速提高，BERT 在学术和研究中的使用率在 2023 年开始下降。

仅解码器模型GPT-1于2018年推出，但2019年推出的GPT-2才引起了广泛关注，因为OpenAI最初认为它过于强大，无法公开发布，因为担心被恶意使用。2020 年的GPT-3则更进一步，自2024年起仅通过API提供，不提供下载模型以在本地执行。2022 年面向消费者的基于浏览器的 ChatGPT 吸引了普通民众的想象力，并引起了一些媒体炒作和在线热议。2023年的GPT-4因其准确性的提高而受到称赞，并因其多模态功能而被称为“圣杯”。OpenAI没有透露GPT-4的高级架构和参数数量。ChatGPT的发布导致计算机科学的几个研究子领域的LLM使用率上升，包括机器人技术、软件工程和一些有社会影响的工作。与其竞争的语言模型在很大程度上试图与GPT系列相提并论，至少在参数数量方面是这样。

自2022年以来，开源模型越来越受欢迎，尤其是最初的BLOOM和LLaMA，尽管两者在使用领域都有限制。Mistral AI的模型Mistral 7B和Mixtral 8x7b拥有更宽松的Apache许可证。截至2024年6月，根据LMSYS Chatbot Arena排行榜，Llama 3的700亿参数模型的指令微调变体是最强大的开放LLM，强于GPT-3.5但不如GPT-4。2025年1月，DeepSeek发布了 DeepSeek-R1，这是一个拥有6710亿个参数的开放权重模型，其性能与OpenAI o1相当，但成本却低得多。

自2023年以来，许多LLM已被训练为多模态，能够处理或生成其他类型的数据，例如图像或音频。这些LLM也称为大型多模态模型 (LMM)。

截至2024年，最大、功能最强大的模型均基于Transformer架构。最近的一些实现基于其他架构，例如循环神经网络变体和Mamba（状态空间模型）。

自2023年以来，开放权重的大语言模型已日益成为人工智能领域的重要组成部分，有助于更广泛地参与人工智能开发，并提高模型评估的透明度。Vake 等人 (2025) 的研究表明，社区驱动的开放权重模型贡献能够显著提高其效率和性能，用户参与度在Hugging Face等协作平台上迅速增长。Paris 等人 (2025) 进一步指出，人工智能的开放性不应仅限于发布模型代码或权重，还应涵盖人工智能研究和部署中的包容性、问责制和伦理责任。总而言之，这些研究强调，开放权重逻辑模型能够加速创新，增强科学可重复性，同时促进人工智能生态系统的透明化和参与性。

## 数据集预处理

### 词元化（tokenization）

由于机器学习算法处理的是数字而不是文本，因此必须将文本转换为数字表示的词元（token）。该过程称为词元化（tokenization），是数据预处理中的一个关键步骤。

词元化首先需要确定一个词汇表，然后为每个词汇表条目任意但唯一地分配整数索引，最后将嵌入与整数索引关联。确定词汇表的算法包括字节对编码（BPE）和WordPiece（BERT）。不同的算法下，平均每个单词需要的词元个数也有所不同。该信息也取决于数据集的语言等因素。由于每个词元可以表示多个字符的，标记器还能够压缩数据集。

词汇表中，通常会设计一些特殊词元用作控制字符，例如 `[MASK]` 表示掩码标记（如 BERT 中使用的），`[UNK]`（“未知”）表示未出现在词汇表中的字符。此外，一些特殊符号用于表示特殊的文本格式。例如，“Ġ”表示 RoBERTa 和 GPT 中的前一个空格。“##”表示 BERT 中前一个单词的延续。

例如，GPT-3（旧版）使用的 BPE 标记器会将标记器：`tokenizer: texts -> series of numerical "tokens"`拆分为

token｜izer｜:｜ texts｜ ->｜series｜ of｜ numerical｜ "｜t｜ok｜ens｜"

由于 LLM 通常要求输入是一个整齐的高维数组，因此当并行地使用多个文本进行训练时，必须先“填充”较短的文本（padding），直到它们与最长文本的长度匹配。

#### 字节对编码

作为示例，考虑基于字节对编码的标记器。在第一步中，所有唯一字符（包括空格和标点符号）都被视为一组初始的 n-gram（即一组初始的 uni-gram）。随后，最常见的一对相邻字符合并为一个二元组，并用它替换该对的所有实例。然后，将最常一起出现的相邻对（先前合并的）n-gram 再次合并为更长的 n-gram，直到获得规定大小的词汇表（对于 GPT-3，大小为 50257）。训练标记器后，任何文本都可以被它标记，只要它不包含未出现在初始 uni-gram 集中的字符。

#### 问题

基于从主要英语语料库中提取的频率的标记词汇表对一个普通英语单词使用尽可能少的标记。然而，由这种针对英语优化的标记器编码的另一种语言的普通单词被分成次优数量的标记。对于某些语言，例如缅甸掸语，GPT-2 标记器每个单词最多可以使用 15 倍的标记。与英语相比，葡萄牙语和德语等更广泛使用的语言也“溢价 50%”。

贪心标记化还会导致文本补全出现微妙的问题。

### 数据清洗

在训练 LLM 的背景下，数据集通常通过删除低质量、重复或有害数据来清理。清理后的数据集可以提高训练效率并提高下游性能。训练过的 LLM 可用于清理数据集以训练进一步的 LLM。

随着网络上 LLM 生成内容的比例不断增加，未来的数据清理可能包括过滤掉此类内容。如果内容与人类文本相似（使过滤变得困难）但质量较低（降低在其上训练的模型的性能），则 LLM 生成的内容可能会带来问题。

### 合成数据

训练最大的语言模型可能需要比自然可用的更多的语言数据，或者自然发生的数据质量不够。在这些情况下，可能会使用合成数据。微软的 Phi 系列LLM采用另一LLM生成的类似教科书的数据进行训练。

## 架构

### 注意力机制和上下文窗口

<image>

为了找出上下文窗口范围内哪些 token 彼此相关，注意力机制会使用多个注意力头为每个 token（更准确地说是其嵌入）计算“软”权重，每个注意力头都有自己的“相关性”来计算自己的软权重。例如，小型（即 1.17亿参数大小）GPT-2 模型有 12 个注意力头和一个只有 1000 个 token 的上下文窗口。在其中等版本中，它有 3.45 亿个参数，包含 24 层，每层有 12 个注意力头。对于梯度下降的训练，使用的批处理大小为 512。

最大的模型，例如 2024 年 2 月推出的 Google Gemini 1.5，可以有一个大小高达 100 万的上下文窗口（1000 万的上下文窗口也“成功测试”）。其他具有大上下文窗口的模型包括 Anthropic 的 Claude 2.1，其上下文窗口最多有 20 万个 token。请注意，此最大值指的是输入 token 的数量，输出 token 的最大数量与输入不同，并且通常较小。例如，GPT-4 Turbo 模型的最大输出为 4096 个 token。

模型在生成下一个答案时可以考虑的对话长度也受到上下文窗口大小的限制。如果对话的长度（例如与 ChatGPT 的对话）长于其上下文窗口，则在生成下一个答案时只会考虑上下文窗口内的部分，或者模型需要应用某种算法来总结对话中太远的部分。

使上下文窗口变大的缺点包括计算成本更高，并且可能削弱对局部上下文的关注，而使上下文窗口变小可能会导致模型错过重要的长距离依赖关系。平衡它们是一个实验和特定领域的考虑问题。

模型可以预先训练，以预测片段如何继续，或者在给定训练数据集中的片段的情况下预测片段中缺少什么。它可以是

- 自回归的（即预测片段如何继续，就像 GPT 所做的那样）：例如，给定一个片段“我喜欢吃”，模型会预测“冰淇淋”或“寿司”。
- 填空式的（即填充片段中缺失的部分，就像“BERT” 所做的那样）：例如，给定一个片段“我喜欢 __ __ 淇淋”，模型会预测“吃”和“冰”作为缺失的内容。

模型可以在辅助任务上进行训练，以测试它们对数据分布的理解，例如下一句预测 (NSP)，其中呈现成对的句子，模型必须预测它们是否连续出现在训练语料库中。在训练期间，正则化损失也用于稳定训练。然而，正则化损失通常不用于测试和评估。

### 混合专家模型

最大的 LLM 可能过于昂贵，无法直接训练和使用。对于此类模型，可以应用专家混合 (MoE)，这是谷歌研究人员自 2017 年以来一直进行的研究方向，用于训练多达 1 万亿个参数的模型。

### 参数数量

通常，LLM 使用单精度或半精度浮点数（float32和float16）进行训练。一个float16值有16位，即2字节，因此10亿个参数需要2 GB的空间。最大的模型通常拥有超过1000亿个参数，这超出了大多数消费电子产品的容量范围。

#### 量化

训练后量化旨在通过降低已训练模型参数的精度来减少空间需求，同时尽可能保留其性能。量化可以进一步分为静态量化和动态量化。静态量化是指量化参数预先确定（通常在校准阶段），而动态量化是指在推理过程中应用量化。最简单的量化形式是将所有参数截断为给定的比特数：这适用于静态量化和动态量化，但会损失大量精度。动态量化允许每层使用不同的量化码本，可以是值查找表或线性映射（缩放因子和偏置），但代价是放弃了使用低精度运算可能带来的速度提升。

量化后的模型通常被视为已冻结，权重修改（例如微调）仅应用于原始模型。可以使用低秩自适应（low-rank adaptation, LoRA）来微调量化后的模型。

## 扩展性

### 提示工程

以前大多数只能通过（昂贵的）微调才能实现的结果，都可以通过提示工程（prompt engineering）实现，尽管仅限于单个对话的范围（更准确地说，仅限于上下文窗口（context window）的范围）。

### 指令调优

指令调优（Instruction Tuning）是一种微调技术，通过在包含（指令，输出）对的数据集上以监督学习方式进一步训练大型语言模型，使其更好地理解和执行人类指令。这种方法弥合了大型语言模型的下一个词预测目标与用户希望模型遵循人类指令之间的差距。

### 检索增强生成

检索增强生成（RAG）是一种通过将LLM与文档检索系统集成来增强其性能的方法。给定一个查询，调用文档检索器来检索最相关的文档。这通常是通过将查询和文档编码成向量来实现的，然后找到向量（通常存储在向量数据库中）与查询向量最相似的文档。之后，LLM 基于查询和从检索到的文档中包含的上下文生成输出。

### 基于人类反馈的强化学习

近端策略优化等基于人类反馈的强化学习算法被广泛用于进一步微调一个大语言模型，语言模型能够根据人类专家对回答做出的反馈，提供与人类价值观一致的答案，同时拒绝不适当或超出模型知识空间的问题。

### 推理模型

2024 年末，LLM 开发出现了一个新方向，即专门为复杂推理任务设计的模型。这些“推理模型”经过训练，在提供最终答案之前会花费更多时间生成分步解决方案，类似于人类解决问题的过程。OpenAI 于 2024年9月通过其 o1 模型引入了这一趋势，随后于2024年12月推出了o3。与传统 LLM 相比，这些模型在数学、科学和编码任务方面表现出显着的改进。例如，在国际数学奥林匹克资格考试问题上，GPT-4o的准确率达到 13%，而o1的准确率达到 83%。2025 年 1 月，中国公司深度求索（DeepSeek）发布了DeepSeek-R1，这是一个 6710亿参数的开放权重推理模型，其性能与 OpenAI 的 o1 相当，但运行成本明显更低。与 OpenAI 的专有模型不同，DeepSeek-R1 的开放权重特性允许研究人员研究和构建算法，但其训练数据仍保持私密。与传统的 LLM 相比，这些推理模型通常需要每个查询更多的计算资源，因为它们执行更广泛的处理来逐步解决问题。然而，它们在需要结构化逻辑思维的领域表现出了卓越的能力，例如数学、科学研究和计算机编程。

## 训练成本

<image>

“大型语言模型”中的限定词“大型”本质上是模糊的，因为没有明确的阈值来定义“大型”所需的参数数量。随着时间的推移，以前被认为是“大型”的东西可能会演变。2018 年的 GPT-1 通常被认为是第一个 LLM，尽管它只有 1.17 亿个参数。在大型语言模型列表中可以看到向大型模型发展的趋势。

自 2020 年以来，软件和硬件的进步大大降低了成本，以至于在 2023 年，训练一个 120 亿参数的 LLM 的计算成本为 72,300 A100-GPU 小时，而在 2020 年，训练一个 15 亿参数的 LLM（比 2020 年最先进的 LLM 小两个数量级）的成本在 80,000 美元到 1,600,000 美元之间。自 2020 年以来，大量资金投入到越来越大的模型中。例如，2019 年训练 GPT-2（即 15 亿个参数的模型）花费了 5 万美元，而 2022 年训练 PaLM（即 5400 亿个参数的模型）花费了 800 万美元，而 Megatron-Turing NLG 530B（2021 年）花费了约 1100 万美元。

对于基于 Transformer 的 LLM，训练成本远高于推理成本。训练一个 token 需要每个参数 6 次 FLOP，而推理一个 token 需要每个参数 1 到 2 次 FLOP。

## 输入输出形式

### 多模态模型

多模态模型（Large Multimodal Model，LMM），意味着“具有多种模态”，而“模态”是指一种输入或输出类型，例如视频、图像、音频、文本、本体感受等。已经有许多专门训练过的 AI 模型来摄取一种模态并输出另一种模态，例如用于图像到标签的 AlexNet、用于图像文本到文本的视觉问答、以及用于语音到文本的语音识别。

从 LLM 创建多模态模型的常用方法是“标记”经过训练的编码器的输出。具体来说，可以构建一个可以理解图像的 LLM，如下所示：采用经过训练的 LLM，并采用经过训练的图像编码器$E$。制作一个小的多层感知器$f$这样对于任何图像$y$，后处理向量$f(E(y))$具有与编码标记相同的尺寸。这是一个“图像标记”。然后，可以交错文本标记和图像标记。然后在图像文本数据集上对复合模型进行微调。可以更复杂地应用这种基本构造来改进模型。可以冻结图像编码器以提高稳定性。

Flamingo 证明了标记化方法的有效性，对一对预训练的语言模型和图像编码器进行了微调，使其在视觉问答方面的表现优于从头开始训练的模型。使用标记化方法将 Google PaLM 模型微调为多模态模型 PaLM-E，并应用于机器人控制。6 LLaMA 模型也已使用标记化方法转变为多模态，以允许图像输入 和视频输入。

GPT-4 可以使用文本和图像作为输入（尽管视觉组件直到 GPT-4V 才向公众发布）；Google DeepMind 的 Gemini 也是多模态的。Mistral 于 2024 年 9 月推出了自己的多型号 Pixtral 12B。

### 非自然语言

LLM处理编程语言的方式与处理自然语言的方式类似。由于代码和人类语言一样，都是以纯文本形式表示的，因此无需对词法单元的处理方式进行特殊更改。LLM可以根据用自然语言编写的问题或指令生成代码。它们还可以用自然语言描述代码，或将其翻译成其他编程语言。LLM最初被用作代码补全工具，但随着技术的进步，它们已发展成为自动编程工具。诸如GitHub Copilot之类的服务提供经过专门训练、微调或提示的LLM，用于编程。

## 偏差和局限性

大语言模型偏差和局限性是自然语言处理（NLP）领域正在进行的研究。虽然ChatGPT等大语言模型在生成类人文本方面表现出了卓越的能力，但它们很容易继承和放大训练数据中存在的偏见。这可能表现为对不同人口统计数据的歪曲表述或不公平待遇，例如基于种族、性别、语言和文化群体的不同观点与态度。此外，这些模型通常面临事实准确性的限制。研究和缓解这些偏见和限制对于人工智能在不同社会和专业领域的道德发展和应用至关重要。

### 技术取向导致局限

机器学习和人工智能方面的专家杨立昆在GTC2025上的“炉边对话”环节提出观点，认为仅仅依靠语言和文字训练出来的 AI 系统，永远无法逼近人类的理解力。他也提到了世界模型（World Models）这一概念。他认为，学术界开发AI系统需要基于不同于当前token预测架构的新路径。其中一个原因是：Token具有离散的性质。“在典型的NLP任务中，token的选择范围通常在几千个左右。因此当你训练一个系统去预测下一个token，它并不能精确地预测出确切的token，而是只能基于字典中的所有可能选项生成一个概率分布。”杨利昆描述到。他又说，现实世界中人类面对的是高维、连续的数据。现在的有些AI通过像素精度的视频进行（行为或者规则）的预测，这种方法在构建认知模型方面的效果却欠佳。

### 幻觉

幻觉指的是大语言模型输出与客观事实不符或具有误导性的内容，其可能由模型本身或用户引导产生。

### 偏差

#### 语言偏差

语言偏差是指与语言相关的一种统计抽样偏差，也就是说在信息抽样中，查询语言导致的系统偏差会使其无法准确呈现数据中的各种不同主题和观点。当前的大型语言模型主要是根据英语数据进行训练的，因此通常将英语观点视为真实可靠的观点，而系统地将非英语观点视为不相关、错误或噪音。当被问到诸如“什么是自由主义？”之类的政治意识形态的问题时，ChatGPT以英美角度为中心，而对例如说越南的“反对国家干预个人和经济生活”与中国的“限制政府权力”等视而不见。同样，回复中也没有日本、韩国、法国和德国语料库中的主流政治观点。

#### 性别偏差

性别偏差是指这些模型产生的结果倾向于对一种性别产生不公平的偏见。这种偏差通常源于训练这些模型的数据。例如，大型语言模型通常根据传统的性别规范来分配角色和特征；它可能会将护士或秘书主要与女性联系起来，将工程师或首席执行官与男性联系起来。

#### 政治偏差

政治偏差是指算法系统地倾向于某些政治观点、意识形态或结果，也可能表现出政治偏见。由于训练数据包含广泛的政治观点和覆盖范围，因此模型可能会生成倾向于特定政治意识形态或观点的响应，具体取决于数据中这些观点的普遍程度。

#### 文化偏差

文化偏见是指大语言模型对特定的文化实践、信仰或传统持有偏见，由于受到训练数据中文化信息的不均衡、误导性或歧视性影响。例如，若模型的训练数据中某种文化的观点被过度代表，模型就继承这种偏差形成一定的偏见。

#### 地域偏差

地域偏差是指大语言模型根据地理位置或国籍对人们的行为、习惯或特征做出偏见性的假设。这种偏差可能导致对特定地区的知识、成就、问题、潜力等方面的误解、低估或过度放大。

#### 年龄偏差

年龄偏差是指大语言模型在处理或生成与年龄相关的话题时，根据年龄做出刻板印象化的假设，例如认为年长者不懂技术或年轻人缺乏责任感。

#### 职业偏差

职业偏差是指大语言模型对特定职业持有刻板印象，将某些职业视为比其他职业更有价值或重要，或对特定职业的人群做出性格或能力上的假设。

## 外部链接

- Open LLM Leaderboard（开放LLM排行榜旨在跟踪、排名和评估开放LLM和聊天机器人）