M4 · 大语言模型是如何构建的? - Large Language Models
所属知识库:Agent 全栈技术地图
所属领域:01 · AI
所属章节:02 · AI 模型是如何构建和工作的? - Model Architecture
文档类型:模型架构与技术体系研究
版本:v1.0
更新日期:2026 年 10 月 27 日
核心问题:什么是大语言模型?LLM 与传统语言模型有什么区别?一个 LLM 由哪些核心组件构成?语言建模目标是什么?模型规模如何影响能力?Dense、MoE 等架构有什么区别?基础模型、指令模型和推理模型之间是什么关系?一个 LLM 如何从架构设计发展为可以实际使用的模型?
专题导读
前三篇已经建立了模型基础、神经网络和 Transformer 的技术认知。M4 将这些知识整合起来,研究一个完整的大语言模型(LLM)究竟由哪些部分构成,以及它如何从神经网络架构发展为能够理解指令、生成文本、处理复杂任务的基础模型。
本篇重点研究 LLM 的整体结构、语言建模目标、模型规模、架构设计、参数组织、能力形成和模型交付形式。预训练与后训练的具体算法留给 M6,推理与解码优化留给 M7。
一、研究概述
大语言模型(Large Language Model,LLM)是现代生成式人工智能的重要技术基础,也是大量 AI 应用和 Agent 系统所依赖的核心模型类型。
大语言模型能够接收自然语言或其他形式的输入,并根据上下文生成相应的输出。例如,回答问题、总结文档、编写代码、翻译语言、分析信息,以及生成结构化数据。
这些能力使 LLM 不再局限于传统意义上的文本预测任务,而是成为可以支持多种应用场景的通用计算组件。
但从技术本质上看,现代 LLM 并不是一个独立于机器学习和神经网络之外的新系统。
它建立在前面三个研究主题的基础之上:
- M1:模型基础。 解释模型架构、参数、训练和推理之间的关系。
- M2:神经网络。 解释模型如何通过多层计算、损失函数和参数优化学习数据规律。
- M3:Transformer。 解释模型如何通过注意力机制处理序列信息。
LLM 将这些技术与大规模数据、计算资源和训练方法结合,形成能够处理广泛语言任务的模型。
因此,理解 LLM 不能只关注参数数量,也不能将其简单理解为一个能够聊天的软件。
需要同时研究三个层次:
第一,模型结构。 LLM 如何组织 Tokenizer、Embedding、Transformer Block、输出层和模型参数。
第二,模型构建。 开发者如何确定模型架构、训练目标、数据体系、参数规模和计算预算,并通过训练获得模型能力。
第三,模型能力与交付。 基础模型如何经过后训练形成指令模型,如何支持工具调用和结构化输出,以及如何作为独立模型或模型服务提供给应用。
本篇将建立 LLM 的整体技术框架,为后续研究模型训练、推理、评估和 Agent 开发提供基础。
二、什么是大语言模型?
2.1 大语言模型的定义
大语言模型是主要通过大规模语言数据训练,能够对语言序列进行概率建模,并支持多种语言理解与生成任务的机器学习模型。
现代 LLM 通常采用深度神经网络,尤其是 Transformer 相关架构。
从概率建模角度看,典型自回归语言模型学习的是:
其中:
:当前需要预测的 Token; :此前的 Token; :模型学习得到的条件概率分布。
模型根据已有上下文,计算不同后续 Token 的概率。
通过重复这一过程,模型可以生成完整的文本序列。
2.2 为什么称为“大”语言模型?
“大”通常反映模型具有较大的参数规模、训练数据规模和计算投入。
但 LLM 并不存在一个全球统一的参数量门槛。
一个模型是否被称为 LLM,通常还取决于其技术背景、任务能力和使用语境。
例如,早期被认为规模巨大的语言模型,与现代模型相比可能已经相对较小。
因此,LLM 中的 Large 是一个具有历史和相对性的概念。
不能简单地规定:
参数超过某个固定数值,就一定是 LLM。
更重要的是理解其技术特征:
大规模参数化语言建模、广泛的训练数据,以及通过规模化训练形成的通用语言处理能力。
2.3 LLM 与传统语言模型有什么区别?
语言模型并不是在 Transformer 出现后才产生的。
早期语言模型包括 N-gram 等统计方法,后来又出现了基于 RNN、LSTM 的神经语言模型。
现代 LLM 与这些模型的主要差异在于模型结构、规模、训练方法和能力范围。
| 维度 | 传统统计语言模型 | 早期神经语言模型 | 现代 LLM |
|---|---|---|---|
| 典型方法 | N-gram | RNN、LSTM | Transformer 及其变体 |
| 语言表示 | 统计计数与条件概率 | 学习得到的向量表示 | 大规模上下文表示 |
| 上下文处理 | 通常受固定阶数限制 | 通过循环状态处理 | 通过注意力等机制处理 |
| 参数规模 | 通常较小 | 相对有限 | 通常较大 |
| 训练数据 | 相对有限 | 依任务而定 | 通常规模较大 |
| 任务能力 | 语言概率估计 | 特定语言任务 | 广泛语言理解与生成 |
| 典型使用 | 语言建模、语音识别 | 翻译、序列预测 | 对话、代码、分析、生成 |
需要注意,这种比较描述的是典型技术发展路径,不意味着所有现代 LLM 都采用完全相同的架构,也不意味着传统模型在所有任务上都不再具有价值。
2.4 LLM 与生成式 AI 有什么关系?
生成式人工智能(Generative AI)是更广泛的技术类别。
它包括:
- 文本生成;
- 图像生成;
- 音频生成;
- 视频生成;
- 其他数据生成。
LLM 主要属于语言建模与生成技术领域。
但现代 LLM 的能力边界正在与多模态模型逐渐交叉。
一些模型不仅能够处理文本,还可以接收图像、音频或视频输入。
因此,在现代产品语境中,“大语言模型”有时被用来指代具有语言交互能力的多模态基础模型。
从技术研究角度看,仍然需要区分模型的语言建模核心与额外的多模态组件。
三、一个大语言模型由什么构成?
现代 LLM 可以从逻辑结构和工程组成两个角度理解。
3.1 典型 Decoder-only LLM 的结构
以常见的自回归 Transformer 语言模型为例:
用户输入文本
│
▼
Tokenizer
│
▼
Token ID 序列
│
▼
Token Embedding
│
▼
位置信息
│
▼
┌────────────────────────┐
│ Transformer Block 1 │
├────────────────────────┤
│ Transformer Block 2 │
├────────────────────────┤
│ Transformer Block 3 │
├────────────────────────┤
│ ... │
├────────────────────────┤
│ Transformer Block N │
└────────────────────────┘
│
▼
最终归一化
│
▼
Language Modeling Head
│
▼
Token Logits
│
▼
解码策略
│
▼
输出 Token
│
▼
文本结果这是一种典型结构,并不是所有 LLM 的统一实现。
不同模型可能采用 Encoder–Decoder、MoE、混合注意力或其他架构。
3.2 Tokenizer
Tokenizer 负责将文本转换为模型能够处理的 Token ID。
例如:
文本:
Artificial intelligence
↓
Tokenizer
↓
Token ID:
[若干整数]具体结果取决于模型使用的词表和分词算法。
Tokenizer 通常是模型处理流水线的重要配套组件,而不是 Transformer 神经网络本体中的可学习计算层。
3.3 Embedding
Embedding 将 Token ID 映射为连续向量。
假设词表大小为
每个 Token 对应一个向量。
这些向量进入 Transformer 网络后,会逐步形成与上下文相关的表示。
3.4 Transformer Blocks
Transformer Block 是典型 LLM 的主要计算结构。
一个现代 Decoder-only Transformer Block 通常包含:
- Self-Attention;
- Feed-Forward Network;
- Normalization;
- Residual Connection。
模型通过堆叠多个 Block,完成多层信息交互与特征变换。
3.5 Language Modeling Head
Language Modeling Head 通常将最后一层隐藏表示映射到词表维度。
假设隐藏表示为:
输出投影矩阵为:
那么:
其中:
表示每个候选 Token 对应的 Logit。
一些模型会将输出投影权重与输入 Embedding 权重共享,这种方法称为 Weight Tying。
3.6 模型参数
LLM 的参数主要分布在:
- Embedding 层;
- 注意力投影矩阵;
- FFN;
- 归一化层;
- 输出层;
- 其他架构组件。
这些参数共同决定模型的具体计算行为。
3.7 模型本体与运行组件的区别
一个能够实际运行的 LLM,通常还需要:
- Tokenizer;
- 模型配置;
- 推理引擎;
- 解码策略;
- 计算资源;
- 模型服务接口。
因此,需要区分:
模型本体负责计算,配套组件负责数据转换与运行,模型服务负责向外部系统提供调用能力。
四、LLM 如何进行语言建模?
4.1 什么是语言建模?
语言建模(Language Modeling)研究如何对语言序列建立概率模型。
例如:
今天的天气非常
模型需要根据已有上下文,预测可能出现的后续 Token。
候选结果可能包括:
- 好;
- 冷;
- 热;
- 糟糕。
模型会为不同候选 Token 计算分数或概率。
4.2 自回归语言建模
现代 Decoder-only LLM 通常使用自回归语言建模目标。
对于序列:
联合概率可以分解为:
其中:
训练目标通常是提高训练数据中实际后续 Token 的条件概率。
4.3 语言模型的训练损失
典型自回归语言模型可以使用负对数似然损失:
实际训练中,通常还会根据有效 Token 数量进行平均,并对不需要计算损失的位置使用掩码。
这个目标使模型学习在给定上下文时,哪些后续 Token 更可能出现。
4.4 为什么预测下一个 Token 能形成复杂能力?
自然语言不仅包含词语顺序,还包含大量关于现实世界、概念关系、语言结构和任务模式的信息。
为了在广泛的数据分布上降低预测误差,模型需要学习有助于预测的内部表示。
例如,训练数据可能包含:
- 数学推导;
- 程序代码;
- 科学解释;
- 历史叙述;
- 问题与答案;
- 逻辑论证;
- 多轮对话。
模型在预测这些序列时,可以学习相关的语言模式、知识关联和部分问题求解策略。
但必须区分两个概念:
训练目标是预测 Token,模型最终表现出的能力则可能超出简单的局部词语补全。
这种能力的形成依赖模型架构、训练数据、规模和训练方法等多种因素。
同时,能够生成形式合理的答案,不意味着模型一定具有准确的事实知识或可靠的推理能力。
4.5 LLM 是否只是在预测下一个词?
“预测下一个词”是一种常见但不够精确的描述。
首先,现代 LLM 通常预测的是 Token,而不一定是完整单词。
其次,下一 Token 预测描述的是典型自回归模型的训练目标与生成机制,并不能完整描述模型内部形成的表示能力。
最后,并不是所有语言模型都使用相同的训练目标。
例如,BERT 使用掩码语言建模,T5 使用序列到序列的去噪目标。
因此,更准确的表述是:
典型自回归 LLM 通过学习 Token 序列的条件概率分布获得语言建模能力,并在训练和后训练过程中形成多种任务能力。
五、LLM 的架构是如何设计的?
构建 LLM 的第一步,是确定模型的计算结构。
5.1 主要架构选择
开发者需要确定模型采用哪种基本结构。
常见选择包括:
- Decoder-only;
- Encoder–Decoder;
- 其他混合架构。
现代通用文本生成 LLM 广泛采用 Decoder-only Transformer。
但不同任务也可能使用其他结构。
5.2 模型深度
模型深度通常与 Transformer Block 的数量有关。
例如:
表示模型包含 32 个主要 Transformer Block。
增加层数可以扩展模型的计算深度,但也会增加计算和训练成本。
5.3 隐藏维度
隐藏维度(Hidden Size)描述模型内部表示的主要向量维度。
例如:
意味着某些主要隐藏表示使用 4096 维向量。
隐藏维度会影响模型参数规模和计算成本。
5.4 注意力头数量
Multi-Head Attention 将注意力计算组织为多个头。
例如:
注意力头数量、每个头的维度以及 Q、K、V 的组织方式,共同影响注意力模块的结构。
现代模型还可能使用 GQA、MQA 等方法。
5.5 FFN 维度
Transformer Block 中的 FFN 通常会将隐藏表示映射到更高维空间,再映射回模型隐藏维度。
例如:
FFN 的维度和具体结构会影响参数规模与计算成本。
5.6 词表大小
词表大小(Vocabulary Size)决定模型可以直接表示多少种 Token ID。
例如:
表示词表包含约十万个 Token。
词表大小会影响 Embedding 和输出层的参数规模。
5.7 上下文长度
上下文长度(Context Length)描述模型在特定配置下能够处理的 Token 序列长度。
它受到模型架构、位置表示、训练设置和推理实现等因素影响。
需要注意,模型支持较长上下文,不意味着它能够同样可靠地利用上下文中的全部信息。
5.8 架构设计参数汇总
| 参数 | 主要含义 | 影响 |
|---|---|---|
| Number of Layers | Transformer 层数 | 模型深度 |
| Hidden Size | 隐藏表示维度 | 参数与计算规模 |
| Attention Heads | 注意力头数量 | 注意力组织方式 |
| Head Dimension | 单个注意力头维度 | 注意力计算结构 |
| FFN Dimension | 前馈网络中间维度 | 参数与计算规模 |
| Vocabulary Size | 词表大小 | Token 表示与输出 |
| Context Length | 支持的上下文长度 | 输入处理范围 |
| Position Encoding | 位置表示方法 | 序列位置信息 |
| Normalization | 归一化方式 | 训练与计算特征 |
这些设置共同定义模型架构。
但架构参数只是模型设计的一部分。
真正的模型能力还需要通过训练形成。
六、什么是 Dense Model 和 MoE Model?
现代 LLM 可以根据参数组织与计算方式分为不同类型。
其中,Dense 和 MoE 是两个重要概念。
6.1 Dense Model
Dense Model(稠密模型)通常指在标准计算路径中,大部分模型参数都会参与每个 Token 的计算。
例如,一个典型稠密 Transformer Block 包含:
- Attention;
- FFN;
- Normalization。
输入经过每一层时,相关模块按照固定计算路径执行。
输入 Token
│
▼
Attention
│
▼
FFN
│
▼
输出稠密模型的结构相对直接,便于理解和实现。
6.2 MoE Model
MoE(Mixture of Experts,混合专家)是一种通过多个专家网络和路由机制组织计算的模型架构。
在许多现代 MoE Transformer 中,部分 FFN 层会被多个专家网络替代。
输入 Token 经过路由器后,只选择部分专家参与计算。
输入 Token
│
▼
Router
│
├──────────┬──────────┬──────────┐
▼ ▼ ▼ ▼
Expert 1 Expert 2 Expert 3 Expert 4
│ │
└────┬─────┘
│
▼
聚合输出这里假设 Router 为某个 Token 选择了两个专家。
实际模型可能使用不同的专家数量和路由策略。
6.3 MoE 的主要价值
MoE 的重要目标之一,是在增加模型总参数容量的同时,控制每个 Token 实际激活的计算量。
例如,一个 MoE 模型可能拥有大量总参数,但每次前向计算只使用其中一部分专家参数。
因此,需要区分:
总参数量(Total Parameters):模型包含的全部参数。
激活参数量(Active Parameters):特定计算过程中实际参与运算的参数。
但激活参数量并不是一个在所有架构中都具有完全统一统计口径的指标。
6.4 Dense 与 MoE 的比较
| 维度 | Dense Model | MoE Model |
|---|---|---|
| 参数组织 | 主要使用固定计算路径 | 包含多个专家及路由机制 |
| 单 Token 计算 | 通常执行固定模块 | 通常选择部分专家 |
| 总参数容量 | 与固定计算路径紧密相关 | 可以增加专家参数容量 |
| 路由机制 | 通常不需要专家路由 | 需要 Router |
| 工程复杂度 | 相对直接 | 通常更复杂 |
| 主要挑战 | 计算和参数规模 | 负载均衡、通信与部署 |
MoE 并不意味着模型一定更快或更好。
实际效果取决于架构、训练质量、硬件环境和推理实现。
七、模型规模如何影响 LLM 能力?
模型规模是 LLM 研究中的重要问题。
但需要从多个维度理解规模。
7.1 参数规模
参数规模(Parameter Count)表示模型包含多少可学习参数。
例如:
表示约 70 亿参数。
参数规模影响模型的表示容量、内存需求和计算成本。
但不能直接将参数数量理解为模型能力分数。
7.2 数据规模
训练数据规模通常使用 Token 数量等指标描述。
例如:
表示约一万亿个训练 Token。
数据规模会影响模型能够接触的信息范围和训练过程。
但数据质量、重复程度和分布同样重要。
7.3 训练计算量
训练计算量(Training Compute)描述模型训练消耗的计算资源。
通常可以使用 FLOPs 等指标估计。
对于某些稠密自回归 Transformer,存在常见的近似估算:
其中:
:训练计算量; :模型参数量; :训练 Token 数量。
这一公式只是特定条件下的粗略估算,不能直接用于所有模型。
例如,MoE、长上下文训练、不同注意力结构和其他训练设置都可能改变实际计算量。
7.4 Scaling Laws
Scaling Laws(规模定律)研究模型表现与参数规模、数据规模和计算资源之间的统计关系。
Kaplan 等人在 2020 年系统研究了神经语言模型的规模规律。[1]
Hoffmann 等人在 2022 年进一步研究了固定计算预算下参数规模与训练数据规模之间的关系。[2]
这些研究表明,模型性能受到参数、数据和计算资源的共同影响。
7.5 为什么不能只增加参数?
假设两个模型:
- 模型 A:参数更多,但训练数据不足;
- 模型 B:参数相对较少,但训练数据和计算预算配置更加合理。
模型 B 在某些任务上可能表现更好。
因此,LLM 的规模设计需要综合考虑:
而不是单纯追求更大的参数数量。
7.6 模型规模与实际使用成本
模型规模还影响:
- 模型权重存储;
- 推理显存;
- 计算吞吐量;
- 响应延迟;
- 部署成本。
对于 MoE,还需要考虑专家路由和分布式通信。
因此,模型研发中的最优规模,不一定等于实际产品中的最优选择。
八、LLM 的能力是如何形成的?
一个 LLM 的能力并不是由架构设计直接决定的。
架构提供计算基础,训练过程则使模型获得具体能力。
8.1 预训练
预训练(Pre-training)通常使用大规模数据,让模型学习通用的语言统计规律和表示。
例如,自回归语言模型通过预测后续 Token 进行训练。
预训练可能使模型获得:
- 语言结构处理能力;
- 文本生成能力;
- 知识关联;
- 代码模式识别;
- 部分数学与推理能力。
但这些能力的具体水平受到训练条件影响。
8.2 后训练
后训练(Post-training)通常用于进一步调整模型的任务表现和行为。
常见方法包括:
- 监督微调;
- 偏好优化;
- 强化学习;
- 其他任务特定训练方法。
后训练可以改善模型遵循指令、组织回答和处理特定任务的能力。
8.3 训练目标与模型行为
模型最终表现受到多个因素影响:
模型架构
│
训练数据
│
训练目标
│
优化算法
│
训练计算
│
后训练方法
│
▼
模型能力与行为这些因素之间并不是简单的线性关系。
例如,增加训练数据可能改善部分任务,但如果数据质量较差,也可能带来新的问题。
8.4 为什么同样架构的模型能力不同?
两个模型即使采用相似的 Transformer 架构,也可能由于以下因素产生明显差异:
- 参数规模不同;
- 训练数据不同;
- 数据清洗方法不同;
- 训练 Token 数量不同;
- 训练目标不同;
- 后训练方法不同;
- 模型评估和筛选策略不同。
因此,不能仅凭模型架构判断最终能力。
九、什么是 Base Model、Instruct Model 和 Reasoning Model?
在现代 LLM 研究和应用中,经常会遇到不同模型版本或能力定位。
9.1 Base Model
Base Model(基础语言模型)通常指主要经过预训练、尚未针对通用助手行为充分进行指令后训练的模型。
它的核心能力是根据输入序列进行语言建模。
例如:
人工智能的发展经历了
Base Model 可能继续补全文本。
但它不一定能够稳定按照用户要求组织回答。
9.2 Instruct Model
Instruct Model(指令模型)通常在基础模型之上进行指令相关训练。
例如:
请用三个要点解释人工智能的发展。
指令模型通常更适合按照任务要求生成回答。
9.3 Chat Model
Chat Model(对话模型)通常进一步适配多轮对话格式。
例如:
System
User
Assistant
Tool不同模型使用不同的消息模板和角色标记。
需要注意,Chat Model 和 Instruct Model 的概念经常重叠。
它们不是严格互斥的模型类别。
9.4 Reasoning Model
Reasoning Model(推理模型)通常指针对复杂问题求解、推理过程或推理阶段计算进行专门优化的模型。
例如:
- 数学问题求解;
- 复杂代码任务;
- 多步骤分析;
- 需要较长推理过程的任务。
但 Reasoning Model 并不对应某一种统一的神经网络架构。
它可能仍然使用 Transformer,只是在训练方法、推理策略或计算分配方面具有不同设计。
9.5 不同模型类型的关系
预训练
│
▼
Base Model
│
▼
指令相关后训练
│
▼
Instruct / Chat Model
│
▼
进一步任务优化或推理训练
│
▼
具有更强特定推理能力的模型这是一种常见的发展路径,而不是所有模型都必须经历的固定流程。
实际模型可能采用不同的训练阶段组合。
9.6 模型版本与模型能力不是同一个概念
一个模型可能同时具有:
- 指令遵循能力;
- 对话能力;
- 代码能力;
- 数学推理能力;
- 工具调用能力。
因此,不能简单将所有模型划分为互不重叠的类别。
更合理的方法,是区分模型的训练阶段、产品定位和具体任务能力。
十、LLM 如何支持指令、对话和工具调用?
LLM 最初的语言建模目标,并不直接等同于现代 AI 助手的交互形式。
实际应用通常需要将用户输入组织为模型能够处理的特定格式。
10.1 指令输入
例如:
请将以下文章总结为三个要点。
模型需要根据输入内容生成符合指令要求的输出。
这种能力通常受到指令后训练影响。
10.2 对话格式
现代对话模型通常使用特定的 Chat Template,将不同角色的消息转换为模型输入。
例如:
System:
你是一个研究助手。
User:
请解释什么是 Transformer。
Assistant:
Transformer 是……实际模板可能包含特殊 Token 或其他格式约定。
10.3 结构化输出
模型可以被要求生成 JSON 等结构化内容。
例如:
{
"topic": "Transformer",
"category": "Model Architecture",
"summary": "一种基于注意力机制的神经网络架构"
}但模型生成看起来像 JSON 的文本,不等于输出一定满足严格的数据结构约束。
实际应用可能需要结构化解码、Schema 验证或其他机制。
10.4 工具调用
工具调用通常涉及模型与外部执行系统之间的协作。
例如:
用户:
查询今天的天气。
↓
LLM
↓
生成工具调用请求
↓
Agent / Application Runtime
↓
调用天气服务
↓
返回工具结果
↓
LLM 生成回答模型可以生成工具调用意图或结构化参数,但真正执行外部工具通常需要模型之外的软件系统。
因此:
工具调用能力是模型输出能力与外部运行机制共同实现的功能。
10.5 LLM 与 Agent 的边界
LLM 可以为 Agent 提供:
- 任务理解;
- 信息分析;
- 计划生成;
- 工具选择建议;
- 结果解释。
但 Agent 还需要:
- 执行循环;
- 工具管理;
- 状态管理;
- 权限控制;
- 错误恢复;
- 任务完成判断。
因此,LLM 是现代 Agent 的重要能力组件,但不等同于完整 Agent。
十一、一个 LLM 是如何从零构建出来的?
从零构建一个现代 LLM,是一个同时涉及模型研究、数据工程、分布式计算和系统工程的复杂过程。
可以将其划分为以下阶段。
11.1 阶段一:确定模型目标
首先明确模型的主要定位。
例如:
- 通用语言模型;
- 代码模型;
- 数学推理模型;
- 特定语言模型;
- 特定领域模型。
不同目标会影响后续架构和数据设计。
11.2 阶段二:确定模型架构
开发者需要确定:
- 基础架构;
- 模型层数;
- 隐藏维度;
- 注意力结构;
- FFN 结构;
- 位置编码;
- 词表大小;
- 参数组织方式。
例如,选择 Dense Decoder-only Transformer 或 MoE Transformer。
11.3 阶段三:构建 Tokenizer
Tokenizer 需要根据目标语言和数据特点进行设计或选择。
常见方法包括:
- Byte Pair Encoding;
- WordPiece;
- Unigram Language Model。
不同方法会影响文本的 Token 划分方式。
11.4 阶段四:准备训练数据
训练数据可能来自:
- 公开文本;
- 代码;
- 书籍;
- 学术资料;
- 其他经过授权或合法获取的数据。
数据准备通常涉及清洗、去重、质量筛选、格式转换和数据混合。
还需要考虑数据来源、隐私、版权和安全等问题。
11.5 阶段五:制定训练计划
训练计划需要确定:
- 训练目标;
- 优化算法;
- 学习率;
- Batch Size;
- 训练 Token 数量;
- 计算预算;
- 验证策略。
大型模型还需要考虑分布式训练方案。
11.6 阶段六:执行预训练
训练系统根据训练数据和目标调整模型参数。
大型 LLM 训练可能使用:
- 数据并行;
- 张量并行;
- 流水线并行;
- 专家并行;
- 混合精度训练。
这些技术用于提高大规模训练的可行性和效率。
11.7 阶段七:评估基础模型
预训练完成后,需要评价模型的基本能力。
例如:
- 语言建模损失;
- 知识任务表现;
- 代码能力;
- 数学能力;
- 不同语言表现;
- 安全性与可靠性。
11.8 阶段八:执行后训练
根据模型目标进行进一步训练。
例如:
- 指令微调;
- 偏好优化;
- 强化学习;
- 任务特定训练。
11.9 阶段九:模型验证与发布
模型发布前需要进行进一步测试。
例如:
- 能力评估;
- 安全评估;
- 推理性能测试;
- 兼容性测试;
- 部署验证。
11.10 阶段十:模型交付
模型可以通过不同方式交付。
例如:
- 发布模型权重;
- 提供模型 API;
- 集成到应用;
- 在本地设备运行;
- 作为 Agent 的模型组件。
11.11 完整构建流程
模型目标定义
│
▼
架构设计
│
▼
Tokenizer 设计
│
▼
训练数据准备
│
▼
训练计划制定
│
▼
大规模预训练
│
▼
基础模型评估
│
▼
后训练
│
▼
综合评估
│
▼
模型发布与部署
│
▼
持续改进这一流程是典型的整体研发路径。
实际研发通常包含大量迭代,并不一定严格按照单向顺序执行。
十二、LLM 的训练为什么需要复杂的工程系统?
大型语言模型训练不仅是神经网络优化问题,还涉及大量计算与数据工程。
12.1 计算资源
大型 LLM 训练通常需要大量 GPU 或其他 AI 加速设备。
模型规模越大,计算和内存需求通常越高。
12.2 分布式训练
当单个计算设备无法容纳模型或完成训练任务时,需要通过多个设备协同工作。
例如:
- Data Parallelism;
- Tensor Parallelism;
- Pipeline Parallelism;
- Expert Parallelism。
不同并行方法解决不同的资源与计算问题。
12.3 训练数据流水线
训练系统需要持续向计算设备提供数据。
如果数据读取和预处理速度不足,计算设备可能出现等待。
因此,数据工程也是训练效率的重要组成部分。
12.4 Checkpoint
Checkpoint 用于保存训练过程中的模型状态。
它可能包含:
- 模型参数;
- 优化器状态;
- 学习率调度状态;
- 训练进度;
- 其他恢复训练所需的信息。
Checkpoint 不一定等同于最终发布的推理模型文件。
12.5 故障恢复
大规模训练可能持续较长时间。
硬件故障、网络问题或软件错误都可能中断训练。
因此,需要设计检查点保存、故障检测和训练恢复机制。
12.6 训练监控
训练系统需要监控:
- Loss;
- 学习率;
- 梯度;
- 训练吞吐量;
- GPU 利用率;
- 内存占用;
- 验证指标。
这些指标用于判断训练是否正常进行。
十三、LLM 如何保存、发布和运行?
训练完成后,模型需要被保存并交付给推理系统。
13.1 模型权重
模型权重保存训练得到的参数。
常见格式包括 Safetensors 等。
13.2 模型配置
模型配置描述架构和相关参数。
例如:
{
"model_type": "llm",
"hidden_size": 4096,
"num_hidden_layers": 32,
"num_attention_heads": 32,
"vocab_size": 100000
}这是说明配置形式的示例,不对应特定模型。
13.3 Tokenizer 文件
Tokenizer 文件用于保证输入文本能够按照模型训练时使用的规则转换为 Token。
如果 Tokenizer 与模型不匹配,可能导致输入表示错误或输出异常。
13.4 推理引擎
推理引擎负责加载模型并执行计算。
例如:
- PyTorch;
- vLLM;
- llama.cpp;
- TensorRT-LLM。
不同推理引擎具有不同的硬件支持和性能特征。
13.5 模型服务
模型服务可以通过 API 对外提供模型能力。
例如:
用户应用
│
▼
模型 API
│
▼
推理服务
│
▼
LLM
│
▼
模型输出13.6 模型与模型服务的区别
模型本体负责计算。
模型服务还需要处理:
- 请求接收;
- 并发调度;
- 资源管理;
- 输出传输;
- 错误处理;
- 服务监控。
这些内容属于 Model Engineering 和推理系统工程的研究范围。
十四、LLM 的能力与局限是什么?
14.1 主要能力
现代 LLM 可以支持多种任务。
例如:
- 文本生成;
- 文档总结;
- 语言翻译;
- 代码生成;
- 信息提取;
- 问题回答;
- 结构化输出;
- 多步骤任务分析。
部分模型还可以处理图像、音频和其他模态。
14.2 主要局限
第一,模型可能产生事实错误。
LLM 生成的内容可能在语言形式上合理,但事实并不正确。
第二,模型的知识可能不完整或过时。
模型参数中的知识受到训练数据和训练时间等因素影响。
第三,模型可能受到上下文限制。
上下文长度和有效利用能力都会影响模型表现。
第四,模型可能在复杂推理任务中失败。
即使模型能够生成完整推理文本,也不意味着每一步都正确。
第五,模型可能对输入形式敏感。
不同提示方式可能导致不同输出。
第六,模型能力受到训练数据分布影响。
对于训练数据覆盖不足的领域,模型可能表现较差。
14.3 为什么 LLM 需要外部系统支持?
为了提高实际应用的可靠性,LLM 通常需要与其他技术结合。
例如:
| 需求 | 相关技术 |
|---|---|
| 获取最新信息 | 搜索与外部工具 |
| 使用私有知识 | RAG、知识库 |
| 执行操作 | Function Calling、Agent |
| 保持任务状态 | State Management |
| 控制输出格式 | Structured Outputs |
| 验证结果 | Evaluation、规则检查 |
| 控制权限 | Permissions、Guardrails |
因此,LLM 是 AI 应用的重要基础,但通常不是完整应用的全部组成。
十五、LLM 与 Agent、Agent System 有什么关系?
在 Agent 技术体系中,LLM 通常承担智能计算与决策辅助的角色。
15.1 LLM 提供模型能力
例如:
- 理解用户任务;
- 分析上下文;
- 生成计划;
- 选择工具;
- 解释工具结果;
- 生成最终内容。
15.2 Agent 组织行动
Agent 将模型能力与工具和执行机制结合。
例如:
用户任务
│
▼
Agent Runtime
│
├── 构建模型上下文
│
├── 调用 LLM
│
├── 解析模型输出
│
├── 调用工具
│
├── 更新任务状态
│
└── 判断是否继续
│
▼
任务结果15.3 Agent System 组织完整运行环境
Agent System 还需要:
- 运行基础设施;
- 模型服务;
- 工具服务;
- 任务编排;
- 状态管理;
- 安全控制;
- 监控与评估;
- 故障恢复。
因此,可以将三者的关系概括为:
LLM
提供语言与推理相关能力
│
▼
Agent
利用模型与工具执行任务
│
▼
Agent System
组织 Agent 的完整运行环境这一关系说明了 LLM 在 Agent 技术体系中的位置。
但具体 Agent 可以使用一个模型、多个模型,或者结合非语言模型与其他算法。
十六、核心结论
大语言模型是通过大规模数据和计算资源训练形成的语言建模系统。
现代 LLM 通常采用 Transformer 相关神经网络架构,并通过预训练和后训练获得广泛的语言处理能力。
理解 LLM,需要建立以下认识。
第一,LLM 是语言模型技术规模化发展的结果。 它并不是独立于神经网络和机器学习之外的技术。
第二,典型自回归 LLM 通过学习 Token 序列的条件概率分布进行语言建模。
第三,现代 LLM 通常由 Tokenizer、Embedding、Transformer Blocks、输出层和模型参数等部分共同构成。
第四,模型架构决定计算结构,训练过程决定具体参数。 相同架构的模型也可能具有明显不同的能力。
第五,LLM 的规模需要从参数、数据和计算资源三个维度综合理解。 参数量不是唯一的能力指标。
第六,Dense 和 MoE 是两种重要的参数组织方式。 MoE 通过专家路由机制,在增加总参数容量的同时控制部分计算开销。
第七,预训练和后训练承担不同作用。 预训练主要形成通用语言建模能力,后训练进一步调整任务表现和模型行为。
第八,Base、Instruct、Chat 和 Reasoning Model 主要反映训练阶段、交互形式或能力定位,不一定对应不同的基础架构。
第九,从零构建 LLM 需要完整的研发流程。 其中包括架构设计、Tokenizer、数据工程、训练、评估、后训练和模型交付。
第十,LLM 的实际运行依赖模型之外的软件组件。 推理引擎、模型服务和应用系统承担不同的工程职责。
第十一,LLM 能够支持广泛任务,但仍然存在事实错误、上下文限制和推理不可靠等问题。
第十二,LLM 是现代 Agent 的重要能力基础,但并不等同于 Agent 或 Agent System。
从整个 AI 技术体系看,LLM 将神经网络、Transformer、规模化训练和模型工程结合,形成了可以广泛复用的智能计算能力。
理解 LLM 的整体构建方式之后,下一步需要研究模型如何突破单一文本模态,进一步处理图像、音频、视频及其他形式的信息。
十七、参考文献与延伸阅读
17.1 语言模型与规模化研究
[1] Kaplan, J., et al. (2020). Scaling Laws for Neural Language Models.
研究语言模型性能与参数、数据和计算规模之间的关系。
论文:Scaling Laws for Neural Language Models
[2] Hoffmann, J., et al. (2022). Training Compute-Optimal Large Language Models.
研究固定训练计算预算下参数规模与训练数据规模的配置关系。
论文:Training Compute-Optimal Large Language Models
[3] Brown, T. B., et al. (2020). Language Models Are Few-Shot Learners.
介绍 GPT-3 及其少样本学习表现。
论文:Language Models Are Few-Shot Learners
17.2 Transformer 与 LLM 架构
[4] Vaswani, A., et al. (2017). Attention Is All You Need.
提出 Transformer 架构。
论文:Attention Is All You Need
[5] Touvron, H., et al. (2023). LLaMA: Open and Efficient Foundation Language Models.
介绍 LLaMA 模型的架构与训练研究。
论文:LLaMA
[6] Fedus, W., Zoph, B., & Shazeer, N. (2022). Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity.
研究稀疏专家架构。
论文:Switch Transformers
[7] Jiang, A. Q., et al. (2024). Mixtral of Experts.
介绍基于稀疏混合专家结构的语言模型。
论文:Mixtral of Experts
17.3 模型训练与能力形成
[8] Ouyang, L., et al. (2022). Training Language Models to Follow Instructions with Human Feedback.
介绍利用人类反馈改善语言模型指令遵循能力的方法。
论文:Training Language Models to Follow Instructions with Human Feedback
[9] Wei, J., et al. (2022). Finetuned Language Models Are Zero-Shot Learners.
介绍指令微调对模型任务泛化能力的影响。
论文:Finetuned Language Models Are Zero-Shot Learners
[10] DeepSeek-AI, et al. (2025). DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning.
研究通过强化学习改善语言模型推理表现的方法。
论文:DeepSeek-R1
17.4 模型工程与实现
[11] Hugging Face. Transformers Documentation.
提供模型架构、Tokenizer、模型加载和推理的工程文档。
官方文档:Transformers Documentation
[12] PyTorch. Distributed Overview.
介绍分布式训练的主要技术机制。
官方文档:PyTorch Distributed Overview
[13] vLLM Project. Documentation.
介绍大语言模型推理服务和相关优化技术。
官方文档:vLLM Documentation
17.5 基础模型研究
[14] Bommasani, R., et al. (2021). On the Opportunities and Risks of Foundation Models.
系统讨论基础模型的技术特征、应用潜力和风险。
论文:On the Opportunities and Risks of Foundation Models
十八、关联研究
| 关联文档 | 研究内容 |
|---|---|
| M1 · AI 模型是什么?它由什么构成? | 模型定义、架构、参数与运行机制 |
| M2 · 神经网络如何学习和处理信息? | 神经网络计算与参数优化 |
| M3 · Transformer 如何处理和生成信息? | 注意力机制与 Transformer 架构 |
| M5 · AI 模型如何理解和处理不同模态? | 多模态模型架构 |
| M6 · AI 模型如何通过训练获得能力? | 预训练与后训练 |
| M7 · AI 模型如何生成输出? | 推理、解码与生成 |
| M8 · 如何评估 AI 模型的能力与局限? | 模型评估 |
| E1 · 如何通过 API 调用 AI 模型? | 模型 API |
| E3 · 如何管理模型的上下文窗口? | Context Window |
| E6 · 如何选择和切换不同模型? | Model Routing |
| E7 · 如何部署和运行开源模型? | Model Deployment |
| A2 · Agent 如何获得认知与推理能力? | Agent 的模型组件 |