大语言模型(阅读笔记2)
金培晟 Jarfield
第二章 基础介绍
大语言模型是指在海量无标注文本数据上进行预训练得到的大型预训练语言模型,例如 GPT-3 ,PaLM 和 LLaMA 。目前大语言模型所需要具有的最小参数规模还没有一个明确的参考标准,但是大语言模型通常是指参数规模达到百亿、千亿甚至万亿的模型;也有部分工作认为经过大规模数据预训练(显著 多于传统预训练模型如 BERT 所需要的训练数据)的数十亿参数级别的模型也可 以称之为大语言模型(如 LLaMA-2 7B)。对于大语言模型,本书泛指具有超大规模参数或者经过超大规模数据训练所得到的语言模型。与传统语言模型相比,大语言模型的构建过程涉及到更为复杂的训练方法,进而展现出了强大的自然语言 理解能力和复杂任务求解能力(通过文本生成的形式)。为了帮助读者了解大语言模型的工作原理,本部分将介绍大语言模型的构建过程、扩展法则(Scaling Law)、涌现能力(Emergent Abilities),然后将介绍 GPT 系列模型的研发历程。
2.1 大语言模型的构建过程
从机器学习视角看,大语言模型可以被理解为一种基于 Transformer 的大规模参数化函数,训练的本质是用数据去拟合这个函数的参数,使其在更广泛的任务上“泛化”而非只对某一类任务过拟合。为了逼近“通用任务求解器”的目标,业界通常把研发流程划分为两条紧密衔接的主线:首先进行大规模预训练,让模型获得覆盖面尽可能广的“常识性世界知识”;随后进行指令微调与人类对齐,让这种知识以问答和对话的外显形式变得更可用、更符合人类偏好。
2.1.1 大规模预训练
预训练可以看作是为参数寻找一个具有普适性的“初值点”。实践中,“解码器架构 + 预测下一个词”的语言建模目标已经被反复验证为稳健有效:它并不要求明确的下游标签,而是依靠大规模无标注文本,让模型在不断预测下一个词的过程中,压缩并内化关于语法、语义、事实与常识的统计规律。这里“压缩世界知识”的比喻并非夸张——如果把真实数据分布看作一台信息源,那么好的预训练就是在尽可能大的样本覆盖下,用有限参数去逼近这台信息源的可预测部分;当参数有限、数据嘈杂或清洗不足时,压缩就会发生损失,模型表现为“可约误差”偏高。
因此,数据质量与清洗程度并非琐碎的工程细节,而是决定预训练上限的核心约束:来源多样但尽量同质化的切分、严格的去重与有害内容过滤、稳定的词元化策略以及对批处理/数据加载的工程优化,都会直接作用于训练的可控性与收敛速度。很多“训练不稳定”的现象,与其说是优化器超参数选择不当,不如说是数据分布在训练过程中呈现出隐蔽的漂移与重复,从而诱发损失曲线的异常形态。换言之,预训练的难点往往不在“算法是否高级”,而在“数据是否干净、覆盖是否到位、流程是否可复现”。
2.1.2 指令微调与人类对齐
预训练模型擅长“补全”,但未必擅长“遵循任务指令”;它知道很多,却不一定会以人类偏好的方式表达与决策。**指令微调(SFT)**的作用在于把这种知识外化为“问—答”范式,使模型学会在较少示例下理解任务意图与输出格式。本质上,SFT是一种模仿学习:给定标准示范,模型在预训练的表示之上学会“如何回答”。这一步通常不需要太多数据,但对数据质量和覆盖面非常敏感——覆盖的任务形态越多、写法越规范,微调后模型的泛化表现越稳定。
在人机交互场景里,仅有“会做题”还不够,“价值观对齐”同样重要。**基于人类反馈的强化学习(RLHF)**通过偏好数据训练一个奖励模型,再用策略优化方法把“更可取的生成”推向更高概率。直觉上,这是把“答案好坏”的判别器装进了优化闭环中,使得模型不仅会答,还尽量按“人类认为合适的方式”去答。需要注意的是,对齐并不是一次性的动作:它依赖偏好数据的稳定性与一致性,也依赖后续评测对有害指令、幻觉与鲁棒性的持续约束。换句话说,SFT 与对齐并非“尾声”,而更像是“接口”,把预训练的能力包装成可以被社会安全地消费的能力。
2.2 扩展法则(Scaling Laws)
大语言模型的一个关键洞见在于:在相当宽的规模区间内,性能提升更多来自“规模”的系统性扩展,而非局部结构的小修小改。为此,人们尝试用可量化的关系式去刻画三类核心变量——参数规模
2.2.1 KM 扩展法则(Kaplan 等)
在给定算力预算下,模型损失与
其中
可以把
值得注意的是,KM 法则默认了“单因素变动而其他因素不构成瓶颈”的实验设定。这是它能被拟合为幂律的前提,也是实际工程中容易被破坏的地方:比如当上下文长度、优化器、并行策略或数据去重策略发生显著改变时,幂指数与标度常数都可能漂移。因此,使用 KM 法则更好的方式不是“把一组指数套到一切规模段”,而是对自己数据/框架的有效区间进行再拟合与再验证。
2.2.2 Chinchilla 扩展法则(Hoffmann 等)
在更大的规模范围内,“参数—数据—算力”的三元关系可以被写成
与 KM 不同,Chinchilla 更强调在给定算力
其中
把 KM 与 Chinchilla 放在一起看,它们并不矛盾:KM 让我们看到“规模扩展”的总体趋势与可约误差的可降解性;Chinchilla 则提醒我们,算力是联立约束,应在
2.2.3 关于扩展法则的讨论
在给出 KM 与 Chinchilla 两条经验定律之后,更关键的问题是:我们究竟能在多大程度上“预测”更大规模下的表现,以及这种可预测性能否从“语言建模损失”过渡到“真实任务指标”。这两点分别对应可预测的扩展与任务层面的可预测性。
可预测的扩展(Predictable Scaling)指的是:在若干前提保持一致时,用“小成本”的观测去推断“大成本”的结果。最常见的两种做法,一是用小模型在固定数据/优化设定下拟合出
意味着在对数坐标上存在近似线性的“斜率”可供外推;又例如把训练计算量看作主变量,许多设定下都可用
刻画早—中—晚期的平滑下降,这就使得早期点的偏差成为识别异常运行的有效手段:当某次训练在相同设定下明显“跑在”既有幂律带之外(无论过高或过低),往往提示数据加载、去重、学习率或并行策略出了问题。与之相对的,是“收益递减”的不可避免性——指数项
转向任务层面的可预测性,问题更微妙。KM 与 Chinchilla 主要是在语言建模损失(如平均交叉熵/困惑度)上拟合幂律,这个量对“整体能力”是一个平滑且可加的度量,因此在宏观上“损失更低→下游更好”常常成立。然而,损失与任务指标之间的映射并非线性且处处单调:当任务需要额外的格式对齐、长上下文推断、工具使用或特定的推理策略时,单纯降低语言建模损失可能无法同步转化为任务增益;极端时还会出现所谓“逆向扩展”(inverse scaling)现象,即困惑度下降而特定任务指标反而变差 [37]。直观解释是:语言建模损失捕捉的是“整体分布拟合”的进步,但具体任务的度量函数可能对某些稀有模式、提示格式或推理链高度敏感,这些“局部能力”的阈值行为会破坏平滑的幂律对应关系。也因此,文献中有观察到:某些能力(如编码能力)可以被扩展曲线较好地预测,而另一些(如上下文学习能力)则呈现规模阈值与突现特征,只有当模型越过某个表征/上下文容量门槛时才会“突然出现”,在门槛之下很难从损失的微小改变量中提前预告 [35, 23]。
综合而言,扩展法则最可靠的用法不是把它当作一条放之四海而皆准的“通用曲线”,而是把它当作本地化、可复现的经验定律:在固定的数据分布、清洗与优化策略下,用小模型或早期阶段拟合出自己的
2.3 涌现能力
“涌现能力”常被非形式化地描述为:某些在小模型上几乎不可见或仅略高于随机水平的能力,在模型扩展到一定规模后出现突增,其任务表现呈现出接近“相变”的跃迁。尽管关于是否“真正涌现”仍有争议,但这个术语抓住了一个现象:当参数规模、数据规模与训练配方共同跨过某些隐含门槛时,模型的可用性在特定任务上会发生质变而非仅是量变。
2.3.1 代表性的涌现能力
上下文学习(In-context Learning, ICL) 是在不更新参数的前提下,仅靠提示中的指令与少量示例,让模型按“示范—迁移”的方式产出正确答案。GPT-3 首次系统展示了这一点:当参数足够大时,模型能把输入视作“一次性训练集”,在同一前向中完成“读题—归纳—作答”的隐式过程。然而 ICL 的阈值并非对所有任务一致:较小模型在低复杂度任务(如有限位数加减法)上能显出雏形,但在需要丰富世界知识或稀疏语料的任务(例如波斯语问答任务)上,甚至不能表现良好。一种可能的解释是,ICL依赖于表征容量与上下文记忆/检索的协同:只有当注意力与中间表示可以在上下文中“拟合出一个小模型”时,**隐式的“元学习”**才会显著发生。
指令遵循(Instruction Following) 强调“按自然语言意图行事”。它通常通过指令微调(SFT)习得:给定多任务、标准化的“指令—响应”对,模型学会解析意图、约束风格并按格式输出。与 ICL 相比,指令遵循在规模门槛上更可控:高质量、多样化的指令数据会显著降低“按照指令回答”的最小规模要求,但最终上限仍受模型容量与任务难度制约。经验上,当参数跨过中等规模(如数十亿到数百亿)并配合良好的指令数据,零样本或少样本的复杂推理评测(如 BBH)才会出现稳定提升;而在小模型(如 2B 量级)上,尽管能够通过使用高质量指令数据微调的方式习得一定的通用指令遵循能力,但更多局限于格式驱动和浅层任务(摘要、抽取等)。
逐步推理(Step-by-step Reasoning) 依赖“把思考过程写出来”的提示策略(CoT)。当模型具备足够的表征与上下文承载能力时,为了解决涉及多个推理步骤的复杂任务,通过在提示中显式引入中间步骤,会把“隐式推理”外化成“可读推理”,进而显著提升正确求解的概率。该能力同样呈现规模阈值:在较小参数量下,CoT 往往“写慢不写明”;当模型扩至更大规模时,CoT 的增益在复杂数学问题的推理基准上尤为明显。直观地讲,CoT 让模型把“长链依赖”分解成一系列短依赖,这要求足够长的上下文、稳定的中间表示、以及对错误步的抑制,而这些都与规模、训练数据的多样性和清洁度正相关。
需要强调的是,所谓“临界规模”尚未被统一界定。高质量、覆盖面广且对齐良好的预训练与指令数据,可以把门槛整体下移,使得较小模型也能在一定程度上表现出上述三种能力;反之,数据分布稀疏、清洗不足或训练不稳,则会抬高或模糊这些门槛。换而言之,随着数据规模的扩展和数据质量的提升,过去对于参数规模的要求在一点点放宽。另一方面,许多公开报告只覆盖了稀疏的几个模型规模点(如 8B、62B、540B),这会让能力曲线在可视化上显得更“跳”,而缺少模型规模处于中间点的平滑过渡。
2.3.2 涌现能力与扩展法则的关系
从度量上看,扩展法则与涌现能力关注的是同一头“大象”的不同侧面。扩展法则多以语言建模损失 (L) 为代理,得到的是平滑、可外推的下降曲线,并自然呈现边际收益递减;涌现能力多以具体任务指标为准绳,所见往往是台阶式的跃升。二者之所以看似矛盾,核心在于:平滑的“分布拟合进步”如何投射到“离散的任务成功”。当任务度量本身是不连续的(如“通过/未通过”)、或当我们只观察到稀疏的模型规模点时,微小而持续的损失改进就可能在某一刻跨过任务阈值,表现为“从几乎不可用到可用”的跳变;在更密集的规模取样和更连续的指标设计下,这种跳变会变得温和。
这并不削弱“涌现”的实践意义。真实用户以离散的满意度感知系统:能否全对、能否运行、能否遵循格式,往往比“平均损失再降一点”更重要。因此,在资源规划层面,扩展法则提供“把算力花在刀刃上”的可预测基线;在产品与评测层面,涌现提醒我们关注那些阈值敏感的能力族(ICL、指令遵循、链式推理),并通过数据与提示工程降低它们的门槛。值得一提的相关现象是“顿悟”(grokking):在固定规模与数据下,训练中后期性能从“记忆训练集”突然转向“强泛化”。它提示我们,能力的跃迁既可能随规模发生,也可能随训练进程发生,两者共同塑造了“看似突然”的提升。
将两种视角合并起来,一个务实的做法是:先在固定数据与优化设定下,用小规模或早期阶段拟合本地的扩展曲线,作为监控与外推的锚点;再针对关键任务建立损失—指标的桥接(哪怕是经验性的阈值图谱),并对 ICL、CoT、指令遵循等“敏感能力”进行专门的提示与数据设计。当曲线与阈值同时被管理,我们既能享受规模带来的可预期收益,也能更早、更稳地触发那些“看得见的质变”。
2.4 GPT 系列模型的技术演变
自 2022 年 11 月 ChatGPT 上线以来,围绕“大语言模型”的社会与学术关注迅速聚拢。若把 GPT 系列视作这一波技术更迭的主轴,它的演进几乎可以用两件事概括:一是用仅解码器(Decoder-Only)的 Transformer 做“下一个词”预测,把广泛的世界知识压进参数化的生成模型;二是扩展语言模型的规模以及扩展预训练数据的规模,并配套更好的训练与对齐工艺。前者给出统一的学习范式,后者把能力从“可用”推向“好用”。
2.4.1 早期探索:GPT-1 与 GPT-2
OpenAI 最初也尝试过循环网络,但随着 Transformer 的出现,路线迅速转向“基于文本的生成式预训练”。GPT-1(2018)确立了“解码器 + 语言建模目标”的基本骨架;当时的模型规模接近 BERT-Base,能力上尚不足以成为通用求解器,因此仍依赖“预训练 + 有监督微调”的范式。与同时期的 BERT 不同,GPT 放弃了编码器侧的“掩码理解”,选择只用解码器,直接优化生成式目标。
GPT-2(2019)在架构不变的前提下把参数扩到 1.5B,并用大规模网页语料(WebText)做无监督预训练,核心主张是:尽量用统一的生成式目标去覆盖尽可能多的任务。形式上,可以把多任务学习写成
2.4.2 规模扩展:GPT-3 的里程碑
虽然 GPT-2 曾被寄予“无监督多任务学习器”的厚望,但在众多任务上仍逊于显式微调。GPT-3(2020)把参数直接推到175B,并在论文中系统提出 上下文学习(ICL) :**不给梯度、仅靠提示中的“指令 + 少量示例”,模型即可在一次前向中完成“读题—归纳—作答”的隐式适配。**与第 2.2 节的扩展法则相呼应,GPT-3 以规模跃升换来了更稳定的少样本泛化,**从“预训练语言模型”跨进了“通用大模型”的门槛。**训练与使用也因此可以在统一的语言建模框架下叙述:训练是在上下文条件下预测后续词元,使用则是把“任务与示例”包装进上下文,令模型在同一目标上完成推理。
2.4.3 能力增强:代码数据与人类对齐
在 GPT-3 之后,能力提升主要沿两条路径展开。其一是代码数据:**Codex(2021)**在海量 GitHub 数据上微调,显著改善了编程与数学类推理。直觉上,代码数据的**强结构化、长距离依赖与可执行性**为模型提供了更清晰的“对齐信号”,也让“推理链”更易被内化;随后“文本-代码对比学习”的嵌入方法进一步拓展了检索与匹配类能力。公开信息显示,GPT-3.5是在“代码强化”的基础上继续演化而来,这提示我们:预训练的数据版图并不局限于自然语言文本,凡是能稳定刻画因果与逻辑结构的语料都可能提升泛化。
其二是人类对齐:OpenAI 早期的“从人类偏好中学习”与 PPO 策略优化汇入 InstructGPT(2022) 的 RLHF 流水线:先用成对偏好训练奖励模型,再以策略优化把“更可取的输出”推到更高概率。这样,模型不仅“会做题”,还更按照人类意图与安全边界去做题。需要注意的是,OpenAI 文档里更常用“监督微调(SFT)”来称呼 RLHF 的第一步;而“指令微调”更多是社区术语。总体而言,SFT 打开“按指令办事”的门,RLHF 把“怎么更合意地办事”纳入优化闭环。
2.4.4 性能跃升:ChatGPT、GPT-4 与多模态
**ChatGPT(2022.11)**把上述积累装进对话式产品形态:在预训练与指令微调的基础上,以对话数据统一格式,针对多轮上下文与安全对齐做专项优化。它把“泛化能力、对话记忆与安全边界”揉进了一个可交互的接口,因此一经发布便成为能力与可用性的拐点。
GPT-4(2023)*进一步把输入扩展到*图文多模态,在一系列人类考试与综合评测上显著领先,并将“可预测扩展”的理念落到训练流程:用更少计算的早期点外推最终性能,据此做训练监控与停训决策;同时叠加“红队”与安全奖励等干预,降低有害输出与幻觉风险。随后发布的 GPT-4V 聚焦视觉能力的安全部署**,而 GPT-4 Turbo 在更长上下文(至 128K)、更低推理成本、函数调用与可重复输出等方面扩展了工程上限,并与 Assistants API 一同把“模型—工具—应用”的生态闭环打通。由此,大模型不只是一种能力,更是一套可被嵌入应用的能力操作系统。
当然,局限从未消失:幻觉、对抗脆弱性、隐私与合规风险仍在;因此 OpenAI 采取迭代式部署,以阶段性对齐与评测来换取在能力提升与安全之间的动态平衡。换句话说,GPT 系列的演进并非“单调做大”,而是在统一目标下的系统工程:用规模换潜力,用数据与对齐把潜力固化成可控的产品能力,再用生态与工具把能力外延成可持续的应用形态。