大模型技术知识手册

这份手册把前面对话中的内容整理成一个完整知识体系:先从大模型发展时间线理解“为什么会这样演进”,再进入 Transformer、长上下文、推理模型、开放 MoE、从零训练工程和量化压缩实践。

主线 → 时间线 → 技术细节 → 实践操作 包含概念速查 包含工程流程 适合从零学习与项目规划
阅读建议:先读 1—3 章建立技术主线;再读 7—8 章进入实践;最后用 10 章概念速查复盘。

1. 大模型领域发展时间线

大模型的发展可以理解为三次跃迁:架构与规模跃迁基础模型与产品化跃迁多模态、推理与智能体跃迁

2014—2016

Seq2Seq、Attention 与神经序列建模

机器翻译、摘要、问答等任务开始被统一为“输入序列 → 输出序列”。Attention 机制解决了早期 Seq2Seq 把所有信息压缩到固定向量的瓶颈,让模型在生成每个词时动态关注输入的不同部分。

Seq2SeqAttentionLSTM/GRU
2017

Transformer 改变架构范式

《Attention Is All You Need》提出 Transformer,用自注意力替代循环结构,让模型可以并行训练,并直接建模任意两个 token 之间的关系。这是现代 LLM 的架构起点。

Self-AttentionMulti-Head并行训练
2018—2019

预训练—微调范式形成

GPT-1 证明“生成式预训练 + 下游微调”可行;BERT 推动双向预训练语言模型成为 NLP 主流;T5 把任务统一成 text-to-text。

GPTBERTT5预训练
2020

Scaling Laws 与 GPT-3

Scaling Laws 让“扩大模型、数据、算力”成为相对可预测的工程路线。GPT-3 展示 few-shot learning 与 in-context learning,说明模型可以通过 prompt 中的示例完成新任务。

Scaling LawsFew-shotIn-context LearningRAG
2021

Foundation Model 与多模态兴起

Foundation Model 概念被系统提出。CLIP 把图像和文本对齐,DALL·E 展示文本生成图像能力,语言开始成为多模态交互的通用接口。

Foundation ModelCLIPDALL·E多模态
2022

对齐、ChatGPT 与扩散模型爆发

Chinchilla 强调计算最优训练;InstructGPT/RLHF 让模型更符合人类指令;Chain-of-Thought 提升复杂推理;Stable Diffusion 推动文生图生态;ChatGPT 使大模型产品化进入大众视野。

RLHFCoTStable DiffusionChatGPT
2023

GPT-4、多模态、开放权重与监管

GPT-4 展示强多模态和复杂考试能力;Llama、Mistral、Qwen、ChatGLM 等开放/开源生态扩张;DPO、MoE、AI Safety 等成为重点。

GPT-4LlamaDPOMoEAI Safety
2024

实时多模态、长上下文、视频生成与推理模型

Gemini 1.5 强调长上下文,GPT-4o 推动实时多模态,o1 把推理时计算推到前台,Sora/Veo 让视频生成成为焦点。

长上下文实时语音视频生成推理时计算
2025—2026

推理、智能体、效率与专业知识工作系统

模型竞争从“参数更大”转向“更会推理、更会用工具、更便宜、更可靠、更能完成真实工作流”。长上下文、Agent、工具调用、软件工程、研究辅助、企业部署和安全治理成为主线。

Reasoning ModelAgentTool Use企业部署
↑ 回到目录

2. 改变轨道的关键突破

1. Transformer

把语言建模从“顺序传递状态”变成“所有 token 直接建立关系”,并天然适合 GPU/TPU 矩阵并行。

2. 自监督预训练

用海量未标注文本做 next-token prediction 或 masked language modeling,让模型从数据中学习通用语言、知识和推理模式。

3. Scaling Laws

揭示模型大小、数据量、计算量与 loss 之间的规律,使“扩大规模”成为可规划的工程路线。

4. RLHF / 指令对齐

让模型从“会续写文本”变成“能按人类指令回答”,是 ChatGPT 产品化的关键。

5. 多模态基础模型

CLIP、DALL·E、GPT-4o、Sora 等把语言、图像、音频、视频连接起来,使自然语言成为通用操作接口。

6. 推理模型与智能体

模型不只是输出答案,还能分解任务、调用工具、运行代码、检查结果并持续推进复杂工作流。

7. 开放权重与效率优化

Llama、Mistral、Qwen、DeepSeek、Kimi 等推动本地部署、微调、量化和二次开发,改变产业格局。

8. 长上下文与 KV Cache 优化

从 4K/8K 走向 128K、1M,关键不只是位置编码,而是 attention 成本、KV cache、缓存复用和上下文压缩。

