序章:大语言模型革命
2017年的那个夏天,谷歌发布了一篇名为《Attention Is All You Need》的论文。这篇论文的标题在当时看来几乎是一种宣言——它宣告了一种全新的神经网络架构的诞生,一种不再需要传统的卷积神经网络或循环神经网络,仅凭"注意力机制"就能完成语言任务的架构。这篇论文的八位作者大概不会想到,他们提出的Transformer架构会在接下来的几年里掀起一场足以载入科技史册的革命。
七年后的今天,当我们回顾这场革命的开端,会发现那篇论文的重要性怎么强调都不为过。它不仅是一个技术突破的起点,更是一个新时代的序曲。从那一刻起,大语言模型(Large Language Model,LLM)开始以一种前所未有的速度进化,从实验室里的概念验证逐渐演变成重塑整个社会运行方式的强大力量。
当机器开始说话
让我们把时间拨回到Transformer出现之前的时代。在那时的自然语言处理(Natural Language Processing,NLP)领域,研究者们面临着一个根本性的困境:如何让机器理解和生成人类语言?
传统的自然语言处理方法主要依赖于规则和统计模型。研究者们编写复杂的语法规则,或者让机器从大量文本中统计词语共现的频率,然后用这些规则和统计规律来处理语言任务。这种方法虽然能够在某些特定任务上取得不错的效果,但它的局限性也非常明显——规则难以覆盖语言的所有复杂性,统计模型无法捕捉深层的语义关系,而且每换一个任务就需要重新设计特征和模型。
循环神经网络(Recurrent Neural Network,RNN)的出现曾经给这个领域带来过希望。RNN通过引入"记忆"机制,能够处理序列数据——它可以记住之前看到的信息,并将其用于理解当前的信息。这对于处理文本这样的序列数据来说似乎是非常合适的。然而,RNN有一个致命的缺陷:当序列变得很长时,模型难以记住很久以前的信息,这个问题被称为"长距离依赖问题"(Long-distance Dependency Problem)。此外,RNN的训练过程非常困难,容易出现梯度消失或梯度爆炸的问题。
长短期记忆网络(Long Short-Term Memory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU)试图解决RNN的这些问题,通过引入门控机制来控制信息的流动,从而更好地处理长序列。但即便如此,这些改进仍然无法从根本上解决问题,而且在处理长文本时效率很低。
正是在这样的背景下,Transformer出现了。它的核心思想简单而优雅:用"注意力机制"替代传统的序列建模方式。注意力机制的基本原理是:在处理任何一个词时,模型可以"关注"输入序列中的任意其他词,而不是只能按照顺序依次处理。这就好比人类阅读时,眼睛可以自由地跳转到任何相关的位置,而不必从头到尾逐字阅读。
Transformer的架构可以用一个优雅的公式来描述。假设我们有一个输入序列 $X = (x_1, x_2, ..., x_n)$,注意力机制的输出可以表示为:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
其中 $Q$(Query,查询)、$K$(Key,键)和 $V$(Value,值)是通过对输入进行线性变换得到的。这个公式的核心是计算查询和所有键的相似度,然后根据这个相似度对值进行加权求和。$\sqrt{d_k}$ 是一个缩放因子,用于防止点积过大导致的梯度问题。
更关键的是,Transformer引入了"多头注意力"(Multi-Head Attention)机制,它不只计算一次注意力,而是并行地计算多次,然后将结果拼接起来:
$$\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h)W^O$$
其中每个 $\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)$。这种设计允许模型在不同的表示子空间中关注不同类型的信息。
2017年的那篇论文不仅提出了注意力机制,还详细描述了整个Transformer架构,包括编码器-解码器结构、位置编码、残差连接和层归一化等关键技术。这些组件的组合使得Transformer能够高效地训练,并且在各种语言任务上取得了突破性的成果。
GPT的诞生:语言模型的新范式
Transformer的论文发表后,研究者们迅速意识到了这个架构的潜力。但真正让大语言模型进入公众视野的,是一个叫GPT的项目。
GPT,全称Generative Pre-trained Transformer,中文翻译为"生成式预训练Transformer"。这个名称本身就揭示了它的核心思想:首先在大规模文本数据上进行"预训练"(Pre-training),学习语言的一般规律;然后针对特定任务进行"微调"(Fine-tuning),使模型适应具体的应用场景。
2018年,OpenAI发表了第一篇GPT论文《Improving Language Understanding by Generative Pre-Training》,提出了生成式预训练的概念。当时的自然语言处理领域还是BERT的天下——BERT是谷歌在同年早些时候提出的另一种基于Transformer的模型,它采用了"遮盖语言模型"(Masked Language Model)的预训练任务,即在预训练时遮盖掉一些词,然后让模型预测这些被遮盖的词。
GPT采用了不同的预训练任务——"下一个词预测"(Next Token Prediction)。具体来说,给定前文,模型需要预测下一个词是什么。这个任务看似简单,却蕴含着语言的本质——语言本身就是由一个接一个的词组成的序列,预测下一个词几乎等价于理解语言。
为什么下一个词预测如此重要?因为为了准确预测下一个词,模型必须学习语言的语法、语义、常识甚至推理能力。想象一下,当有人说"今天天气很好,我们去..."时,模型需要预测下一个词可能是"公园"、"海边"或"郊外",这需要理解"好天气"与"户外活动"之间的关联,还需要考虑语法的正确性。这不是简单的统计共现,而是一种更深层次的语言理解。
第一代GPT在多个自然语言理解任务上取得了当时最好的成绩,证明了预训练-微调范式的有效性。但真正让世界为之震动的是2019年的GPT-2。
GPT-2的参数量达到了15亿,是第一代GPT的十倍。更重要的是,OpenAI发现,当模型变得足够大、训练数据足够多时,GPT-2展现出了一种令人惊讶的能力——零样本任务执行(Zero-shot Task Transfer)。也就是说,GPT-2可以在没有任何任务特定训练数据的情况下,仅凭自然语言指令就能完成各种不同的任务。
OpenAI在GPT-2的论文中展示了许多令人印象深刻的例子:模型可以撰写新闻文章、编写代码、回答问题、翻译语言,甚至生成食谱和故事情节。这些能力让许多人开始意识到,也许大语言模型真的能够成为通用人工智能(Artificial General Intelligence,AGI)的基础。
然而,OpenAI当时选择不公开GPT-2的完整模型,理由是担心被滥用。这个决定在当时引起了很大的争议,但也让人们更加好奇:这个模型到底有多强大?
GPT-3:规模的力量
2020年,OpenAI发表了GPT-3的论文《Language Models are Few-Shot Learners》。这篇论文的标题本身就揭示了一个核心发现:语言模型可以作为少样本学习器。
GPT-3的参数量达到了惊人的1750亿,是GPT-2的100多倍。为了训练这个规模的模型,OpenAI使用了近乎整个互联网的文本数据。训练一次GPT-3需要消耗大量的计算资源——据估计,训练费用高达数百万美元。
但当人们看到GPT-3的表现时,所有的投入似乎都是值得的。GPT-3展现了前所未有的语言生成能力:它可以撰写几乎任何类型的长文本,从技术文档到诗歌散文,从代码到歌词,而且质量之高常常让人难以分辨是机器还是人类写的。
更重要的是,GPT-3的"上下文学习"(In-context Learning)能力让研究者们惊叹不已。与传统的机器学习需要大量标注数据进行微调不同,GPT-3可以在推理时仅凭几个示例就学会执行新任务。这种能力被称为"Few-shot Learning"或"In-context Learning",它意味着模型已经学习到了某种通用的语言理解和推理能力,能够在看到新任务时快速适应。
用数学语言来描述,上下文学习可以理解为:给定一个提示(Prompt)$P$ 和 $k$ 个示例 $\{(x_i, y_i)\}_{i=1}^k$,模型需要预测 $x_{k+1}$ 对应的 $y_{k+1}$。形式上,模型学习的是一个条件分布 $P(y|x, \text{context})$,其中 $\text{context}$ 包含了任务描述和示例。这种学习不需要梯度更新,模型直接利用预训练过程中获得的知识来进行推理。
GPT-3的成功让"规模假说"(Scaling Hypothesis)得到了更多支持。这个假说认为,语言的智能主要来自两个方面:模型的规模(参数量)和训练数据的规模。只要把这两者不断增大,模型的能力就会不断提升,最终可能达到甚至超越人类水平。
当然,也有人对规模假说持怀疑态度。他们认为单纯地增大模型规模并不能带来真正的理解,模型只是在"鹦鹉学舌",模仿训练数据中的模式。这种争议至今仍在继续,但无论如何,GPT-3已经证明了一个重要的事实:规模的增大确实能带来质变。
ChatGPT:让AI走进千家万户
2022年11月30日,OpenAI推出了ChatGPT,这是一个基于GPT-3.5(后升级为GPT-4)的对话产品。ChatGPT的推出标志着一个重要转折点——大语言模型从技术研究走进了普通人的日常生活。
在ChatGPT出现之前,人们对AI的印象大多停留在Siri、小爱同学这样的语音助手上,或者AlphaGo那样的专业领域应用。这些AI虽然令人印象深刻,但与人类的日常生活仍有相当的距离。ChatGPT不同——它可以用自然语言与你交谈,帮你写邮件、写代码、解答问题、辅导功课、激发创意。它就像一个博学的助手,随时准备帮助你完成各种语言相关的任务。
ChatGPT的成功秘诀之一是采用了"人类反馈强化学习"(Reinforcement Learning from Human Feedback,RLHF)技术。RLHF的核心思想是:不再只让模型预测下一个词,而是让人类对模型的输出进行评价,然后根据这些反馈来调整模型的行为。这就好比训练一只宠物——当它做对了事情时给予奖励,做错了则不予奖励。
RLHF的训练过程通常包含三个步骤:第一步是监督微调(Supervised Fine-tuning,SFT),用人类撰写的对话示例来微调预训练模型,让它学会生成符合对话格式的回复。第二步是训练一个奖励模型(Reward Model),让人类对多个候选回复进行比较,然后训练一个模型来预测人类的偏好。第三步是使用奖励模型作为奖励信号,通过强化学习算法(如PPO)来优化语言模型。
这个过程的数学形式可以这样理解:强化学习的目标是最大化期望回报。对于语言模型来说,给定一个提示 $x$,生成回复 $y$ 的概率由策略 $\pi_\theta(y|x)$ 决定。RLHF的奖励函数包含两个部分:来自奖励模型的 reward $r(x, y)$,以及一个KL散度惩罚项,用来确保优化后的策略不会偏离原始策略太远:
$$R(x, y) = r(x, y) - \beta \log \frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)}$$
ChatGPT的推出引发了全球范围内的AI热潮。各大科技公司纷纷投入这场竞赛:谷歌推出了Bard(后更名为Gemini),Meta开源了LLaMA,百度推出了文心一言,阿里巴巴发布了通义千问,科大讯飞推出了星火大模型。据统计,在ChatGPT推出后的短短几个月内,就有数十个大型语言模型被发布或宣布研发。
GPT-4:多模态与超越
2023年3月14日,OpenAI发布了GPT-4,这是迄今为止最强大的GPT系列模型。GPT-4的发布标志着大语言模型进入了一个新的阶段。
与之前的版本相比,GPT-4在多个方面实现了重大突破。首先,GPT-4支持多模态输入——它不仅能处理文本,还能处理图像。用户可以给GPT-4发送一张图片,然后针对这张图片提出问题。例如,可以上传一张数学题目的照片,让GPT-4解答;或者上传一张流程图,让GPT-4解释其中的逻辑;甚至可以上传一张梗图,让GPT-4解释笑点在哪里。
GPT-4在各种专业测试中的表现也令人惊叹。它在律师资格考试中达到了前10%的水平,在国际生物学奥林匹克竞赛中达到了前1%的水平,在GRE写作中获得了接近满分的成绩。这些成绩表明,GPT-4不仅在语言任务上表现出色,还具备了一定程度的跨领域知识和推理能力。
更值得注意的是,GPT-4在"幻觉"问题(Hallucination)上有所改善。所谓"幻觉",是指模型生成看似合理但实际错误或不存在的内容的问题。这是大语言模型的一个核心缺陷,因为在很多应用场景中,准确性是至关重要的。GPT-4通过改进训练方法和引入额外的安全约束,在减少幻觉方面取得了进展,虽然问题并没有完全解决。
GPT-4的成功也带来了新的思考。一个拥有如此强大能力的模型,如果落入坏人之手会造成什么后果?如果模型被用于生成虚假信息、进行网络钓鱼攻击、或者撰写恶意软件,社会应该如何应对?OpenAI在GPT-4的技术报告中用了相当大的篇幅讨论这些问题,并声称已经采取了一系列安全措施。但这并没有消除所有人的担忧。
大模型时代的技术图谱
GPT-4的发布标志着大模型时代的全面到来。在这个时代,大语言模型不再是少数研究机构的专属,而是成为了科技巨头和创业公司竞相角逐的战场。让我们来梳理一下这个时代的主要技术发展。
在模型架构方面,研究者们提出了多种改进Transformer的方法。LLaMA(Large Language Model Meta AI)是Meta推出的开源模型系列,它通过更高效的训练方法和更大的训练数据,在较小的模型规模下实现了与大型模型相当甚至更好的性能。LLaMA 2后来被广泛应用于开源社区,成为许多衍生模型的基础。
稀疏注意力(Sparse Attention)是一种降低Transformer计算复杂度的方法。传统的Transformer在处理长序列时,计算量会随序列长度的平方增长。稀疏注意力通过只计算部分位置之间的注意力,大幅降低了计算复杂度,使得处理超长文本成为可能。
状态空间模型(State Space Model,SSM)是近年来兴起的一种新架构,其中的代表是Mamba模型。与Transformer不同,SSM可以在保持线性复杂度的同时处理长序列,在某些任务上表现出与Transformer相当甚至更好的性能。这种架构被视为Transformer的潜在替代者。
在预训练方法方面,研究者们也在不断创新。指令微调(Instruction Tuning)通过在大量指令-响应对上进行微调,让模型学会理解和执行各种自然语言指令。人类偏好对齐(Human Preference Alignment)技术则确保模型的输出符合人类的价值观和期望。
对比学习(Contrastive Learning)在嵌入表示学习中发挥了重要作用。它通过拉近相似样本的距离、拉远不相似样本的距离来学习有用的表示。CLIP模型就是一个典型的例子,它通过对比学习将图像和文本映射到同一个表示空间,实现了强大的多模态理解能力。
在推理优化方面,量化(Quantization)技术可以将大模型的权重从高精度(如32位浮点数)转换为低精度(如8位整数),从而大幅降低模型的存储和计算需求。知识蒸馏(Knowledge Distillation)则通过让大模型"教"小模型来获得更紧凑但仍然有效的模型。推测解码(Speculative Decoding)利用小模型快速生成候选词,然后用大模型验证,在保持质量的同时加速生成过程。
为什么大语言模型通向AGI?
在本书的开篇,我们必须回答一个根本性的问题:为什么大语言模型被认为是通向通用人工智能(AGI)的关键一步?
要理解这一点,我们首先需要明确什么是AGI。AGI是指具备与人类相当或超越人类的通用智能的人工智能系统。一个真正的AGI应该能够像人类一样,在各种不同的领域和任务中灵活运用知识和技能,而不是只能在特定任务上表现良好。
传统的人工智能方法是为每个任务单独设计的——下棋的AI只能下棋,翻译的AI只能翻译,识别的AI只能识别。这种"窄人工智能"(Narrow AI)与通用智能相去甚远。要实现AGI,需要一种能够处理各种任务的通用方法。
大语言模型的出现让我们看到了一种可能性:也许语言本身就是通用智能的关键。为什么这么说?
首先,语言是人类知识和智能的载体。我们通过语言记录历史、传播知识、表达思想、进行交流。几乎所有人类文明的知识都以语言的形式存储着——书籍、论文、网页、代码,这些都是语言。因此,一个能够理解和生成语言的模型,理论上就有可能吸收人类积累的所有知识。
其次,语言不仅仅是知识的载体,它本身就是智能的一种体现。当我们用语言描述一个概念时,我们必须理解这个概念的含义;当我们用语言进行推理时,我们必须掌握逻辑规则;当我们用语言交流时,我们必须理解对方的意图和上下文。这些语言能力与认知能力密切相关。
著名认知科学家史蒂芬·平克尔(Steven Pinker)曾说:"语言是心理学家的X射线。"他的意思是,语言能力可以为揭示人类心智提供窗口。如果这个观点是正确的,那么构建能够掌握语言的机器,也许就是构建智能机器的一条捷径。
大语言模型展现出的"涌现能力"(Emergent Abilities)进一步支持了这种观点。涌现能力是指当模型规模超过某个临界点后,突然出现的新能力。这些能力在较小的模型中是不存在的或者非常弱的,但在足够大的模型中却自然涌现。
例如,思维链提示(Chain-of-Thought Prompting)就是一种涌现能力。当模型的规模足够大时,它才能在看到"让我们一步一步思考"这样的提示后,真正地按照步骤进行推理,而不是直接给出答案。另一个例子是多步算术——只有当模型足够大时,它才能正确地完成多位数加减乘除。
涌现能力的存在暗示着:智能可能是一种"相变"现象。就像水在达到某个温度后会突然沸腾一样,模型在达到某个规模后也可能突然获得某种智能。这种观点虽然仍有争议,但它为"规模假说"提供了有力的支持。
当然,也有人对此持不同看法。批评者认为,大语言模型只是在玩"文字游戏",它们并没有真正的理解或意识。它们生成的文本虽然看起来像是智能