大语言模型(LLM)是以人工神经网络构建的语言模型,通过大量文本训练,用于预测、表征或生成语言序列。大语言模型应用于自然语言处理中的问答、摘要、翻译和对话等任务。“大”指的是模型规模和训练规模庞大,而非某个公认的参数数量门槛。这个术语通常指具备广泛能力的预训练模型,尤其是生成式系统,而不是某个特定应用或聊天机器人界面。(arxiv.org)
历史发展
大语言模型源于统计语言建模和早期的神经网络方法。其前身包括根据有限上下文估计词序列概率的模型,以及学习连续语言表征的网络。在广泛的文本集合上进行预训练,逐渐成为获取可复用表征的一种方法,从而不必为每项任务都从头训练一个独立模型。(arxiv.org)
2017 年的论文 Attention Is All You Need(《注意力就是你所需要的一切》)提出了 Transformer架构,用基于注意力的计算取代循环式序列处理。其训练可并行化的特点,推动了大规模语言模型开发的实际应用。2018 年,BERT 语言模型展示了用于语言理解的双向预训练方法,而生成式预训练变换器系列则发展了自回归文本生成。2020 年的 GPT-3 研究表明,一个拥有 1750 亿参数的模型可以根据指令和示例执行多种任务,而无须针对具体任务更新参数。(arxiv.org)
架构与文本表征
文本通过分词与词元化转换为离散单元。词元可以表示词语、词语片段、标点符号或字节级单元。这些单元的标识符被映射为数值向量,再由网络各层依次处理。Transformer 层利用自注意力融合不同位置的信息,而位置表征则提供序列顺序信息。模型的上下文窗口限制了它在一次计算中能够共同处理的输入文本和生成文本的总量。(arxiv.org)
不同架构利用上下文的方式有所不同。BERT 等编码器模型利用周围文本构建表征,通常经过适配后用于分类或信息抽取。仅解码器模型根据前面的词元依次预测后续词元,从而生成序列。编码器—解码器模型分别处理输入,并以输入为条件生成输出。这些差异会影响训练目标和适用场景;并非所有预训练语言模型都主要面向开放式对话设计。(arxiv.org)
预训练与适配
预训练通常采用自监督学习,其预测目标来自数据本身。自回归模型学习预测下一个词元;掩码语言模型则学习还原选定的缺失词元。一种常见的损失函数是交叉熵:如果模型为实际观测到的目标分配的概率较低,就会受到惩罚。训练通过反向传播和数值优化来调整参数。(arxiv.org)
训练数据可能包括网页、书籍、文章和源代码。数据的选择、过滤、去重,以及不同数据来源所占的比例,都会影响模型行为。神经网络缩放定律描述了预测性能、模型规模、数据量和计算量之间的经验关系。2022 年的 Chinchilla 研究表明,在固定训练预算下,如何在参数规模和训练词元数量之间分配资源十分重要:仅增加参数数量,未必是利用计算资源的最佳方式。(arxiv.org)
预训练之后,可以通过微调使模型适应特定领域或交互风格。指令微调使用由请求及其期望回答构成的示例。基于人类反馈的强化学习则可以利用对不同输出的偏好,进一步塑造模型行为。这些阶段使通用的文本预测模型转变为能够遵循指令的助手,但并不能消除事实或行为上的错误。(arxiv.org)
生成与应用
在神经网络推理过程中,自回归模型会为可能的下一个词元生成概率分布。解码程序从中选择一个词元,将其追加到序列中,然后重复这一过程。对于同一个提示,贪心选择和概率采样可能产生不同输出;采样设置影响输出的多样性,并不直接保证内容真实。常规推理使用已经学得的参数,而不是为每个请求重新训练模型。(arxiv.org)
上下文学习使提示中的指令或示例能够在不更新参数的情况下影响任务表现。其应用包括机器翻译、文档摘要、文本分类、问答和代码生成。模型表现会随任务、语言和提示措辞而变化,因此,在一种情境下展现出的能力,并不意味着在其他情境下也具备同等能力。(arxiv.org)
大语言模型也可以作为更大系统的一部分运行。检索增强生成从外部资料集合中提供相关段落,使生成过程能够利用模型参数所编码信息之外的知识。检索可以使事实性内容更具体,并支持访问可更新的知识,但系统仍然依赖检索所得证据的质量,以及生成模型对这些证据的使用方式。(arxiv.org)
评估与局限
评估结合了语言预测指标、任务基准测试和人工判断。困惑度衡量模型预测与文本的契合程度,但仅凭这一指标,无法确定模型的实用性、事实准确性或安全性。HELM 等评估框架考察多个维度,包括准确性、校准性、鲁棒性、公平性、偏见、毒性和效率。比较结果还取决于提示、解码程序和评估条件。(arxiv.org)
人工智能幻觉指生成的内容在事实上不正确,或缺乏相关证据支持。因此,流畅的语言表达也可能伴随着编造的细节或错误的推理。模型还可能复现训练材料中不良的内容模式。解读基准测试结果时,需要注意数据泄漏(机器学习),包括训练材料与评估示例之间的重叠。基于人类反馈的训练可以减少部分不良输出,但无论模型规模多大,还是表达多么精致,都不足以证明其可靠性。(arxiv.org)