↑ 回到目录

3. Transformer 技术细节

Transformer 的本质突破:用自注意力机制替代 RNN 的顺序传递,让每个 token 可以直接关注上下文中任意 token,并通过大规模矩阵运算并行训练。

3.1 Transformer 之前的问题

不能高效并行

RNN/LSTM 必须按顺序处理 token,前一步完成后才能处理下一步,难以充分利用 GPU。

长距离依赖困难

第 1 个 token 影响第 100 个 token 需要经过 99 次状态传递,信息容易衰减。

信息路径太长

Transformer 中任意两个 token 可以通过 attention 直接交互,路径长度从 O(n) 缩短到 1。

3.2 Self-Attention:每个 token 重新理解自己

Self-Attention 会让每个 token 问一个问题:在当前上下文里,我应该重点关注哪些 token?

例子:我 喜欢 苹果 手机

处理“苹果”时,模型会估计:
苹果 → 我     关注多少?
苹果 → 喜欢   关注多少?
苹果 → 苹果   关注多少?
苹果 → 手机   关注多少?

因为后面有“手机”,所以“苹果”更可能是公司/品牌,而不是水果。

3.3 Q、K、V:Query、Key、Value

Query

我现在想找什么信息?

Key

我这里有什么特征,可以被别人匹配?

Value

如果别人关注我,我能提供什么内容?

q = xWq
k = xWk
v = xWv

注意力分数通常用点积计算:

score = Q · K

Transformer 的核心公式:

Attention(Q, K, V) = softmax(QKᵀ / √dₖ) V

除以 √dₖ 是为了控制点积数值尺度,避免 softmax 过度尖锐导致训练不稳定。

3.4 Multi-Head Attention:多个视角同时看

语言关系有很多种:主谓关系、指代关系、位置关系、语义搭配、代码结构等。多头注意力让模型用多个子空间同时学习不同关系。

Head 1:可能关注主语 → 谓语
Head 2:可能关注代词 → 被指代对象
Head 3:可能关注局部搭配
Head 4:可能关注长距离依赖

MultiHead = Concat(head1, head2, ..., headh)Wo

3.5 位置编码:让模型知道顺序

Self-Attention 本身不天然知道顺序。没有位置编码,“我爱你”和“你爱我”可能看起来只是同一组 token。Transformer 会把 token embedding 与 positional encoding 相加。

输入表示 = token embedding + positional encoding

常见位置编码包括正弦/余弦位置编码、相对位置编码、RoPE、ALiBi 等。现代 Llama、Qwen、DeepSeek、Kimi 等常见路线大量使用 RoPE 或其变体。

3.6 三种主流 Transformer 架构

架构代表特点适合任务
Encoder-onlyBERT双向理解,不能自然自回归生成长文本分类、抽取、检索、语义匹配
Encoder-DecoderT5、原始 TransformerEncoder 理解输入,Decoder 生成输出翻译、摘要、问答、文本到文本任务
Decoder-onlyGPT、Llama、Claude、Qwen、DeepSeek、Kimi根据前文预测下一个 token对话、写作、代码、推理、工具调用

3.7 FFN、残差连接与 LayerNorm

Feed Forward Network

Attention 负责 token 间交流,FFN 负责对每个 token 表示进行非线性加工。大模型中 FFN 参数量通常非常大。

Residual Connection

形式是 x + F(x),让深层网络更容易训练,信息和梯度更容易跨层传递。

LayerNorm / RMSNorm

稳定每层数值分布,使深层 Transformer 训练更稳定。现代模型常用 Pre-LN / RMSNorm。

3.8 KV Cache 与长上下文瓶颈

Decoder-only 模型生成时,一个 token 一个 token 生成。为了不重复计算历史 token,会缓存历史 Key/Value,这就是 KV Cache。

生成第 100 个 token:
前 99 个 token 的 K/V 已缓存
只需要计算新 token 的 Q/K/V
再和缓存中的 K/V 做 attention

标准 attention 复杂度约为 O(n²),上下文越长,attention 计算和 KV Cache 显存都会快速增长。这就是长上下文模型需要 FlashAttention、Sparse Attention、Sliding Window、GQA/MQA、KV Cache 压缩等技术的原因。

3.9 Transformer 的局限

  • 标准 attention 长上下文成本高。
  • 训练目标是预测下一个 token,不天然保证事实正确,容易产生幻觉。
  • 长程规划、长期记忆、工具执行仍需要外部系统支撑。
  • 数据和算力需求巨大,训练与部署成本高。
