2022 年底,ChatGPT 上线。2025年,DeepSeek-R1 进入公众视野。这些产品背后的大语言模型(Large Language Model,LMM) 技术并非一蹴而就,同时语言模型(Language Model, LM) 是提升机器语言智能 (Language Intelligence)的主要技术途径之一。本篇笔记介绍其背后的发展历程和关键技术。相关资料主要来自中国人民大学高瓴人工智能学院赵鑫教授团队出品的 《大语言模型》,感谢DataWhale 组织的组队学习活动。
大语言模型的能力特点
相信大家都已经领教过市面上各种大语言模型 app的强大功能。大语言模型的出现带来了实现通用人工智能(Artificial Gen- eral Intelligence, AGI) 的曙光。尽管通用人工智能被广泛讨论与探索,但是之前的机器学习算法的泛化性和通用性非常局限,只有大语言模型初步实现了通过统一形式来解决各种下游任务。接下来是大语言模型针对传统机器学习模型不具备的性能优势和能力特点:
丰富的世界知识
大语言模型通过超大规模文本数据的预训练来学到丰富的世界知识。
最早期的专家系统也是希望能够通过设计基于知识库与知识表示的推理引擎系统,进而解决特定领域的应用任务。然而,当时所采用的技术路径主要是基于逻辑、规则以及初期的机器学习算法,系统能力还比较局限,无法充分建模以及利用世界知识信息。
尽管早期的预训练模型(如 BERT、GPT-1 等)也是基于相似的预训练思路,但是模型参数规模与数据规模都相对较小,无法充分学习到海量的世界知识。因此,之前的预训练语言模型需要使用微调为主要手段来解决下游任务。
通用任务解决能力
大语言模型基于大规模无标注文本的下一个词元预测任务本质上可以看作一个多任务学习过程。针对不同词元的预测任务可能涉及到情感分类(“… 这部电影真好看”)、数值计算(“3+4=7”)、知识推理(“中国陆地面积最大的省份是新疆”)等非常多样的训练任务。
大语言模型主要通过预测下一个词元的预训练任务进行学习,虽然并没有针对特定的下游任务进行优化,却能够建立远强于传统模型的通用任务求解能力。很多传统任务(如摘要、翻译等)都可以采用基于大语言模型的提示学习方法进行解决,而且能够获得较好的任务效果,早期任务特定的解决方案已经被逐步替代。
人类指令遵循能力
大语言模型建立了自然语言形式的统一任务解决模式:任务输入与执行结果均通过自然语言进行表达。通过预训练与微调两个阶段的学习,大语言模型具备了较好的人类指令遵循能力,能够直接通过自然语言描述下达任务指令(又称为“提示学习”)。
传统模型缺乏通用的任务理解与执行能力,仍然需要依赖人工规则或者先验信息辅助指令理解模块的设计与训练。大语言模型的指令遵循能力为人机交互提供了一种自然的、通用的技术路径,对于打造很多以人为中心的应用服务(如智能音箱、信息助手等)具有重要的意义。
人类对齐能力
对齐能力指与人类的意图,和人类的行为习惯进行对齐,我的理解是大模型更有“人情味”。
大语言模型的出现具有出色的模型性能,如果不进行有效的对齐与监管,将可能带来非常严重的后果。目前广泛采用的对齐方式是基于人类反馈的强化学习技术,通过强化学习使得模型进行正确行为的加强以及错误行为的规避,进而建立较好的人类对齐能力。目前很多线上部署的大语言模型应用,都能够有效阻止典型的模型功能滥用行为,一定程度上规避了常见的使用风险。
复杂任务推理能力
大语言模型能够回答知识关系复杂的推理问题,还可以解决涉及复杂数学推理过程的数学题目。
尽管有些研究工作认为大语言模型不具备真正的推理能力,而是通过“记忆”数据模式来进行任务求解,但在许多复杂应用场景中(参阅微软针对 GPT-4 的测试报告 ),大语言模型展现出了令人震撼的推理性能,这种现象很难完全通过数据模式的记忆与组合来进行解释。
多轮对话交互能力
大语言模型在回答后续的语言任务时,是可以把前序的对话轮次背景纳入。解决这样多轮交互任务,传统的人工智能助手做的不是很好,对话轮次超过一定数量后就无法继续保留信息。
语言模型的发展历程
语言模型旨在对于人类语言的内在规律进行建模,从而准确预测词序列中未来(或缺失)词或词元(Token)的概率。根据所采用技术方法的不同,针对语言模型的研究工作可以分为以下四个主要发展阶段:
统计语言模型
在 20 世纪 90 年代兴起的统计语言模型(Statistical Language Model, SLM)是基于统计学习方法研发的。具体来说,统计语言模型使用马尔可夫假设(Markov Assumption) 来建立语言序列的预测模型,通常是根据词序列中若干个连续的上下文单词来预测下一个词的出现概率,即根据一个固定长度的前缀来预测目标单词。具有固定上下文长度 𝑛 的统计语言模型通常被称为 𝑛 元(𝑛-gram)语言模型,如二元或三元语言模型,模型认为当前词的概率仅和前 n-1 个词有关。
对于统计语言模型来说,最重要的一个部分就是如何去估计里面的每一项的概率分布,也就是基于频率的估计方法,最大似然估计。
对于高阶统计语言模型来说,随着阶数 𝑛 的增加,需要估计的转移概率项数将会指数级增长,经常会受到“维数灾难”(Curse of Dimensionality) 的困扰。为了缓解数据稀疏问题,需要设计专门的语言模型平滑策略,如回退估计(Back-off Estimation)和古德-图灵估计(Good-Turing Estimation)。然而平滑方法对于高阶上下文的刻画能力仍然较弱,无法精确建模复杂的高阶语义关系。
神经语言模型
神经语言模型(Neural Language Model, NLM)使用神经网络来建模文本序列的生成,如循环神经网络(Recurrent Neural Networks, RNN)。图灵奖获得者 Yoshua Bengio 在一项早期工作中引入了分布式词表示(Distributed Word Representation) 这一概念,并构建了基于聚合上下文特征(即分布式词向量) 的目标词预测函数。
分布式词表示使用低维稠密向量来表示词汇的语义,这与基于词典空间的稀疏词向量表示(One-Hot Representation)有着本质的不同,能够刻画更为丰富的隐含语义特征。同时,稠密向量的非零表征对于复杂语言模型的搭建非常友好,能够有效克服统计语言模型中的数据稀疏问题。
分布式词向量又称为“词嵌入”(Word Embedding)。 这种基于隐含语义特征表示的语言建模方法为自然语言处理任务提供了一种较为通用的解决途径。在这一系列工作中,word2vec 是一个具有代表性的词嵌入学习模型,它构建了一个简化的浅层神经网络来学习分布式词表示,所学习到的词嵌入可以用作后续任务的语义特征提取器,在自然语言处理任务中得到了广泛使用,取得了显著的性能提升。这些创新性的研究工作将语言模型用于文本表示学习(超越了原始的词序列建模目标),在自然语言处理领域产生了重要影响。
预训练语言模型
早期的词嵌入模型相比,预训练语言模型(Pre-trained Language Model, PLM)在训练架构与训练数据两个方面进行了改进与创新。
Transformer
提出模型的论文标题为
Attention Is All You Need
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin
Neural Information Processing Systems (NeurIPS 2017)
传统序列神经网络的长文本建模能力较弱,并且不容易并行训练,这些缺点限制了早期预训练模型 (如 ELMO) 的性能。在 2017 年,谷歌提出了基于自注意力机制 (Self-Attention) 的 Transformer 模型,通过自注意力机制建模长程序列关系。模型中的编码器和解码器是其核心组件。
Transformer 的一个主要优势就是其模型设计对于硬件非常友好。它完全基于注意力机制来进行序列到序列的建模,无需使用循环神经网络(RNNs)或卷积神经网络(CNNs),可以通过 GPU 或者 TPU 进行加速训练,这为研发大语言模型提供了可并行优化的神经网络架构。
ELMO
ELMO(Embeddings from Language Models)
提出模型的论文标题为
Deep Contextualized Word Representations
Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer
North American Chapter of the Association for Computational Linguistics (NAACL 2018)
ELMO是一个早期的代表性预训练语言模型,提出使用大量的无标注数据训练双向 LSTM
(Bidirectional LSTM, biLSTM) 网络,预训练完成后所得到的 biLSTM 可以用来学习上下文感知的单词表示,这与 word2vec 学习固定的词表示有着显著不同。进一步,ELMo 可以根据下游任务数据对 biLSTM 网络进行微调(Fine-Tuning),从而实现面向特定任务的模型优化。
BERT
BERT(Bidirectional Encoder Representations from Transformers)
提出模型的论文标题为
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova
Neural Information Processing Systems (NeurIPS 2017)
BERT模型采用了Transformer的编码器部分作为基本结构,并通过预先训练来学习语言模式和知识。这种预训练方法在多项自然语言处理任务中取得了突破性的成果,包括文本分类、命名实体识别、情感分析等。BERT的核心思想是利用遮蔽语言模型(Masked Language Model, MLM)和下一句预测(Next Sentence Prediction, NSP)任务来学习深层的双向语言表示。
GPT
GPT(Generative Pre-Training)
提出 GPT 1模型的论文标题为
Improving Language Understanding by Generative Pre-Training
Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever
论文是 2018 年的挂在 arxiv 上,同时发布在 OpenAI 的官方博客。
与 BERT 模型不同的是,GPT-1 采用了仅有解码器的 Transformer 架构,以及基于下一个词元预测的预训练任务进行模型的训练。一般来说,编码器架构被认为更适合去解决自然语言理解任务(如完形填空等),而解码器架构更适合解决自然语言生成任务(如文本摘要等)。
结语
以 ELMO、BERT、GPT-1 为代表的预训练语言模型确立了 “预训练-微调” 这一任务求解范式。其中,预训练阶段旨在通过大规模无标注文本建立模型的基础能力,而微调阶段则使用有标注数据对于模型进行特定任务的适配,从而更好地解决下游的自然语言处理任务。
本文介绍了大语言模型的能力特点,以及语言模型的发展历程。那关于大语言模型的发展历程和技术基础,就放到下一期笔记再讲啦。
Q.E.D.