附录 A:大模型技术入门速查
本附录为大模型核心技术提供一个精简速查手册,帮助读者快速理解书中涉及的关键概念。如需深入学习,建议参阅各小节末尾的延伸资料。
A.1 Transformer 架构基础
Transformer 是当前所有主流大语言模型的基础架构,由 Vaswani 等人在 2017 年论文"Attention Is All You Need"中提出。其核心思想是**完全基于注意力机制(Attention)**来建模序列关系,抛弃了传统 RNN 的递归结构,从而实现了高度并行化。
Self-Attention(自注意力机制)
Self-Attention 让序列中的每个位置都能直接关注到其他所有位置,捕获长距离依赖关系。其核心计算如下:
对于输入序列 $X$,通过三组线性变换得到查询(Query)、键(Key)、值(Value)矩阵:
$$Q = XW_Q, \quad K = XW_K, \quad V = XW_V$$
注意力得分计算:
$$\text{Attention}(Q, K, V) = \text{softmax}!\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
其中 $d_k$ 为键向量的维度,除以 $\sqrt{d_k}$ 起到缩放作用,防止点积过大导致 softmax 梯度消失。
直觉理解:每个 token 向其他所有 token "提问"(Query),与它们的"标签"(Key)计算相关度,然后根据相关度加权汇总"内容"(Value)。
Multi-Head Attention(多头注意力)
将 Q、K、V 分别投影到 $h$ 个不同的子空间,并行计算注意力后拼接:
$$\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W_O$$
其中每个头 $\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)$。
为什么多头:不同头可以关注不同类型的关系——有的关注语法依赖,有的关注语义关联,有的关注远距离指代。
Positional Encoding(位置编码)
Transformer 本身没有顺序感知能力,需要额外注入位置信息。主流方案:
| 方案 | 原理 | 代表模型 |
|---|---|---|
| 正弦位置编码 | 用不同频率的正弦/余弦函数编码位置 | 原始 Transformer |
| 可学习位置编码 | 将位置 embedding 作为可训练参数 | GPT 系列、BERT |
| RoPE(旋转位置编码) | 通过旋转矩阵编码相对位置关系 | Llama、Qwen、DeepSeek |
| ALiBi | 在注意力分数上添加距离相关的线性偏置 | BLOOM、Mistral |
RoPE 是当前主流方案,其优势在于天然支持位置外推,能更好地泛化到训练时未见过的序列长度。
Feed-Forward Network(前馈网络)
每个 Transformer 层在注意力之后都包含一个逐位置的前馈网络(FFN):
$$\text{FFN}(x) = W_2 \cdot \sigma(W_1 x + b_1) + b_2$$
其中 $\sigma$ 为激活函数(原始 Transformer 使用 ReLU,现代模型多用 GeLU 或 SiLU)。FFN 的隐层维度通常是模型维度的 4 倍,是模型参数量的主要来源。
FFN 的作用:注意力层负责信息聚合(token 之间的交互),FFN 负责信息变换(对聚合后的信息做非线性变换)。可以类比理解为:注意力是"查资料",FFN 是"消化吸收"。
整体架构速览
输入 Token 序列
|
Token Embedding + Position Embedding
|
+---> Transformer Block (x N 层) ---+
| | |
| Multi-Head Self-Attention |
| | |
| Add & Layer Norm (残差连接) |
| | |
| Feed-Forward Network |
| | |
| Add & Layer Norm (残差连接) |
| | |
+-------+ |
| |
输出表示 <--------------------------+
|
(根据任务接不同头部)
残差连接(Residual Connection) 和 Layer Normalization 是训练深层 Transformer 的关键,前者保证梯度顺畅传播,后者稳定训练过程。
A.2 主流开源模型一览
2024-2026 年间,开源大模型生态快速发展,多个模型在特定维度已接近甚至超越闭源模型。以下为 2026 年企业选型中最值得关注的开源模型对比:
| 模型 | 发布方 | 参数规模 | 架构 | 上下文长度 | 许可证 | 核心优势 | 推荐场景 |
|---|---|---|---|---|---|---|---|
| DeepSeek-V3 | DeepSeek | 671B (MoE, 37B 激活) | MoE | 128K | MIT | 推理能力极强,数学/代码顶尖,中文表现优秀 | 复杂推理、代码生成、通用企业级 |
| Qwen3 | 阿里云 | 235B (MoE, 22B 激活) / 32B Dense | MoE / Dense | 128K | Apache 2.0 | 多语言能力突出,工具调用强,Agent 生态完善 | Agent 场景、跨语言业务、工具编排 |
| GLM-4.5 | 智谱 AI | 9B / 32B | Dense | 128K | Apache 2.0 | 轻量高效,中文理解精准,部署门槛低 | 边缘部署、资源受限环境、中小规模应用 |
| Llama 4 | Meta | 400B+ (MoE) / 17B / 30B | MoE / Dense | 1M+ | Llama License | 英文能力最强,社区生态最丰富,长上下文突出 | 国际化业务、英文场景、长文档处理 |
| Mistral | Mistral AI | 22B / 123B (MoE) | Dense / MoE | 128K | Apache 2.0 | 推理效率高,多语言均衡,欧洲合规友好 | 欧洲市场、高效推理、多语言场景 |
选型关键指标说明
参数规模与实际算力消耗
对于 MoE(混合专家)架构的模型,需区分总参数量和每次推理激活的参数量。例如 DeepSeek-V3 总参数 671B,但每次推理仅激活约 37B,实际推理成本远低于同等参数量的 Dense 模型。
上下文长度的实际意义
| 文档类型 | 典型 Token 数 |
|---|---|
| 一页 A4 文本 | ~500-800 |
| 一篇论文 | ~5,000-15,000 |
| 一份年度报告 | ~30,000-80,000 |
| 一部中篇小说 | ~100,000-200,000 |
| 大型代码仓库 | 数百万+ |
128K 上下文已能覆盖绝大多数单文档场景。超过 128K 的需求通常出现在多文档 RAG、完整代码库分析等场景。
许可证差异速查
| 许可证 | 商业使用 | 分发限制 | 模型衍生 |
|---|---|---|---|
| MIT / Apache 2.0 | 自由 | 无 | 无限制 |
| Llama License | 允许 | 月活 >7 亿需申请 | 需保留归属声明 |
| 商业许可 | 按协议 | 按协议 | 按协议 |
A.3 关键训练技术
大模型的训练通常分为多个阶段,每个阶段有不同的目标和方法。以下按训练流程顺序介绍核心技术。
Pre-training(预训练)
预训练是模型学习基础语言能力的过程,也是资源消耗最大的阶段。
核心流程:
- 收集海量文本数据(TB~PB 级别),涵盖网页、书籍、论文、代码等
- 对数据进行清洗、去重、质量过滤
- 使用"下一个 token 预测"(Next Token Prediction)作为训练目标
- 在数千到数万块 GPU 上进行分布式训练,耗时数周到数月
关键概念:
| 概念 | 说明 |
|---|---|
| 训练数据 | 通常为数万亿 token,覆盖多语言、多领域 |
| 学习率调度 | 一般采用余弦退火(Cosine Decay),配合预热(Warmup) |
| 批次大小 | 从数百到数千不等,配合梯度累积策略 |
| 并行策略 | 数据并行 + 张量并行 + 流水线并行(3D 并行) |
| 训练损失 | 交叉熵损失,衡量模型预测下一个 token 的准确程度 |
行业视角:绝大多数企业不需要从头预训练基座模型。开源模型已经提供了足够好的起点,行业落地的重点应放在后续的适配阶段。
SFT(Supervised Fine-Tuning,有监督微调)
SFT 将预训练模型从"通用文本续写器"转变为"有用的对话助手"。
核心流程:
- 构建高质量的指令-回复对(Instruction-Response Pairs)
- 在这些数据上对模型进行有监督训练
- 模型学习按指令格式输出,而非自由续写
数据质量是关键:SFT 的效果高度依赖数据质量。经验法则:
- 1,000 条高质量数据 > 10,000 条低质量数据
- 数据应覆盖目标任务的典型场景和边界情况
- 回复应准确、有条理、格式一致
- 需要人工审核或经过严格的质量筛选流程
行业 SFT 数据构建要点:
- 从行业文档中提取问答对(如法规解读、案例分析)
- 利用领域专家编写标准回复模板
- 通过self-instruct方法用强模型辅助生成,再由专家审核
- 关注负样本(模型不应回答的问题、需要拒绝的场景)
RLHF / DPO(对齐训练)
RLHF 和 DPO 是让模型输出更符合人类期望的关键技术。
RLHF(Reinforcement Learning from Human Feedback):
步骤1: 训练奖励模型(Reward Model)
- 人类标注者对模型多个输出进行排序
- 训练一个打分模型学习人类偏好
步骤2: 使用 PPO 算法优化策略
- 模型生成回复 → 奖励模型打分 → 反馈给模型优化
- 目标:让模型倾向生成高分回复
DPO(Direct Preference Optimization):
DPO 简化了 RLHF 的流程,直接利用偏好数据优化模型,无需训练单独的奖励模型:
- 输入:同一个 prompt 的好回复和差回复对(preference pairs)
- 直接通过损失函数让模型增大好回复概率、降低差回复概率
- 实现更简单、训练更稳定、资源消耗更低
对比:
| 维度 | RLHF | DPO |
|---|---|---|
| 实现复杂度 | 高(需训练奖励模型+PPO训练) | 低(端到端直接优化) |
| 训练稳定性 | PPO 训练不稳定,超参敏感 | 相对稳定 |
| 效果上限 | 理论上更高 | 在多数场景已接近 RLHF |
| 资源消耗 | 较高 | 较低 |
| 适用场景 | 大规模对齐、复杂偏好建模 | 中小规模、快速迭代 |
行业实践建议:对于行业落地场景,DPO 通常是更务实的选择。在构建行业问答系统时,可以收集用户对回答的反馈(点赞/踩),积累偏好数据后定期进行 DPO 训练。
LoRA / QLoRA(参数高效微调)
全量微调(Full Fine-tuning)需要更新模型所有参数,对大模型而言成本极高。LoRA 系列方法通过只训练极少量参数实现高效适配。
LoRA(Low-Rank Adaptation):
核心思想是在模型权重矩阵旁添加低秩分解矩阵,仅训练这些低秩矩阵:
$$W' = W + \Delta W = W + BA$$
其中 $W$ 为原始权重(冻结不训练),$B \in \mathbb{R}^{d \times r}$,$A \in \mathbb{R}^{r \times k}$,$r \ll \min(d,k)$ 为低秩维度。
- 可训练参数量仅为全量微调的 0.1%~1%
- 训练完成后可将 LoRA 权重合并回原模型,推理零额外开销
- 多个 LoRA 适配器可共享同一个基座模型,按需切换
QLoRA(Quantized LoRA):
在 LoRA 基础上进一步优化:
- 将基座模型量化到 4-bit(NF4 格式)
- 在量化模型上应用 LoRA 进行训练
- 训练时反量化到 BF16 计算梯度
QLoRA 使得在单张消费级 GPU(如 RTX 4090)上微调 70B 级模型成为可能。
实用选型指南:
| 场景 | 推荐方案 | 典型硬件需求 |
|---|---|---|
| 7B 模型微调 | LoRA / 全量微调 | 1x A100 40G / 2x A100 80G |
| 32B 模型微调 | QLoRA (4-bit) | 2x A100 80G |
| 70B 模型微调 | QLoRA (4-bit) | 4-8x A100 80G |
| 多任务适配 | 多 LoRA 切换 | 基座模型 + 各任务 LoRA 权重 |
行业实践要点:
- LoRA 的秩 $r$ 通常取 8~64,行业专业场景建议从 $r=16$ 开始实验
- 学习率通常设为全量微调的 2-5 倍(如 1e-4 ~ 5e-4)
- 目标模块选择:推荐对 Q、K、V、O 矩阵和 FFN 的上下投影都加 LoRA
- 数据量在 5,000-50,000 条高质量数据时,LoRA 通常已能达到很好的行业适配效果
延伸阅读
- Vaswani et al., "Attention Is All You Need" (2017)
- Hu et al., "LoRA: Low-Rank Adaptation of Large Language Models" (2021)
- Dettmers et al., "QLoRA: Efficient Finetuning of Quantized LLMs" (2023)
- Rafailov et al., "Direct Preference Optimization" (2023)
- DeepSeek-V3 Technical Report (2024)
- Qwen3 Technical Report (2025)