一句话:Transformer 让大规模语言建模可行,但现代大模型还需要预训练、后训练、检索、工具调用、推理时计算和部署系统共同完成。
↑ 回到目录

4. DeepSeek V4:普惠百万上下文的技术主线

DeepSeek V4 的关键不是单纯把位置编码外推到 1M,而是重做长上下文里最贵的两件事:Attention 计算KV Cache 存储

核心公式化理解:CSA + HCA 混合注意力 = 压缩长期记忆 + 稀疏检索重点 + 保留近期细节。

4.1 为什么百万上下文昂贵?

  • 标准 attention 的注意力矩阵大小约为 n × n,prefill 成本接近 O(n²)
  • 生成阶段需要为历史 token 存储 Key/Value,上下文越长 KV Cache 越大。
  • 重复长前缀如果每次都重新 prefill,服务成本会非常高。

4.2 Hybrid Attention:CSA + HCA

模块作用直观理解
CSA:Compressed Sparse Attention每 m 个 token 压成 compressed KV entry,再用 top-k 稀疏选择重要块看得较细,但只挑重点看
HCA:Heavily Compressed Attention用更大压缩率把上下文压得很短,再做 dense attention获得便宜的全局视野
SWA:Sliding Window Attention保留最近窗口的未压缩 KV近处看得清,避免压缩丢局部细节

4.3 CSA:先压缩,再稀疏选择

普通 attention:
当前 token → 看所有历史 token

CSA:
当前 token → 看压缩后的历史块 → 由 indexer 选 top-k 重要块 → 核心 attention 只看这些块

CSA 的价值是把“所有 token 都可能进入重型 attention”改成“先压缩、再检索、再选择”。这类似模型内部的 RAG:不是从外部文档库检索,而是从内部压缩 KV cache 中检索相关历史块。

4.4 Lightning Indexer

Lightning Indexer 是 CSA 内部的轻量索引器,用当前 query token 与 compressed KV entries 打分,选出 top-k 最相关块。它把长上下文 attention 问题转化成“内部相关块检索”。

4.5 HCA:重压缩全局上下文

HCA 使用更激进的压缩率,把百万上下文压缩成很短的全局记忆,再在压缩序列上做 dense attention。它补足 CSA 的不足:让模型始终有全局视野。

4.6 低精度与 KV Cache 管理

  • FP8 KV:大部分 KV 用 FP8 存储,位置相关关键维度保留更高精度。
  • FP4 Indexer:CSA indexer 的 QK 路径可使用更低精度加速。
  • 异构 KV Cache:同时管理 CSA compressed KV、HCA compressed KV、SWA 未压缩窗口和未完成压缩尾部。
  • On-disk KV Cache:共享长前缀命中时复用 compressed KV,避免重复 prefill。

4.7 MoE 与长上下文训练

MoE 稀疏激活主要降低 FFN 部分每 token 计算成本,不直接解决 attention 爆炸,但在长上下文请求中可以显著降低总体计算。长上下文能力还需要训练阶段逐步适应:短上下文 → 中长上下文 → 1M 上下文,而不是只靠推理外推。

4.8 概念速查

CSA

压缩稀疏注意力。先压缩 KV,再选择 top-k 重要块做 attention。

HCA

重压缩注意力。把长上下文压得更短,用低成本获得全局视野。

SWA

滑动窗口注意力,保留最近 token 的未压缩细节。

On-disk KV Cache

把可复用长前缀的 KV 存起来,后续请求命中时避免重复 prefill。

↑ 回到目录

5. GPT-5.5:推理型智能体系统的公开技术细节

GPT-5.5 的公开资料重点不是某个新的 attention 公式,而是系统级能力:推理时计算、长上下文服务、工具调用、状态压缩、Responses API/Agents 编排与安全栈

边界说明:公开资料不披露具体参数规模、是否 MoE、底层稀疏 attention、KV 压缩算法等细节。不能把未公开架构当作确定事实。

5.1 技术栈主线

大规模基础模型
  ↓
强化学习训练出的推理能力
  ↓
可调 reasoning.effort / test-time compute
  ↓
长上下文 + prompt caching + compaction
  ↓
工具调用 / tool search / computer use / code interpreter / web search
  ↓
Responses API / Agents SDK 编排状态、工具与上下文
  ↓
安全分类器、监控、可信访问和安全策略

5.2 Reasoning tokens 与 reasoning.effort

推理模型会在内部使用 reasoning tokens 做规划、分解、尝试、检查和工具调用。用户通常看不到原始内部推理,但这些 token 会占用上下文窗口并影响成本。

