大语言模型介绍、发展历程和构建过程
一、什么是大语言模型
大语言模型本质上是一种通过海量文本数据训练出来的,用于理解、生成和响应类似人类语言文本的神经网络模型。
之所以称为“大语言模型”,“大”主要体现在两个方面:
- 训练数据规模大:模型通常会在大量文本数据上进行训练,这些数据可能涵盖了互联网上大部分公开的文本。
- 参数规模大:当前的大语言模型通常拥有数百亿甚至数千亿个参数。
在人工智能技术体系当中,大语言模型属于是深度学习领域的具体应用;深度学习是机器学习的一个分支,机器学习又属于人工智能的一个子类别。

二、大模型的发展历程
大语言模型并不是突然出现的,而是由语言模型一步一步发展而来的。
那什么是语言模型?说得直白一点,语言模型就是一种“猜下一个词”的技术。
比如你看到一句话:“今天天气真……”,你大概率会想到“好”“热”“不错”之类的词。
语言模型做的事情也类似,它会根据前面的内容,去判断后面最可能出现什么词。
具体来说,语言模型通过学习和分析人类语言使用的规律,能够在给定的上下文中,准确预测下一个词语序列出现的概率。
可以说,语言模型的发展过程,也是机器逐步学会“理解和使用人类语言”的过程。
根据所采用技术方法的不同,语言模型主要分为以下四个发展阶段。
统计语言模型(Statistical Language Model, SLM)
统计语言模型兴起于 20 世纪 90 年代,主要基于统计学习方法构建。代表模型是:N-gram。
它通过统计词语在语料中出现的频率和组合关系,来预测下一个词出现的概率。
比如它会统计:哪些词经常一起出现,哪些词通常出现在另一些词后面。
不过,这类模型也存在明显局限。最典型的问题是数据稀疏。也就是说,如果某些词或词组在训练数据中出现得很少,甚至从未出现过,模型就难以对其进行准确判断。
因此,统计语言模型在处理复杂语言现象时能力有限。
神经语言模型(Neural Language Model, NLM)
神经语言模型使用神经网络学习自然语言的概率分布,以预测下一个词的出现概率。代表模型:BNN-LM,word2vec。
与统计语言模型相比,神经语言模型不再只是依赖词频统计,而是通过神经网络学习词语之间更深层的语义和语法关系。
这样一来,模型不仅能看到“哪些词经常一起出现”,还能够在一定程度上理解它们之间的关联。
后来,随着循环神经网络(RNN)、长短时记忆网络(LSTM)和门控循环单元(GRU)等技术的应用,神经语言模型在处理上下文信息和长距离依赖关系方面取得了明显进展。
但与此同时,神经语言模型仍然存在训练成本高、训练时间长、迁移能力有限等问题,因此还难以胜任更复杂、更通用的任务。
预训练语言模型(Pre-trained Language Model, PLM)
2017 年,谷歌提出了基于自注意力机制的 Transformer 模型,基于 Transformer 架构,以 ELMo、BERT、GPT-1 为代表的预训练语言模型在训练架构与训练数据两个方面进行了改进与创新,并确立了预训练-微调这一任务求解范式。
其中预训练阶段通过大规模无标注文本来建立模型的基础能力。微调阶段则使用有标注数据对模型进行特定任务的适配
预训练语言模型加强了语义表征的上下文感知能力,并且可以通过下游任务进行微调,能够有效提升下游任务的性能以及任务迁移能力。
但是,预训练语言模型仍然存在着资源消耗大、微调成本较高,以及可能带来偏见和伦理风险等问题。
大语言模型(Large Language Model, LLM)
在不断扩展预训练语言模型的参数、训练数据和计算资源后,它在解决复杂任务时表现出了与小型预训练语言模型不同的行为(扩展法则),以及小型预训练语言模型不具备的能力特点(涌现能力)
为了区别这一能力上的差异,学术界将这些大型预训练语言模型命名为大语言模型。
因此,大语言模型也可以理解为“放大和加强版”的预训练语言模型。
这里涉及到了两个概念,即扩展法则和涌现能力。
扩展法则:当模型参数更多、训练数据更大、计算资源更强时,模型的效果通常就越好。
涌现能力: 涌现能力是指,当模型规模增长到一定程度后,会突然表现出一些小模型没有的能力。
比如:
- 上下文学习:能够根据给定示例理解任务模式,并据此完成新任务。
- 指令遵循:能够理解自然语言指令,并按照要求完成相应操作。
- 逐步推理:在面对复杂问题时,能够结合中间步骤进行更有条理的推理。
这些能力的出现,使大语言模型不再只是一个简单的文本预测工具,而逐渐具备了更强的通用任务处理能力。
从统计语言模型,到神经语言模型,再到预训练语言模型和今天的大语言模型,语言模型的发展过程,本质上是在不断提升机器理解和生成人类语言的能力。
三、大模型的构建过程
大语言模型的构建过程通常分为预训练和指令微调与人类对齐两个阶段。
预训练
在预训练阶段,研究人员会使用海量、无标注的文本数据来训练模型,这一阶段的目的是让模型掌握通用的语言能力。
所谓“无标注”,是指这些数据没有被人工附加标注任何信息,而是原始的文本内容,比如网页、书籍、新闻、论文以及其他公开资料。
通过在大规模文本上进行学习,模型会逐步掌握语言中的基本规律,例如词语之间如何搭配、句子之间如何衔接,以及在不同语境中如何使用不同的表达方式。
经过预训练后,模型通常已经具备通用的语言理解能力和较强的文本补全能力,但是还不能很好地按照人的要求完成具体任务。
为了让模型具备解决实际问题的能力,还需要进入第二个阶段,也就是微调。
指令微调
微调阶段通常会使用规模较小、但任务更明确的数据集,对模型进行针对性训练,这一阶段的目的是让模型掌握通过问答形式进行任务求解的能力和指令遵循能力。
微调大语言模型常见的方式是指令微调。在指令微调中,训练数据通常由“指令-答案”对组成。也就是说,模型会看到一个具体要求,再学习应该如何给出对应的答案。
例如,数据可以是“原文-正确译文”,可以是“问题-标准答案”,也可以是“要求-对应生成结果”
经过指令微调后,模型会更擅长理解自然语言指令,并按照要求完成相应任务。
不过,这还不够。
即使模型已经能够理解指令并生成答案,它仍然可能生成带有偏见、虚假、误导甚至有害的内容。也就是说,模型能力变强之后,还需要进一步确保它的输出更符合人类的实际需求和价值判断。
这一步,通常被称为人类对齐。
人类对齐
人类对齐,就是让大语言模型在回答问题和执行任务时,不只是追求“生成内容”,还要尽可能符合人类对信息质量、表达方式和安全边界的要求。
目前,人类对齐的目标通常集中在三个方面:
- 有用性:模型应该能够真正提供有价值的信息,正确理解上下文,并尽可能准确地完成任务。
- 诚实性:模型输出的内容应尽量真实、客观,不夸大事实,不歪曲信息,也尽量避免产生误导性的表述。
- 无害性:模型应尽量避免生成可能带来风险、伤害或负面影响的内容。
可以说,人类对齐的作用,是让大语言模型不仅“有能力”,还“更可靠”;不仅“会回答”,还“更适合被人使用”。
也正因为有了这一过程,大语言模型才能在实际应用中表现得更自然、更安全,也更符合人与机器交互时的真实期待。
