我是如何从一串问题,搭起大模型知识结构的
从大模型发展史问起,把 Transformer 家谱、模型内部数据流、FFN、MoE、DeepSeek、CLIP、SAM、多模态、训练对齐和工程工具链放进同一张知识地图。
我最开始问 AI 的问题很普通:
大模型的发展历程是什么?
我以为自己需要的是一张时间表。哪一年出现 Transformer,哪一年出现 GPT-3,哪一年 ChatGPT 火了,哪一年 GPT-4 开始支持多模态,哪一年 DeepSeek 又被大家讨论。
但问着问着我发现,时间线只能告诉我“发生了什么”,不能告诉我“我为什么不懂”。
我真正卡住的地方不是某个模型在哪一年发布,也不是某个模型有多少参数。我真正卡住的是:这些名字背后到底有什么关系?为什么它们都叫大模型?为什么大家反复提 Transformer?MoE 是不是一种新架构?FFN 为什么和模型的“记忆”有关?CLIP 和 SAM 又为什么会出现在多模态大模型的讨论里?
也就是说,我一开始以为自己在问大模型历史,后来才发现自己其实是在问:
我该如何建立一套能放下这些概念的知识结构?
这篇文章就是我给自己的答案。它不是论文综述,也不是百科词条,而是一份学习地图:以后我忘了某个概念,可以回到这里,先找到它在整张图里的位置。
时间线只是入口
大模型的发展很容易写成流水账:
深度学习兴起
-> Transformer 出现
-> BERT / GPT 开启预训练时代
-> GPT-3 展示规模化能力
-> ChatGPT 让对话式 AI 出圈
-> GPT-4 / GPT-4o 推动多模态
-> DeepSeek 等模型让效率、成本和推理能力成为焦点
这些节点当然重要。但如果只记年份,我还是不知道大模型为什么会变强。
后来我把时间线压缩成几次关键变化:
| 变化 | 我真正要记住的东西 |
|---|---|
| 从手工规则到数据学习 | 能力不是一条条规则写进去的,而是模型从大量数据里学出来的 |
| Transformer 出现 | 大规模语言模型有了一个非常重要的架构底座 |
| 预训练成为主流 | 模型先学通用语言能力,再适配具体任务 |
| 规模化能力显现 | 模型开始从专用工具变成通用接口 |
| ChatGPT 出圈 | 对话界面改变了普通人调用 AI 的方式 |
| 多模态发展 | 模型不再只处理文字,而开始处理图像、音频等信息 |
| 架构效率竞争 | 继续变大之外,成本、推理、长上下文和部署效率也变得关键 |
所以,大模型发展史对我来说不是“模型排行榜”,而是一条能力扩展路线:
数据学习
-> 可扩展架构
-> 预训练
-> 规模化
-> 对话交互
-> 多模态
-> 推理与效率
Transformer 不是 GPT,而是一棵家族树
我一开始很容易把 Transformer、GPT、大模型混在一起,仿佛它们说的是同一件事。
后来我才意识到,Transformer 更像一个底座。在这个底座上,长出了几条不同路线。
Transformer
|
|-- Encoder-only
| |-- BERT
| |-- 偏理解:分类、检索、抽取、语义匹配
|
|-- Decoder-only
| |-- GPT
| |-- LLaMA
| |-- DeepSeek
| |-- 偏生成:对话、写作、代码、推理
|
|-- Encoder-Decoder
|-- T5
|-- BART
|-- 一些翻译、摘要、OCR、跨模态转换任务
这张家谱树对我很重要。
BERT 和 GPT 都是 Transformer 路线,但它们不是同一种用法。BERT 更像理解器,擅长看完整上下文后做判断。GPT 更像生成器,按顺序预测下一个 Token。T5、BART 这类 Encoder-Decoder 模型,则更像把一种输入转换成另一种输出。
今天很多对话大模型走的是 Decoder-only 路线,因为对话、写作、代码生成,本质上都可以被组织成“根据前文继续生成下一个 Token”的任务。
这也解释了一个常见误会:
Transformer 不是 GPT。GPT 是 Transformer 家族里 Decoder-only 这一支的代表。
一句话进入模型后,数据怎么流
知道模型家谱还不够。我还想知道:我输入一句话以后,模型内部到底发生了什么?
一个简化的数据流是这样的:
输入文字
-> Tokenizer
-> Token IDs
-> Embedding
-> 多层 Transformer Block
-> RMSNorm / LayerNorm
-> Attention
-> 残差连接
-> RMSNorm / LayerNorm
-> FFN / MoE
-> 残差连接
-> Final Norm
-> LM Head
-> Softmax
-> 下一个 Token
这里每个词都有位置。
Tokenizer 负责把文字切成 Token。模型不直接处理自然语言,而是处理 Token 对应的编号。现代分词常见思路之一是 BPE:从更小的字节或字符片段开始,逐步合并高频片段。这样做的好处是,即使遇到生僻词,也可以拆成更小单位,不至于完全不认识。
Embedding 负责把 Token ID 变成向量。编号本身没有语义距离,向量才是后续计算真正处理的对象。
Attention 负责让 Token 之间互相看见。比如一句话里“它”指代什么,需要看上下文;Attention 就是在处理这种上下文关系。
残差连接负责把原始输入加回来。它像是保留底稿,再叠加每一层的新处理结果,避免深层网络里信息和梯度传不下去。
RMSNorm 或 LayerNorm 负责稳定数值。RMSNorm 可以理解成“稳压器”或“音量调节器”:它不负责产生知识,但能让向量的数值幅度保持在比较稳定的范围里,避免层数深了以后数值越来越大或越来越小。
LM Head 负责把模型内部向量映射回词表。Softmax 再把分数变成概率,模型据此选择或采样下一个 Token。
所以,语言模型生成一段话,本质上是在循环做一件事:
根据已有上下文
-> 预测下一个 Token
-> 把新 Token 拼回上下文
-> 再预测下一个 Token
FFN 让我理解:模型的知识不是数据库
在 Transformer Block 里,Attention 很容易吸引注意力,因为它名字响亮,也确实重要。
但我后来发现,FFN 同样关键。
一个典型 FFN 可以粗略理解成:
输入向量
-> 升维
-> 激活函数
-> 降维
-> 输出向量
Attention 更像信息调度:当前 Token 应该参考哪些上下文?哪些位置的信息更重要?
FFN 更像深度加工:拿到上下文信息后,当前这个向量应该触发什么模式?哪些语义、事实、风格、输出倾向应该被激活?
有研究把 Transformer 的 FFN 层解释成一种 Key-Value Memory。这个说法对我很有帮助,因为它让我理解了模型“记住知识”的方式。
模型不是像数据库一样存:
key: 法国首都
value: 巴黎
它更像是在训练过程中,把大量文本模式压缩进参数里。生成时,当前上下文会激活某些参数模式,从而影响下一个 Token 的概率。
所以“模型记住了知识”这句话要谨慎理解。它不是查表,而是在高维参数空间里做概率计算。这也解释了为什么模型既能答对很多事实,也会产生看起来合理但实际错误的幻觉。
MoE 让我理解:模型大,不等于每次都全部运行
理解 FFN 之后,MoE 就容易理解很多。
MoE 的英文是 Mixture of Experts,中文常叫混合专家模型。但这个翻译本身并不能让我理解它。
真正有用的理解是:
MoE 通常不是推翻 Transformer,而是改造 Transformer 里的 FFN 部分。
普通 FFN 是每个 Token 都走同一套前馈网络:
Token 向量
-> 一个 FFN
-> 输出
MoE 则是把 FFN 拆成很多专家:
Token 向量
-> Router
-> 选择少数专家 FFN
-> 合并专家输出
这里有两个概念一定要分清:
总参数:模型一共有多少参数
激活参数:处理一个 Token 时实际参与计算的参数
MoE 的核心价值在于,它可以让模型拥有很大的总容量,但每次只激活一部分参数。这样模型不是“免费变强”,而是在容量和计算成本之间做了新的权衡。
当然,MoE 也会带来新问题:Router 怎么训练?专家负载是否均衡?不同设备之间通信成本如何控制?专家是否真的学出了不同能力?这些都不是“多放几个专家”就能自动解决的。
DeepSeek-V3:把这些概念串起来
DeepSeek-V3 是一个很适合用来串联这些概念的案例。
根据 DeepSeek-V3 Technical Report,它是一个基于 Transformer 的 MoE 语言模型,总参数约 671B,每个 Token 激活约 37B 参数,训练数据约 14.8T tokens,支持 128K 上下文。它的几个关键词包括 Decoder-only、DeepSeekMoE、MLA、RMSNorm、RoPE、FP8 混合精度、DualPipe 等。
这些词如果单独看,会很散。但放进数据流里就清楚了:
输入文字
-> Tokenizer
-> Embedding
-> 多层 Decoder-only Transformer Block
-> RMSNorm:稳定数值
-> MLA:处理注意力,同时压缩 KV Cache 成本
-> 残差连接:保留原始信息
-> RMSNorm
-> DeepSeekMoE:Router 选择专家,稀疏激活 FFN
-> 残差连接
-> Final RMSNorm
-> LM Head
-> Softmax
-> 下一个 Token
MLA 和 MoE 不是一回事。
MLA 是注意力机制上的优化,核心目标之一是减少长上下文推理时 KV Cache 的压力。
MoE 是 FFN 路径上的稀疏化改造,核心目标是扩大模型总容量,同时控制每个 Token 实际激活的计算量。
这也是我理解 DeepSeek-V3 的关键:它不是“一个神秘的新模型”,而是把现代大模型里的几个重要方向组合在了一起。
Decoder-only Transformer
+ MLA 注意力优化
+ MoE 稀疏专家
+ 低精度训练和并行工程
+ 长上下文支持
注意力机制也有自己的演化
对话记录里还提到了一条很重要的线:注意力机制本身也在演化。
最原始、最经典的是 MHA,也就是 Multi-Head Attention。它让模型用多个注意力头从不同角度看上下文。
后来出现了 MQA、GQA 等做法,目标之一是减少 Key / Value 的缓存和计算成本。再后来,DeepSeek-V3 这类模型把 MLA 推到很显眼的位置,通过潜在向量压缩 Key / Value 表示,进一步降低长上下文推理压力。
还有一些路线会尝试稀疏注意力、线性注意力、滑动窗口注意力等,目标都是面对同一个问题:
上下文越长,注意力越贵,KV Cache 越重。
我现在不会把这些名字都背下来,而是把它们放到同一个问题下面:
如何让模型在更长上下文里,仍然算得动、存得下、跑得快?
这比单独记 MHA、GQA、MLA、Sparse Attention 更有用。
多模态不是“给语言模型加个图片输入框”
我一开始以为,多模态大模型就是“模型会看图”。
后来发现这句话太粗糙。
“看图”至少可以拆成两个问题:
这张图表达了什么语义?
图里的东西具体在哪里?
CLIP 更接近解决第一个问题。
CLIP 的核心是图文语义对齐。它把图像和文本放到相近的语义空间里,让模型能判断一张图和一句话是否匹配。它很适合理解“这张图大概是什么”“这段文字和这张图是否对应”。
SAM 更接近解决第二个问题。
SAM 的核心是图像分割。它擅长把图里的目标区域分出来,回答“这个东西在哪里”。但它本身不一定告诉你这个区域在语义上是什么。
所以我现在这样记:
CLIP:更像知道“这是什么”
SAM:更像知道“在哪里”
当然,这只是帮助理解的简化说法。严格讲,CLIP 做的是图文对齐,SAM 做的是分割提示下的视觉区域提取。
多模态大模型要做的事情,是把这些视觉能力和语言模型接起来。
一种常见路线是拼接式:
图像
-> 视觉编码器
-> 投影器
-> 语言模型
-> 文本回答
视觉编码器负责把图片变成视觉特征。投影器负责把视觉特征转换到语言模型能接收的表示空间。语言模型再基于这些视觉信息进行回答、推理或生成。
另一种路线更强调原生多模态,把文本、图像、音频甚至视频统一成更一致的表示,让不同模态更深地进入同一套推理流程。GPT-4o 这类模型让我意识到,多模态不是简单多一个输入框,而是模型感知和表达世界的边界被扩展了。
对话里还提到 DeepSeek-OCR 这类思路:把文本渲染成图像,通过视觉编码进行信息压缩,再交给解码器处理。这让我看到一个有意思的方向:多模态不只是“看图片”,也可能成为信息压缩和跨模态转换的新工具。
训练和对齐:模型不是预训练完就能聊天
我一开始也容易忽略训练流程。
大模型不是预训练完就自然变成 ChatGPT。一个粗略流程是:
预训练
-> SFT 监督微调
-> 对齐训练
-> 安全、风格和工具使用能力调整
预训练让模型学会语言和世界中的大量统计模式。SFT 让模型学会按照指令回答。对齐训练则让模型更接近人类偏好,比如更有帮助、更安全、更符合对话习惯。
对话里出现了 PPO、DPO、GRPO 这些词,我现在先把它们放在地图上:
PPO 是一种强化学习式的对齐方法。典型 RLHF 流程里会出现策略模型、参考模型、奖励模型、价值模型等角色。它比较复杂,但曾经是对齐训练里非常重要的路线。
DPO 更直接。它利用“哪个回答更好”的偏好数据,让模型直接学习偏好差异,不一定显式训练奖励模型。
GRPO 则常被放在推理、数学、代码等任务讨论里。它的直觉是让同一组候选答案内部比较,用组内相对表现来提供训练信号。
这一块我还没有完全吃透,但我现在至少知道它们属于哪一层:
模型架构:Transformer / MoE / Attention
训练阶段:预训练 / SFT / PPO / DPO / GRPO
产品表现:对话质量 / 安全性 / 推理能力 / 工具使用
不能把它们混在一起。
工程落地:模型文件、推理系统和分词器也在地图里
如果只看模型架构,还是不完整。
真正把大模型跑起来,还会遇到工程工具链。
DeepSpeed 主要解决大模型分布式训练的问题,典型关键词是 ZeRO 等内存优化技术。
vLLM 主要解决高并发推理服务的问题,典型关键词是 PagedAttention。
Safetensors 是 Hugging Face 生态里常见的安全、快速的模型权重存储格式。
MLX 是 Apple Silicon 上本地推理和机器学习计算相关的工具链。
Hugging Face 模型仓库里常见几个文件:
config.json
-> 模型结构配置,比如层数、隐藏维度、注意力头数
*.safetensors
-> 模型权重,也就是训练出来的参数
tokenizer.json
-> 分词器配置,包括词表和切分规则
README.md
-> 模型卡,说明模型用途、训练信息、限制和许可证
这让我意识到,“一个模型”不只是一个抽象名字。真正落地时,它会变成配置、权重、分词器、推理框架、部署服务、显存管理和 API 成本。
比较不同模型时,我现在会问什么
对话里还问过 MiniMax、GLM、DeepSeek 这些模型架构有没有区别。
这类问题很容易变成参数表,但参数表很快会过期。具体版本、价格、上下文长度、指标排名都需要查最新官方资料,不能靠聊天记录里的二手信息直接写死。
但比较框架可以保留下来。
以后我看到一个新模型,会先问:
| 维度 | 我应该问什么 |
|---|---|
| 基础架构 | 是 Encoder-only、Decoder-only,还是 Encoder-Decoder? |
| 参数结构 | 是 Dense 还是 MoE?总参数和激活参数分别是多少? |
| 注意力机制 | 用 MHA、GQA、MLA、稀疏注意力,还是线性注意力? |
| 上下文能力 | 标称上下文多长?长上下文真实效果如何? |
| 多模态能力 | 支持哪些输入输出?是拼接式还是更原生的融合? |
| 训练方式 | 预训练、SFT、偏好对齐、推理强化分别怎么做? |
| 工程效率 | 推理成本、延迟、吞吐、显存占用如何? |
| 开放程度 | 是否开源?是否有模型卡、权重、推理代码? |
这比单纯问“哪个模型更强”有用。
因为模型强不强,往往取决于场景。写作、代码、数学、长文档、多模态、本地部署、低成本 API,关注点都不一样。
最后得到的知识地图
整理到最后,我真正需要的是这样一张地图:
大模型知识结构
|
|-- 发展脉络
| |-- 数据学习
| |-- Transformer
| |-- 预训练
| |-- 规模化
| |-- 对话交互
| |-- 多模态
| |-- 推理与效率
|
|-- Transformer 家族
| |-- Encoder-only:BERT
| |-- Decoder-only:GPT / LLaMA / DeepSeek
| |-- Encoder-Decoder:T5 / BART / OCR 和转换类任务
|
|-- 模型内部数据流
| |-- Tokenizer / BPE
| |-- Embedding
| |-- Attention
| |-- FFN
| |-- RMSNorm / LayerNorm
| |-- Residual
| |-- LM Head / Softmax
|
|-- 架构优化
| |-- MHA / GQA / MLA
| |-- KV Cache
| |-- MoE / Router / Experts
| |-- RoPE
| |-- Dense vs Sparse
|
|-- 现代模型案例
| |-- DeepSeek-V3
| |-- DeepSeekMoE
| |-- MLA
| |-- FP8 / DualPipe
|
|-- 视觉和多模态
| |-- CLIP:图文语义对齐
| |-- SAM:图像分割
| |-- 视觉编码器
| |-- 投影器
| |-- 多模态 LLM
| |-- DeepSeek-OCR 这类跨模态压缩思路
|
|-- 训练和对齐
| |-- 预训练
| |-- SFT
| |-- PPO
| |-- DPO
| |-- GRPO
|
|-- 工程落地
|-- DeepSpeed
|-- vLLM
|-- Safetensors
|-- MLX
|-- Hugging Face 仓库结构
|-- Tokenizer / config / weights
这张图不保证覆盖所有细节,但它解决了我最初的问题。
我以后再看到一个名词,可以先问:
它属于发展史、架构、数据流、训练、多模态,还是工程?
它在模型里哪个位置?
它解决什么问题?
它带来什么代价?
它和我已经知道的哪个概念相邻?
这比背定义更重要。
写给未来的自己
我写这篇文章,首先是写给自己看的。
因为我知道自己一定会忘。过一段时间,我可能又会忘记 MoE 和 FFN 的关系,忘记 RMSNorm 放在哪里,忘记 CLIP 和 SAM 的区别,忘记 DeepSeek-V3 的 MLA 到底优化什么,也忘记 PPO、DPO、GRPO 分别属于训练流程里的哪一段。
但没关系。
我不需要一次性记住所有名词。我只需要留下一条能回来的路。
这条路不是从定义开始,而是从问题开始:
我为什么会困惑?
这个概念在结构里的位置是什么?
它前后连接了哪些东西?
如果我忘了它,应该回到哪张图?
这也是我现在对学习技术概念最大的体会:
知识不是靠一次性记住所有定义建立起来的,而是靠不断给概念找到位置建立起来的。
这篇文章就是我给自己画下的第一张大模型地图。
参考来源
- Transformer: https://arxiv.org/abs/1706.03762
- BERT: https://arxiv.org/abs/1810.04805
- GPT-2: https://openai.com/index/better-language-models/
- GPT-3: https://openai.com/index/language-models-are-few-shot-learners/
- GPT-4: https://openai.com/index/gpt-4-research/
- GPT-4o: https://openai.com/index/hello-gpt-4o/
- Transformer Feed-Forward Layers Are Key-Value Memories: https://aclanthology.org/2021.emnlp-main.446/
- RMSNorm: https://arxiv.org/abs/1910.07467
- DeepSeekMoE: https://arxiv.org/abs/2401.06066
- DeepSeek-V3 Technical Report: https://arxiv.org/abs/2412.19437
- CLIP: https://arxiv.org/abs/2103.00020
- Segment Anything: https://arxiv.org/abs/2304.02643
标签: 大模型, 人工智能, Transformer, 多模态, DeepSeek, 学习笔记, 知识结构
评论
评论系统尚未配置。
评论
评论系统尚未配置。