参数含义适合场景
none / low较少推理预算简单问答、低延迟任务
medium质量、成本、延迟的平衡默认主力设置
high / xhigh更多推理时计算复杂代码、数学、研究、多工具任务

5.3 GPT-5.5 Pro 与 test-time compute

Pro 版本可理解为同一底座模型在更高推理时计算设置下运行:面对难题时投入更多计算、做更多并行尝试或验证,从而提高复杂任务准确性,但延迟和成本也更高。

5.4 百万上下文服务层:prompt caching 与 compaction

Prompt caching

缓存长 prompt 前缀 prefill 后产生的 KV tensors。后续请求命中相同前缀时,可减少重复 prefill,降低延迟和成本。

Compaction

把长任务历史压缩为模型可继续使用的状态表示,保留关键事实、工具结果、未完成目标和执行计划。

长任务不是无限塞上下文,而是:
执行 → 记录 → 压缩 → 继续 → 再执行 → 再压缩

5.5 Tool search 与 Responses API

工具很多时,如果把所有工具 schema 都塞进上下文,会浪费 token 并干扰模型选择。Tool search 让模型运行时动态加载需要的工具定义。Responses API 则负责多轮状态、工具调用、结构化输出和上下文管理。

传统工具调用:所有工具说明全部进 prompt
Tool search:先给工具命名空间 → 模型判断需要什么 → 动态加载相关工具定义

5.6 多模态与安全栈

  • 多模态输入使模型能处理文本、图像、截图、界面等任务。
  • computer use 让模型通过截图理解界面,并执行点击、输入、导航等操作。
  • 安全栈包括模型安全训练、运行时分类器、红队测试、可信访问、高风险领域防护和监控。

5.7 概念速查

Reasoning tokens

模型内部用于思考、规划、验证和工具调用的 token。

Test-time compute

回答阶段投入的计算量,是推理模型能力提升的重要路线。

Prompt caching

缓存长前缀的 KV tensors,减少重复 prefill。

Compaction

把长任务历史压缩为可延续的状态表示。

Tool search

运行时动态搜索和加载工具定义。

Responses API

面向多轮、工具、状态和结构化输出的执行接口。

↑ 回到目录

6. Kimi K2.6:开放 MoE、多模态与 Agent Swarm

Kimi K2.6 的技术主线是:开放权重 + 1T MoE 底座 + MLA + 多模态 + Thinking/Agent + Agent Swarm 并行编排 + 原生 INT4 部署

边界说明:K2.6 公开资料表明它与 K2.5 架构相同,部署方法可复用。底层结构主要来自 K2/K2.5 技术报告;K2.6 自身更多公开能力、模型卡、API 和后训练表现。

6.1 总体定位

  • 长程编码:复杂端到端软件工程、跨语言任务、调试、性能优化。
  • Coding-driven design:从文字或视觉输入生成网页、前端界面、轻量全栈应用。
  • 长时间 Agent 执行:多轮工具调用、代码修改、运行测试、失败修复。
  • Agent Swarm:把复杂任务拆成多个子智能体并行执行,再汇总交付。

6.2 1T MoE:总参数很大,每 token 只激活一小部分

指标配置意义
总参数约 1T提供大容量知识和能力
激活参数约 32B每个 token 实际计算成本远低于 dense 1T
专家数384不同 token 可路由到不同专家
每 token 选专家8稀疏激活,降低 FFN 计算
上下文长度256K更偏向长程 Agent 工作区,而非百万上下文路线
AttentionMLA压缩 KV Cache,支撑长上下文推理

6.3 MLA:低秩 latent 压缩 KV Cache

普通 MHA:每个 token 缓存完整 K + 完整 V
GQA/MQA:多个 query head 共享部分 K/V
MLA:先把 K/V 压入低维 latent,需要时再投影使用

MLA 对 256K 长上下文、多轮工具调用、长程编码非常关键,因为它降低了 KV Cache 的存储压力。

6.4 MuonClip:稳定超大 MoE 预训练

Kimi K2 底座使用 MuonClip 优化器,核心是解决超大 MoE 训练中的 attention logits explosion 和 loss spike。QK-Clip 会在参数更新后检查 attention logits,如果超过阈值,就缩放 query/key projection weights。

MuonClip = Muon + weight decay + RMS matching + QK-Clip

6.5 多模态:MoonViT / MoonViT-3D

  • 使用 MoonViT 视觉编码器,并通过 projector 接入语言模型。
  • 图像和视频共享视觉编码空间,视频可按 temporal chunk 处理。
  • 早期图文联合训练让文本能力、视觉能力、工具能力互相迁移。
  • Zero-vision SFT:只用高质量文本 SFT,也能激活视觉推理和工具使用能力。

