上一篇笔记介绍了语言模型发展历史。大语言模型,还真就是字面上理解,“大”的语言模型-参数到达一定规模后量变引起质变的语言模型。本篇笔记会从大语言模型的参数规模和构建方式切入,介绍大模型的技术基础。相关资料主要来自中国人民大学高瓴人工智能学院赵鑫教授团队出品的 《大语言模型》,感谢 DataWhale 组织的组队学习活动。
多“大”才算大语言模型
目前大语言模型所需要具有的最小参数规模还没有一个明确的参考标准,但是大语言模型通常是指参数规模达到百亿(数十 Billion)、千亿甚至万亿的模型。也有部分工作认为经过大规模数据预训练(显著多于传统预训练模型如 BERT 所需要的训练数据)的数十亿参数级别的模型也可以称之为大语言模型(如 LLaMA-27B)。
对于语言模型如何“量变引起质变”,后文中也会介绍大语言模型的预训练与指令微调、扩展法则和涌现能力。通常来说,很难统一界定大语言模型的临界规模(即具备某种能力的最小规模),因为能力涌现会受到多种因素或者任务设置的影响。经过了高质量的预训练与指令微调后,即使较小的语言模型(如 LLaMA-2 (7B))也能够一定程度上质变,并且对于参数规模的要求随着预训练数据规模的扩展以及数据质量的提升在不断下降。
主流模型参数表
(截止至 2025 年 23 月)
模型名称 | 参数规模 | 开发机构 | 核心能力 | 适用场景 | 特点 |
---|---|---|---|---|---|
通义千问(Qwen-Max) | 约 110 B | 阿里巴巴 | 中文理解、多模态生成、知识检索、代码生成 | 办公助理、创意文案、学术研究 | 中文能力对标 GPT-4 Turbo,支持 100 万 tokens 长文本处理。 |
智谱清言(GLM-4) | 约 140 B | 智谱 AI | 语言生成、逻辑推理、多轮对话 | 企业级 RAG 应用、复杂数据分析 | 综合性能接近 GPT-4 Turbo,开源版本下载量突破 2000 万次。 |
Kimi 视觉思考版 | 未明确 | 月之暗面 | 数学推理、长文本处理、视觉交互 | 科研辅助、教育、复杂问题解答 | 2025 考研数学测试得分 133 分,解题过程详实,支持多模态输入。 |
文心一言 4.0 | 约 260 B | 百度 | 多模态生成、数理科学、商业文案 | 文学创作、营销策划、代码生成 | 在道德责任、行业适配性上表现突出,支持跨模态任务。 |
DeepSeek(深度求索) | 约 670 B | 深度求索 | 复杂数学问题求解、科研级推理 | 学术研究、超长文本生成 | 支持思维链推理,考研数学测试得分 103.5 分。 |
讯飞星火 | 约 300 B | 科大讯飞 | 语音识别、多模态交互、医学问答 | 医疗、教育、实时语音处理 | 噪声环境下语音识别准确率领先,集成知识图谱优化。 |
商汤日日新融合大模型 | 未明确 | 商汤科技 | 跨模态融合(文本、图像、视频)、深度推理 | 自动驾驶、金融文档分析、工业制造 | SuperCLUE 评测双冠,原生支持多模态数据综合处理。 |
GPT-4 Turbo | 约 1.7 T | OpenAI | 通用语言生成、多模态理解、复杂逻辑推理 | 全球级 API 服务、科研与商业应用 | 训练成本高达 7800 万美元,支持超长上下文和跨领域任务。 |
LLAMA-3 | 400 B~650 B | Meta | 开源模型、高效微调、多语言支持 | 企业私有化部署、学术研究 | 社区生态丰富,支持低成本本地化部署。 |
华为盘古气象大模型 | 约 100 B | 华为 | 气象预测、大规模数值计算 | 气象预报、环境监测 | 基于 Transformer 优化,预测精度超越传统数值方法。 |
构建概览:预训练与指令微调
从机器学习的观点来说,神经网络是一种具有特定模型结构的函数形式,而大语言模型则是一种基于 Transformer 结构(上篇笔记有介绍,网上也很多资料就不展开了)的神经网络模型。因此,可以将大语言模型看作一种拥有大规模参数的函数,它的构建过程就是使用训练数据对于模型参数的拟合过程。尽管所采用的训练方法与传统的机器学习模型(如多元线性回归模型的训练)可能存在不同,但是本质上都是在做模型参数的优化。大语言模型的优化目标更加泛化,不仅仅是为了解决某一种或者某一类特定任务,而是希望能够作为通用任务的求解器。为了实现这一宏大的目标,大语言模型的构建过程需要更为复杂、精细的训练方法。一般来说,这个训练过程可以分为大规模预训练和指令微调与人类对齐两个阶段,下面将进行具体介绍。
大规模预训练
一般来说,预训练是指使用与下游任务无关的大规模数据进行模型参数的初始训练,可以认为是为模型参数找到一个较好的“初值点”。这一思想最早在计算机视觉领域被广泛使用,通过使用大规模的图像标注数据集合 ImageNet 用于初始化视觉模型的参数。在自然语言处理领域,word2vec采用了类似的预训练思想,使用无标注的文本语料训练可通用的词嵌入模型;后来被 ELMo 、BERT 和 GPT-1 推广到训练可迁移的自然语言任务架构,逐步成为了研发大语言模型的核心技术路径。
早期的预训练技术还是聚焦于解决下游某一类的特定任务。OpenAI 在 GPT-2 的论文中,提出通过大规模文本数据的预训练实现通用任务的求解器,并且将这一思路在 GPT-3 中推广到了当时最大的千亿规模。OpenAI 前首席科学家 Ilya Sutskever 在公开采访中指出大规模预训练本质上是在做一个世界知识的压缩,从而能够学习到一个编码世界知识的参数模型,这个模型能够通过解压缩所需要的知识来解决真实世界的任务。在 BERT 等传统预训练模型中,所采用的模型架构以及训练任务还比较多样。由于 GPT 系列模型的爆火,“解码器架构 + 预测下一个词”的有效性得到了充分验证,已经成为现有大语言模型主要采纳的技术路径。
为了预训练大语言模型,需要准备大规模的文本数据,并且进行严格的清洗,最后将清洗后的数据进行词元化(Tokenization) ,并且切分成批次(Batch),用于大语言模型的预训练。由于大语言模型的能力基础主要来源于预训练数据,因此数据的收集与清洗对于模型性能具有重要的影响。收集高质量、多源化的数据以及对于数据进行严格的清洗是构建大语言模型关键能力的重中之重。目前的开源模型普遍采用 2∼3T 规模的词元进行预训练,并有趋势进一步扩大这一规模。这一过程对于算力需求量极高,一般来说训练百亿模型至少需要百卡规模的算力集群(如 A100 80G)联合训练数月时间(与具体的算力资源相关);而训练千亿模型则需要千卡甚至万卡规模的算力集群,对于算力资源的消耗非常惊人。
尽管整体的预训练技术框架非常直观,但是实施过程中涉及到大量需要深入探索的经验性技术,如数据如何进行配比、如何进行学习率的调整、如何早期发现模型的异常行为等。对于公开领域(比如可复现的 paper)的下游任务训练,并不是“有卡就行”。预训练过程需要考虑各种实施细节,大语言模型的研发看似是一个算力需求型的工程,实际上相关人才是最重要的。
指令微调与人类对齐
经过大规模数据预训练后的语言模型已经具备较强的模型能力,能够编码丰富的世界知识,但是由于预训练任务形式所限,这些模型更擅长于文本补全,并不适合直接解决具体的任务。预训练后的模型就像进入工作岗位的毕业生,尽管学习了很多通用的文化课,具备了一定的实习经验,但是仍然需要加强面向特定岗位的工作能力,并且深入了解工作岗位所涉及的相关要求。因此,用人单位往往需要设置特定的培训环节,对于新入职的人员针对业务场景以及所需要的技术进行专门提升。相似地,当预训练结束后,通常需要对于大语言模型进行微调与对齐,使之更好地被用于任务求解。
目前来说,比较广泛使用的微调技术是“指令微调”(也叫做有监督微调, Supervised Fine-tuning, SFT),通过使用任务输入与输出的配对数据进行模型训练,可以使得语言模型较好地掌握通过问答形式进行任务求解的能力。这种模仿示例数据进行学习的过程本质属于机器学习中的模仿学习(Imitation Learning)。给定一个特定任务,虽然可能存在很多解答方式,模仿学习旨在加强对于标准答案(即师傅的示范动作)的复刻学习。一般来说,指令微调很难教会大语言模型预训练阶段没有学习到的知识与能力,它主要起到了对于模型能力的激发作用,而不是知识注入作用。
与预训练相比,指令微调通常来说需要的指令实例数据规模要小的多。通常来说,数十万到百万规模的指令微调数据能够有效地激发语言模型的通用任务解决能力,甚至有些工作认为数千条或者数万条高质量指令数据也能达到不错的微调效果。因此,指令微调对于算力资源的需求相对较小。一般情况下,若干台单机八卡(A100-80G)的服务器就能在一天或数天的时间内完成百亿模型的指令微调,当指令数据规模较大的时候可以进一步增加所需要的算力资源。这个过程还可以进一步加入多轮次的对话数据来增强模型的人机对话能力。
除了提升任务的解决能力外,还需要将大语言模型与人类的期望、需求以及价值观对(Alignment)。
OpenAI 在 2022 年初发布了 InstructGPT
Long Ouyang et al. “Training language models to follow instructions with human feed-back”. In: arXiv preprint arXiv:2203.02155 (2022).
系统地介绍了如何将语言模型进行人类对齐,主要引入了基于人类反馈的强化学习对齐方法 RLHF(Reinforcement Learning from Human Feedback),在指令微调后使用强化学习加强模型的对齐能力。在 RLHF 算法中,需要训练一个符合人类价值观的奖励模型 (Reward Model)。为此,需要标注人员针对大语言模型所生成的多条输出进行偏好排序,并使用偏好数据训练奖励模型,用于判断模型的输出质量。由于强化学习需要维护更多的辅助模型进行训练,通常来说对于资源的消耗会多于指令微调,但是也远小于预训练阶段所需要的算力资源。
扩展法则
大语言模型获得成功的关键在于对“规模扩展”(Scaling)的充分探索与利用。大语言模型采用了与小型预训练语言模型相似的神经网络结构,但是通过扩展参数规模、数据规模和计算算力,大语言模型的能力显著超越了小型语言模型的能力。有趣的是,这种通过扩展所带来的性能提升通常显著高于通过改进架构、算法等方面所带来的改进。因此,建立定量的建模方法,即扩展法则(Scaling Law),来研究规模扩展所带来的模型性能提升具有重要的实践指导意义。
2020 年,Kaplan 等人 (OpenAI 团队) 在
Jared Kaplan et al. “Scaling Laws for Neural Language Models”. In: arXiv preprint arXiv: 2001.08361 (2020)
首次建立了神经语言模型性能与三个主要因素——模型规模( 𝑁 )、数据规模( 𝐷 )和计算算力(𝐶 )之间的幂律关系(Power-Law Relationship)。 KM 拓展法则通过普适规则能够更好地探究问题的本质,排除其他复杂因素的影响与干扰(如 OpenAI 研究团队发现模型形状影响并不大)。
Hoffmann 等人(DeepMind 团队)于 2022 年
Jordan Hoffmann et al. “Training Compute-Optimal Large Language Models”. In: arXiv preprint arXiv:abs/2203.15556 (2022).
里提出了一种可选的扩展法则Chinchilla扩展法则,旨在指导大语言模型充分利用给定的算力资源进行优化训练。通过针对更大范围的模型规模(70M 到 16B 参数)和数据规模(5B 到 500B 词元)进行实验,研究人员拟合得到了另一种关于模型性能的幂律关系。
Chinchilla 扩展法则这项研究的意义并不在于给出了资源在数据规模与模型规模上的具体分配方案,而是首次形式化指出了之前的预训练工作可能忽视了训练数据的规模扩展。例如,具有 175B 参数的 GPT-3 仅仅使用了 300B 的词元进行训练,所使用的数据量远远没有达到模型能够编码的最大数据容量。根据 Chinchilla 扩展法则的指导,DeepMind 的研究团队进一步训练得到了具有 70B 参数的 Chinchilla 模型,使用大概 1.4T 的词元进行训练。
越来越多的工作表明,现有的预训练语言模型对于数据的需求量远高于这些扩展法则中所给出的估计规模。例如,LLaMA-2 (7B) 的模型就 使用了 2T 的词元进行训练,很多更小的模型也能够通过使用超大规模的预训练数 据获得较大的模型性能提升。这种现象的一个重要原因是由于 Transformer 架构具 有较好的数据扩展性,到目前为止,还没有实验能够有效验证特定参数规模语言模型的饱和数据规模(即随着数据规模的扩展,模型性能不再提升)。
涌现能力
大语言模型的涌现能力被定义为“在小型模型中不存在但在大模型中出现的能力”,具体是指当模型扩展到一定规模时,模型的特定任务性能突然出现显著跃升的趋势。
扩展法则和涌现能力提供了两种不同观点来理解大模型相对于小模型的优势,但是刻画了较为不同的扩展效应趋势。扩展法则使用语言建模损失来衡量语言模型的整体性能,整体上展现出了较为平滑的性能提升趋势,具有较好的可预测性,但是指数形式暗示着可能存在的边际效益递减现象。
而涌现能力通常使用任务性能来衡量模型性能,整体上展现出随规模扩展的骤然跃升趋势,不具有可预测性,但是一旦出现涌现能力则意味着模型性能将会产生大幅跃升。
通俗来讲,扩展法则与涌现能力之间微妙的关系可以类比人类的学习能力来解释。以语言能力为例,对于儿童来说,语言发展(尤其是婴儿)可以被看作一个多阶段的发展过程,其中也会出现“涌现现象”。在这一发展过程中,语言能力在一个阶段内部相对稳定,但是当进入另一个能力阶段时可能会出现重要的提升(例如从说简单的单词到说简单的句子)。尽管儿童实际上每天都在成长,但是语言的提升过程本质上是不平滑和不稳定的(即语言能力在时间上不以恒定速率发展)。
下面简单介绍大语言模型的三种典型涌现能力。
上下文学习
上下文学习(In-context Learning, ICL) 在提示中为语言模型提供自然语言指令和多个任务示例(Demonstration),无需显式的训练或梯度更新,仅输入文本的单词序列就能为测试样本生成预期的输出。在 GPT 系列模型中,175B 参数的 GPT-3 模型展现出强大的上下文学习能力,而 GPT-1 和 GPT-2 模型则不具备这种能力。此外,上下文学习能力还取决于具体的下游任务。例如,13B 参数的 GPT-3 模型可以在算术任务(例如 3 位数的加减法)上展现出上下文学习能力,但 175B 参数的 GPT-3 模型在波斯语问答任务上甚至不能表现出良好的性能。
指令遵循
指令遵循(Instruction Following) 指大语言模型能够按照自然语言指令来执行对应的任务。为了获得这一能力,通常需要使用自然语言描述的多任务示例数据集进行微调,称为指令微调(Instruction Tuning) 或监督微调(Supervised Fine-tuning)。通过指令微调,大语言模型可以在没有使用显式示例的情况下按照任务指令完成新任务,有效提升了模型的泛化能力。相比于上下文学习能力,指令遵循能力整体上更容易获得,但是最终的任务执行效果还取决于模型性能和任务难度决定。
逐步推理
逐步推理(Step-by-step Reasoning) 对于小型语言模型而言,通常很难解决涉及多个推理步骤的复杂任务(如数学应用题),而大语言模型则可以利用思维链 (Chain-of-Thought, CoT) 提示策略来加强推理性能。具体来说,大语言模型可以在提示中引入任务相关的中间推理步骤来加强复杂任务的求解,从而获得更为可靠的答案。
结语
与传统语言模型相比,大语言模型的构建过程涉及到更为复杂的训练方法,进而展现出了强大的自然语言理解能力和复杂任务求解能力 (通过文本生成的形式)。大语言模型真正令我们震撼的地方是,它与小型预训练语言模型采用了相似的网络架构以及训练方法,但通过扩展模型参数规模、数据数量以及算力资源,却带来了令人意料之外的模型性能跃升。大语言模型首次实现了单一模型可以有效解决众多复杂任务,人工智能算法从未如此强大。下一篇笔记将介绍在大语言模型中处于浪潮之巅的GPT、DeepSeek 模型。
Q.E.D.