6.6 Thinking、Preserve Thinking 与工具调用

Thinking mode

适合复杂推理、编码和多步工具调用。

Instant mode

关闭深度思考,适合简单任务和低延迟场景。

Preserve Thinking

多轮交互中保留 reasoning content,帮助 coding agent 记住之前的决策和失败原因。

Interleaved Thinking + Tool Call

想一步、调用工具、观察结果、再想、再调用,而不是一次性想完。

6.7 Agentic 数据合成与 Agent Swarm

Kimi 系列强调用真实/合成工具、agent 任务、执行轨迹和沙箱反馈训练工具使用能力。Agent Swarm 则把单 agent 顺序执行扩展为多子智能体并行。

单 Agent:从头到尾顺序执行
Agent Swarm:
主 agent / orchestrator 拆任务
多个 sub-agents 并行执行
最后汇总成统一交付物

PARL 的关键思想是训练 orchestrator,冻结 subagents,把子智能体视为环境的一部分,降低 credit assignment 难度。

6.8 Native INT4

K2.6 采用原生 INT4 部署思路,通过量化感知训练让 MoE 组件适应 INT4 weight-only quantization。目标是降低 1T MoE 部署成本,并提升长 thinking / 长 decoding 场景速度。

6.9 与 DeepSeek V4、GPT-5.5 对比

维度DeepSeek V4GPT-5.5Kimi K2.6
公开重点百万上下文成本结构推理系统与工具编排开放 MoE、长程编码与 Agent Swarm
上下文1M 级1M 级256K
架构披露CSA/HCA/SWA、KV 压缩底层架构未充分公开,公开系统层1T MoE、MLA、MoonViT、INT4
能力方向超长上下文普惠推理型智能体系统开放工程型 Agent
↑ 回到目录

7. 从零训练一个大模型:完整操作链

训练大模型不是“写一个 Transformer 脚本”,而是一整套体系:数据、tokenizer、模型、训练系统、GPU 集群、后训练、评测、部署、运维、安全与成本管理

7.1 先定现实边界

层级模型规模资源规模适合目标
入门实验10M—100M1 张消费级 GPU / 云 GPU跑通完整流程
小型基础模型100M—1B1—8 张高端 GPU学习分布式与数据工程
可用小模型1B—3B8—64 张 A100/H100 级 GPU研究团队或小公司
中型开源模型7B—14B数十到数百张 GPU公司/实验室
产业级模型30B—70B / MoE数百到数千张 GPUAI 公司
正确路线:先训练 50M 小 GPT → 100M/300M → 1B 分布式 → SFT/DPO → vLLM 部署 → RAG/Agent → 再研究 MoE、长上下文和集群训练。

7.2 完整流程

1. 明确目标和预算
2. 收集与清洗数据
3. 训练 tokenizer
4. 设计模型结构
5. 搭建 GPU 训练环境
6. 做小规模 sanity check
7. 分布式预训练
8. 持续评测与排错
9. 指令微调 SFT
10. 偏好优化 DPO / RLHF / GRPO
11. 工具调用、长上下文、RAG、Agent 后训练
12. 模型压缩与量化
13. 推理服务部署
14. 线上监控、成本控制、安全治理

7.3 需要掌握的知识地图

数学与机器学习

矩阵乘法、概率、交叉熵、反向传播、AdamW、学习率调度、Transformer、Scaling Laws。

编程与工程

Python、PyTorch、Linux、Git、Docker、Shell、CUDA 基础、数据处理、多进程。

分布式训练

DDP、FSDP、ZeRO、Tensor Parallel、Pipeline Parallel、Activation Checkpointing、BF16/FP8。

基础设施

GPU 服务器、NVLink/NVSwitch、InfiniBand/RoCE、Slurm/K8s、对象存储、NVMe。

运维监控

Prometheus、Grafana、NVIDIA DCGM、W&B、MLflow、日志、告警、checkpoint 恢复。

产品与安全

API、限流、鉴权、日志脱敏、安全过滤、模型版本、prompt 版本、成本监控。

7.4 数据工程:最容易被低估的核心

大模型训练不是把网页文本直接扔进去,而是完整的数据流水线:

原始数据
  ↓ HTML/WARC 抽取
  ↓ 文本清洗
  ↓ 语言识别
  ↓ 质量过滤
  ↓ 去重
  ↓ PII 删除
  ↓ 毒性/色情/恶意代码过滤
  ↓ 领域分类
  ↓ 数据混合配比
  ↓ 评测集污染检测
  ↓ tokenize
  ↓ 打包成训练样本
  ↓ 写入 shards

数据配比可以从网页、百科、书籍、代码、数学、多语言、领域数据和合成数据开始,但必须注意版权、许可证、隐私、PII、代码开源协议和评测污染。

7.5 Tokenizer

  • 常见方法:BPE、SentencePiece、Unigram、WordPiece。
  • 需要决定词表大小、中文支持、代码支持、多语言支持、特殊 token。
  • 代码模型尤其要保留缩进、换行、空格、符号、括号、JSON、路径、URL。
  • Tokenizer 一旦确定,不要轻易改,否则 embedding 和数据都要重做。

7.6 模型结构起点

入门先做标准 decoder-only Transformer,不要一开始就做 MoE、MLA、百万上下文。

Token Embedding
Position Encoding / RoPE
多层 Transformer Block
  - RMSNorm / LayerNorm
  - Causal Self-Attention
  - FFN / SwiGLU
  - Residual Connection
LM Head
规模layershiddenheadsseq len用途
50M8—12512—7688—121024入门
125M12768121024/2048小 GPT
350M241024162048实验模型
1B24—32204816—322048/4096小基础模型
7B324096324096—32K可用开源级别

7.7 训练环境与集群

单机入门:Ubuntu + NVIDIA Driver + CUDA + PyTorch + Transformers + W&B/TensorBoard
多 GPU:torchrun + NCCL + DDP/FSDP/ZeRO + checkpoint 分片
多节点:8×GPU 节点 + InfiniBand/RoCE + Slurm/K8s + S3/MinIO + 监控告警

训练上规模后,瓶颈常常不是 GPU 算不动,而是数据读不出来、网络打满、checkpoint 太慢、NCCL hang、某个节点掉线。

7.8 训练前 sanity check

  1. Overfit 小数据:拿 1000 条文本强行过拟合,检查 loss 能否下降。
  2. 小模型短跑:训练 10M/50M,观察 loss、tokens/s、显存、checkpoint。
  3. 多 GPU 通信测试:确认 NCCL、数据分片、loss、checkpoint 都正常。
  4. 故障恢复测试:手动中断再恢复,检查训练步数、优化器、学习率和 loss 连续性。

7.9 预训练配置示例

model:
  vocab_size: 50000
  n_layer: 12
  n_embd: 768
  n_head: 12
  seq_len: 2048
  norm: rmsnorm
  activation: swiglu
  position_encoding: rope

train:
  total_tokens: 10000000000
  micro_batch_size: 8
  gradient_accumulation_steps: 8
  learning_rate: 3e-4
  min_lr: 3e-5
  warmup_steps: 2000
  weight_decay: 0.1
  grad_clip: 1.0
  precision: bf16
  optimizer: adamw
  checkpoint_every: 1000
  eval_every: 500

7.10 后训练与部署

SFT

让 base model 学会按人类指令回答、遵循格式、多轮对话和安全拒答。

DPO / RLHF / GRPO

用偏好数据或可验证奖励优化输出偏好、数学、代码和工具调用。

工具调用训练

训练模型什么时候用工具、用哪个工具、如何填参数、如何读取工具返回、如何失败修正。

推理部署

vLLM、SGLang、TensorRT-LLM、TGI、llama.cpp;关注 TTFT、TPOT、吞吐、KV Cache、并发和成本。

7.11 最小可行项目

项目:训练一个 50M 中文 GPT。准备 1GB—10GB 文本,清洗、训练 tokenizer、tokenize、写入 shards、训练、评测、SFT、部署。这个项目比直接微调 7B 更能理解底层流程。
↑ 回到目录

8. 量化压缩:方法、流程与实践坑

量化压缩的本质是:用更少的 bit、更少的参数、更少的缓存和更少的计算,尽量保留模型原来的能力。

8.1 为什么需要量化?

大模型成本主要来自模型权重、KV Cache、矩阵计算和显存带宽。以 7B 参数为例:

精度每参数字节理论权重大小
FP324 bytes约 28GB
FP16/BF162 bytes约 14GB
INT81 byte约 7GB
INT40.5 byte约 3.5GB
注意:显存变小不等于一定变快。是否提速取决于硬件、kernel、框架、batch、KV Cache 和通信瓶颈。

8.2 量化数学

q = round(x / scale) + zero_point
x_hat = scale × (q - zero_point)

量化会把连续浮点数压到有限离散格子中。误差来自 round、scale、zero-point,以及 outlier 对 scale 的影响。

8.3 量化对象

对象说明典型格式
权重量化压缩模型参数,最常见W8A16、W4A16
激活量化压缩中间激活,更难但可能真正加速 matmulW8A8、FP8
KV Cache 量化长上下文和高并发推理关键INT8、FP8、INT4 KV
优化器状态量化降低训练/微调显存8-bit optimizer、paged optimizer

8.4 量化粒度

Per-tensor

整个矩阵一个 scale。简单但容易被 outlier 影响。

Per-channel

每个通道一个 scale。精度更好,metadata 和 kernel 要求更高。

Per-group

每组权重一个 scale。INT4 常见 group size 为 128,也可用 64/32 提升精度。

8.5 PTQ 与 QAT

路线流程优点缺点
PTQ训练后用校准数据量化低成本、快、不需重新训练极低 bit 易掉点,校准数据敏感
QAT训练/后训练阶段模拟量化误差精度更好,适合极低 bit成本高、工程复杂

8.6 主要方法

LLM.int8

大部分维度用 INT8,少量 outlier 维度保留 FP16。稳定、精度损失小,但压缩率不如 INT4。

GPTQ

用近似二阶信息做 one-shot 权重量化,尽量让量化前后层输出误差最小。常用于 3/4-bit。

AWQ

激活感知权重量化,识别并保护少量显著权重。适合边缘、本地和低显存部署。

SmoothQuant

把激活 outlier 的量化难度迁移到权重上,使 W8A8 更稳定,适合高吞吐 INT8。

FP8

8-bit 浮点格式,适合 H100/H200/B200 等新硬件的训练和推理。

QLoRA

冻结 4-bit 量化基础模型,只训练 LoRA adapter。核心包括 NF4、double quantization、paged optimizers。

GGUF / llama.cpp

本地 CPU/Mac/边缘设备常用格式。Q4_K_M、Q5_K_M、Q6_K、Q8_0 等常见。

蒸馏与剪枝

蒸馏用大模型教小模型;剪枝删除不重要权重。真实加速依赖硬件和 kernel。

8.7 怎么选择量化格式?

场景推荐路线原因
本地 CPU / MacGGUF Q4_K_M / Q5_K_Mllama.cpp 生态成熟
消费级 GPU 推理AWQ / GPTQ INT4显存省,社区模型多
单卡微调QLoRA NF4显存低,效果好
企业 GPU 高吞吐FP8 / SmoothQuant W8A8更适合硬件加速
精度敏感任务INT8 / FP8,谨慎 INT4代码、数学、工具调用更敏感
长上下文服务权重量化 + KV Cache 优化瓶颈不只在权重

8.8 实际操作流程

  1. 做 FP16/BF16 基线评测:记录质量、延迟、吞吐、显存、并发。
  2. 准备 calibration data:覆盖真实业务、长上下文、代码、JSON、工具调用。
  3. 选择方法:先 INT8/FP8,再试 AWQ/GPTQ INT4,再考虑更激进低 bit。
  4. 量化后重新评测:比较 FP16、INT8、INT4,不只看能不能输出。
  5. 部署压测:测 TTFT、TPOT、tokens/s、KV Cache、长上下文 OOM、并发失败率。

8.9 代码示例:bitsandbytes 4-bit 加载

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch

model_name = "Qwen/Qwen2.5-7B-Instruct"

quant_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
)

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    quantization_config=quant_config,
    device_map="auto",
)

prompt = "解释一下大模型量化的核心思想。"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=256, temperature=0.7)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

8.10 vLLM 部署 AWQ / GPTQ

vllm serve Qwen/Qwen2.5-7B-Instruct-AWQ \
  --quantization awq \
  --gpu-memory-utilization 0.90 \
  --max-model-len 32768

vllm serve Qwen/Qwen2.5-7B-Instruct-GPTQ-Int4 \
  --quantization gptq \
  --gpu-memory-utilization 0.90 \
  --max-model-len 32768

8.11 GGUF / llama.cpp

# 1. 转成 GGUF
python convert_hf_to_gguf.py /path/to/hf_model \
  --outfile model-f16.gguf \
  --outtype f16

# 2. 量化成 Q4_K_M
./llama-quantize model-f16.gguf model-q4_k_m.gguf Q4_K_M

# 3. 运行
./llama-cli -m model-q4_k_m.gguf -p "解释一下量化压缩"

8.12 常见踩坑

  • 只看显存,不看质量:量化后可能回答变短、代码出错、JSON 不闭合、长上下文找不到证据。
  • 校准数据不匹配:用英文短文本校准,却部署中文长文档问答,真实效果可能很差。
  • 过度量化敏感层:embedding、lm_head、第一层、最后几层、norm 可能需要保留高精度。
  • 忽略 chat template:prompt 格式变化会被误判为量化退化。
  • 忽略长上下文:短文本没问题不代表 32K/128K 没问题。
  • 忽略多模态模块:视觉编码器和 projector 也需要单独评测。

8.13 一句话总结

量化压缩的核心:不是把模型压到最低 bit,而是在硬件、任务、质量要求和成本目标之间,找到最稳的低精度方案。
↑ 回到目录

9. 实践路线图

如果你要真正学会“从零训练并部署大模型”,建议按阶段推进,而不是直接挑战 7B/70B。

阶段目标关键实践产出物
阶段 1训练最小 GPTtokenizer、causal mask、loss、训练循环、文本生成10M—50M 小模型
阶段 2训练 100M 模型数据清洗、BPE、validation loss、checkpoint、W&B可复现实验记录
阶段 3SFT / DPOchat template、指令数据、偏好数据、拒答样本小聊天模型
阶段 4分布式训练torchrun、DDP、FSDP、ZeRO、BF16、activation checkpointing300M—1B 训练经验
阶段 5推理部署vLLM、OpenAI-compatible API、streaming、量化、监控可调用 API
阶段 6RAG / Agentembedding、向量库、工具 schema、Python sandbox、浏览器/文件工具能完成真实任务的系统
产品建议:如果目标是做产品,优先微调开源模型 + RAG + 工具调用 + vLLM 部署;从零训练更适合学习、研究和拥有大量数据/算力的团队。
↑ 回到目录

10. 概念速查总表

Token

模型处理文本的基本单位,训练和推理成本通常按 token 计算。

Tokenizer

把文本切成 token 的工具,决定模型如何“看见”语言和代码。

Transformer

基于注意力机制的神经网络架构,现代大模型核心底座。

Self-Attention

每个 token 根据上下文中其他 token 更新自己的表示。

Q/K/V

Query、Key、Value。Query 找信息,Key 被匹配,Value 提供内容。

RoPE

旋转位置编码,现代大模型常用位置编码方式。

KV Cache

生成时缓存历史 token 的 Key/Value,减少重复计算。

Pretraining

用海量数据做 next-token prediction,学习通用语言和知识能力。

SFT

指令微调,让模型学会按人类指令回答。

DPO

直接偏好优化,用 chosen/rejected 回答对齐模型输出偏好。

RLHF

用人类反馈训练奖励模型,再用强化学习优化语言模型。

RAG

检索增强生成,把外部知识库检索结果放入上下文,提高事实性。

MoE

专家混合模型,总参数很大,但每个 token 只激活部分专家。

MLA

Multi-head Latent Attention,用低秩 latent 压缩 KV Cache。

CSA/HCA

压缩稀疏注意力与重压缩注意力,用于降低超长上下文成本。

Reasoning tokens

推理模型内部用于规划、验证、工具调用的 token。

Prompt caching

缓存长前缀的 KV tensors,减少重复 prefill。

Compaction

把长任务历史压缩为可继续执行的状态。

FSDP

把参数、梯度、优化器状态分片,降低单卡显存压力。

ZeRO

DeepSpeed 的分片优化技术,分阶段切分优化器、梯度和参数。

Tensor Parallel

把一个大矩阵计算拆到多张 GPU 上。

Pipeline Parallel

把模型不同层放到不同 GPU 上,像流水线一样训练。

BF16

常用训练精度,比 FP16 更稳定,适合大模型训练。

FlashAttention

优化 attention 计算和显存访问的高效实现。

Quantization

把 FP32/FP16/BF16 权重或激活压到 INT8、INT4、FP8 等。

PTQ

训练后量化,不重新训练或只用少量校准数据。

QAT

量化感知训练,在训练阶段模拟量化误差。

AWQ

激活感知权重量化,保护关键权重。

GPTQ

基于近似二阶信息的权重量化方法。

QLoRA

冻结 4-bit 基础模型,只训练 LoRA adapter。

GGUF

llama.cpp 生态常用本地推理格式。

MFU

Model FLOPs Utilization,衡量训练系统算力利用率。

Data Contamination

训练数据污染评测集,导致 benchmark 虚高。

Agent Swarm

多个子智能体并行协作完成复杂任务。

↑ 回到目录

11. 参考链接与延伸阅读

以下为前面讲解中涉及的代表性论文、文档和项目方向,建议按主题逐步阅读。

基础模型与 Transformer

对齐、推理与工具

训练与部署框架

量化压缩

多模态与开放模型方向

提醒:本手册中的模型版本、价格、API 参数和最新能力会随时间变化。实践前应查看对应官方文档、模型卡、技术报告和许可证。
↑ 回到目录