Vue发布于 2026年7月10日

GPT 如何基于 Transformer 演化

GPT 从原始 Transformer 中只保留了 Decoder,并引入 Mask 机制实现自回归式的“下一个 token 预测”,从而演化为强大的文字续写模型。本文清晰拆解了 GPT 的核心架构、Attention 原理、Causal Mask 的作用,并深入讲解 KV Cache、Flash Attention 等关键推理优化技术,帮助你真正理解 GPT 为什么能“思考”、为什么生成变慢,以及 DeepSeek 为何更便宜。

站点作者7 次阅读最后更新 2026年7月27日
返回首页·Markdown 正文渲染

AI摘要

此内容由 AI 根据文章正文生成,并已由人工审核

DeepSeek Summary

GPT 是基于原始Transformer的Decoder部分演化而来,核心任务是Next Token Prediction(下一个词预测),本质是一个超大规模的文字接龙机。它通过Masked自注意力机制确保只能看过去不能看未来,从而实现自回归生成。在推理时,KV Cache技术通过缓存历史K/V向量避免重复计算,大幅提升速度,但长上下文会导致显存爆炸。现代大模型普遍采用RoPE旋转位置编码替代传统位置编码,用向量旋转角度编码相对位置关系。不同模型如GPT、Claude、DeepSeek主要在Attention优化、MoE稀疏激活、长上下文处理和推理工程上存在差异。

GPT 如何基于 Transformer 演化

核心就是一句话:

text
原始 Transformer = Encoder + Decoder
GPT = 只保留 Decoder,并且加 Mask,不断预测下一个 token

原始 Transformer 长什么样?

论文里的 Transformer:

结构:

text
Encoder
↓
Decoder

它原本是:翻译模型

比如:

text
英文 → 中文

工作流程:

text
输入英文
↓
Encoder理解全文
↓
Decoder逐字生成中文

为什么 GPT 不需要 Encoder?

因为 GPT 干的事情:不是翻译而是“续写”

比如:输入:

text
今天天气真

GPT 只需要:

text
预测下一个 token

所以:它根本不需要:

text
Encoder理解输入
+
Decoder生成输出

它只需要:一个会不断续写的 Decoder

于是:GPT 出现了:Decoder-only Transformer

GPT 的核心目标

一句话:Next Token Prediction(下一个 token 预测)

比如:

训练数据:

text
我 爱 北京 天安门

训练过程:

模型看到:我 预测爱 看到:我 爱 预测北京 看到:我 爱 北京 预测:天安门 所以:GPT 本质:超级大型“文字接龙机”

GPT 为什么看起来像“理解”了?

因为:训练数据太大。

GPT 看过:网页 书 代码 论文 对话 数学 小说

于是它学会:token 之间的统计规律

比如:

text
中国的首都是

后面:大概率:

text
北京

再比如:

text
React useState 返回

后面:大概率:

text
数组

所以:GPT 本质:超大规模概率预测器

GPT 真正厉害的地方

普通模型:只能记忆局部规律。

Transformer Attention:能:建立超长距离关联

比如:用户开头说:

text
我叫杨帆

几百 token 后:

text
你叫什么?

Attention:还能找到:

text
杨帆

这就是:长上下文建模

GPT 的真正运行流程

你现在要真正建立:“token 流”概念。

假设用户输入:

text
你好

第一步:Tokenization 变 token:

text
[15496, 2159]

第二步:Embedding 变向量:

text
15496 → 向量
2159 → 向量

第三步:位置编码 告诉模型:

text
谁在前
谁在后

第四步:进入 Transformer Block

每层:

text
Attention
↓
FFN
↓
Attention
↓
FFN

层层抽象。

Attention 在 GPT 中到底做什么?

举例:

text
苹果发布了新手机,它性能很强

Attention 会发现:它 和 苹果强相关。

于是:“它” 的向量:会融合:苹果的信息。

所以:模型开始:理解代词指代

为什么 GPT 必须 Mask?

这是:GPT 的灵魂 因为:GPT 是:自回归模型(AutoRegressive)

意思:

text
只能看过去
不能看未来

比如:

text
我今天吃了火锅

训练时:预测

text
火锅

时:不能偷看自己。

text
火锅

所以:未来 token:全部 mask。

本质:

text
未来位置 = -∞

Softmax 后:

text
0

这叫:Causal Mask

为什么 GPT 能聊天?

因为:聊天:本质也是:续写

比如:用户

text
你好

模型训练时看过:

text
用户:你好
助手:你好,请问有什么可以帮您?

于是:它学会对话模式


注意:GPT 没有:真正的“意识”

它只是:极其强大的 token 概率生成器

GPT 为什么会“思考”?

因为:Transformer 深层 Attention:会形成:抽象语义表示

层数越深:越抽象。

比如:浅层:

可能理解:

text
单词关系

中层:

理解:

text
语法

深层:

理解:

text
逻辑
推理
代码结构
世界知识

这就是:Emergent Ability(涌现能力)

GPT 和原始 Transformer 最大区别

GPT 真正的本质

GPT = 巨型 Decoder Transformer

python
Token
↓
Embedding
↓
Position
↓
Attention
↓
FFN
↓
很多层
↓
Linear
↓
Softmax
↓
预测下一个 token

那为什么 GPT 生成越来越慢?

因为:每生成一个 token:

模型都要:重新计算 Attention

比如:

已经生成:

text
我 今天 去了 北京

生成下一个词:

Attention:还要重新看:

text
我
今天
去了
北京

长度越来越长。

Attention 复杂度:论文里提到: O(n²) 平方时间复杂度 这就是:

长文本越来越慢

于是:KV Cache 出现了。

KV Cache 是什么?

这是现代大模型推理核心。一句话:

“以前算过的 K/V 别再算了。

这是:

大模型推理最核心工程技术之一

你理解它之后:

很多东西都会突然通:

  • 为什么长上下文贵

  • 为什么显存爆炸

  • 为什么 DeepSeek 便宜

  • 为什么 GPT 回复越长越慢

  • 为什么 Claude 200K 上下文那么恐怖

  • 为什么推理和训练完全不同

先理解 GPT 生成方式

GPT:不是:一次生成整句话

而是:一个 token 一个 token 往外蹦

比如:用户输入:

text
北京的首都是

模型:先预测:

text
“北京”

然后:输入变成:

text
北京的首都是 北京

再预测:

text

所以:GPT 实际上:

text
每生成一次
都重新跑一遍 Transformer

Attention 最大问题来了

生成第 N 个 token 时:Q:

需要看:

text
前面所有 token 的 K/V

比如:

已经生成:

text
我 今天 在 北京 吃了 火锅

现在生成:

text
“。”

Attention:会重新看:

text
我
今天
在
北京
吃了
火锅

问题:前面的 K/V 根本没变!

但是:传统做法还是全重新算一遍

这太浪费了。

KV Cache 登场

核心思想:“历史 K/V 直接缓存”

因为:过去 token:已经固定了。

比如:

text
我
今天
北京

这些 token:已经不会变。

那么:它们的:K V也不会变。所以:第一次算完:直接存起来。

下次生成:只需要:新 token 计算 Q/K/V

然后:Q 去匹配:缓存里的全部 K/V

为什么只缓存 K/V?

因为:Q 只属于当前 token。

比如:当前生成:火锅

只有:火锅Q是新的。

但:前面:

text
我
今天
北京
吃了

K/V已经算过了。所以:只缓存:K/V

不缓存:Q

KV Cache 动画理解

第一次生成

输入:

text
我 爱 北京

计算:

text
K1 V1
K2 V2
K3 V3

缓存:

text
Cache:
[K1,V1]
[K2,V2]
[K3,V3]

第二次生成

新 token:

text
天安门

只算:

text
Q4 K4 V4

Attention:

text
Q4
看
[K1 K2 K3 K4]

然后:把:K4 V4 继续追加进缓存。

KV Cache 为什么能暴增速度?

因为:Transformer 最贵:就是:Attention

尤其:长上下文。

如果没有 Cache:每次都从头计算全部 token

有 Cache:变成:只计算新增 token

推理速度:直接起飞。

为什么长上下文显存爆炸?

因为:KV Cache 要一直存

注意:每层 Attention:

都要存:K/V

而 GPT:可能:

text
80120

再加:

text
32个 head
64个 head

再加:

text
128K 上下文

KV Cache:会恐怖增长。

真正的显存公式

简化理解:

KV Cache 大小:

text
层数
×
上下文长度
×
head数
×
head维度

所以:上下文长度越长显存指数级难受

这也是:为什么训练和推理完全不同

训练为什么不用 KV Cache?

因为:训练不是:一个 token 一个 token

而是:整句并行

训练时:GPU 一次看到:整段文本

所以:KV Cache:主要用于:推理(Inference)

为什么 GPT 回复越长越慢?

因为:生成越长:KV Cache 越大。

Attention:每次都要:Q × 所有历史K

复杂度:仍然会增长。

只是:比重新算全部快太多。

Flash Attention 又是什么?

这是:Attention 工程革命

问题:Attention:非常吃:显存带宽不是算力。

传统:Attention:中间矩阵:QKᵀ巨大。

会频繁:显存读写

Flash Attention:核心思想:“别把巨大 Attention 矩阵完整存显存”

而是:分块计算(Tiling)边算边 Softmax。

结果:

  • 更快

  • 更省显存

  • 更长上下文

现在:几乎所有大模型:都用了:Flash Attention

为什么 DeepSeek 便宜?

关键来了。DeepSeek:真正牛的:不是“模型会说话”。

而是:推理工程优化极强

比如:

  • 更激进 KV 管理

  • 更高效 Attention Kernel

  • MoE 激活少量专家

  • 更便宜训练

  • 更高 GPU 利用率

核心:降低每 token 成本

为什么 Claude 长上下文那么强?

因为:Anthropic:重点优化:长上下文 Attention

包括:

  • KV 管理

  • RoPE 扩展

  • Attention Scaling

  • 长上下文稳定性

所以:Claude:200K Context:非常强。

RoPE(旋转位置编码)为什么替代 Positional Encoding

你之前学的:Transformer 原论文:位置编码是:Sin / Cos。

但:现在:GPT/Llama/Qwen/DeepSeek:基本都不用这个了。

而是:RoPE(Rotary Position Embedding)旋转位置编码。

先理解原始位置编码的问题

原版 Positional Encoding:

做法:

text
Embedding + Position向量

比如:

text
苹果 = [0.2,0.8]
位置1 = [0.1,0.3]

相加:

text
[0.3,1.1]

问题:“位置”是硬塞进去的

Attention 真正关心:其实不是:

text
绝对位置

而是:相对距离

比如:

text
“我” 和 “喜欢”

距离 1。

text
“喜欢” 和 “苹果”

距离 1。

语言里:相对关系更重要。

RoPE 的核心思想

一句话:“不要把位置加进去”“而是让 Q/K 自己旋转”

这是:数学极其优雅的设计

RoPE 最本质理解

RoPE:本质:不改变 token 本身而改变 token 的“方向”

注意:Attention:依赖:

text
Q · K

点积。而:向量方向会影响点积

所以:RoPE:想到:“那我直接旋转 Q/K 不就行了?”

RoPE(Rotary Position Embedding,旋转位置编码)里的“旋转 Q/K”,本质上就是:

把位置信息,用“旋转角度”编码进 Query 和 Key 里。

这样 Attention 在计算时,就天然知道:

  • 谁在前

  • 谁在后

  • 相距多远

而不是像老 Transformer 一样:“硬加一个位置向量”。

一句话理解

普通 Attention:

text
Q · K

RoPE Attention:

text
(旋转后的 Q) · (旋转后的 K)

而且:

  • 不同位置 → 旋转不同角度

  • 距离越远 → 角度差越大

所以模型自动感知“相对位置”。

为什么是“旋转”?因为:向量旋转后

两个向量的点积会自然体现:它们之间的角度差,而角度差,正好可以表示:token 之间的距离

这就是 RoPE 的核心魔法。

最简单例子

假设:

text
token A 在位置 1
token B 在位置 5

RoPE 会:

  • Q 在位置1旋转一点

  • K 在位置5旋转更多

于是:

text
Q 和 K 的夹角
= 位置差
= 5 - 1

Attention 一算:

text
Q · K

自然就知道:

text
“它俩隔了4个 token”

数学本质(超简版)

二维向量:

text
[x, y]

旋转 θ 度后:

text
[x cosθ - y sinθ,
 x sinθ + y cosθ]

RoPE 就是在:

  • 每个位置用不同 θ

  • 对 Q/K 做旋转

为什么只旋转 Q/K?

因为:Attention 核心是:

text
Q · K

位置关系只影响:

text
“谁关注谁”

所以:

  • Q/K 负责“匹配”

  • V 负责“内容”

因此:

RoPE 最牛的地方

它得到的是:相对位置不是:绝对位置

比如:

text
“我爱你”

和:

text
“今天我爱你”

虽然位置不同,

但:

text
“我”和“爱”

之间距离没变。

RoPE 可以天然保持这种关系。这比传统 Position Embedding 强很多。

为什么 GPT / DeepSeek / Llama 都爱用?

因为它:

✅ 长文本效果好

✅ 外推能力强

✅ 不增加参数

✅ Attention 兼容性极强

✅ 推理速度快

✅ 比传统 PE 更稳定

所以现代大模型基本都:

text
RoPE + Transformer

你可以脑补成每个 token 都拿着一个:“指南针”

位置越靠后:转得越多 Attention 时:看彼此角度差

就知道:谁离谁近

最后一句总结 RoPE 的“旋转 Q/K”:

本质是:

用向量旋转角度,来编码 token 的相对位置关系。

它把:位置

变成了:向量方向 这是现代 Transformer 非常关键的一步。

Image

DeepSeek / Claude / GPT 架构差异

几乎都是:Transformer Decoder-only

真正差异:

主要在:

text
Attention
MoE
训练方式
推理优化
长上下文
对齐方式

所有现代大模型的共同祖先

统一结构:

text
Token
↓
Embedding
↓
RoPE
↓
Transformer Block × N
    Attention
    FFN
↓
Linear
↓
Softmax

真正区别:

不是:有没有 Transformer

而是:“Transformer 怎么魔改”

GPT(OpenAI)路线

GPT 系列:核心特点:Dense Transformer(稠密模型)

意思:每个 token激活全部参数

比如:一个1T 参数模型 每次推理:全部参与计算

优点:

  • 稳定

  • 泛化强

  • 推理质量高

  • 容易训练

缺点:太贵

因为每个 token都跑:全部参数

Claude(Anthropic)路线

Claude:核心特点:长上下文极强

Claude:真正厉害的不是聊天。

而是:超长 Context Engineering

Anthropic极其重视:

text
200K
500K
甚至更长 context

这意味着:

Attention:必须非常稳定。

Claude重点优化:

  • 长距离 Attention

  • KV Cache 管理

  • RoPE Scaling

  • 长文本稳定性

  • Attention 数值稳定

所以:

Claude:

特别适合:

  • 超长文档

  • PDF分析

  • 代码仓库

  • 长记忆任务

DeepSeek 路线

DeepSeek真正革命性的:

成本优化

很多人以为它只是:“中文 GPT”

实际上:DeepSeek真正牛是:MoE(Mixture of Experts)

什么是 MoE?

MoE:一句话:不是所有参数都工作”

传统 GPT:

像:全公司员工一起干活

MoE:像按问题叫专家

比如用户问:Python代码 模型只激活:代码专家

问:数学 激活:数学专家

MoE 最核心结构

传统 FFN:

text
所有 token
↓
同一个 FFN

MoE:

变成:

text
Router
↓
选择专家
↓
只激活部分 Expert

为什么 DeepSeek 便宜?

假设:

模型:

text
总参数 = 600B

但每次激活:

text
37B

于是:推理成本暴降

但模型容量还在。这就是:Sparse Model(稀疏模型)

Dense vs Sparse

为什么 DeepSeek-R1 会“思维链”?

R1:不是单纯参数大而是:强化学习(RL)

它通过:奖励“正确推理”训练。

于是:模型开始:学会一步一步思考

这就是:Chain of Thought(思维链)

比如:以前模型:直接输出答案

R1:会:

text
先分析
再拆解
最后回答

为什么 R1 看起来像“会思考”?

因为:强化学习会奖励正确推理路径

于是模型内部开始形成多步推理模式

注意不是:真正意识

而是:推理 token pattern

GPT 为什么回答稳定?

因为OpenAI极其重视:对齐(Alignment)

包括:

  • RLHF

  • Constitutional AI

  • Safety Training

  • Preference Model

所以GPT特点:

text
稳定
均衡
不容易发疯

Claude 为什么像“高情商”?

Anthropic:重点:AI Safety

Claude被训练:

text
更温和
更克制
更像助手

所以你会感觉Claude:特别像真人


DeepSeek 为什么“野”?

因为它:更开放

包括:

  • 更激进 RL

  • 更少限制

  • 更自由输出

  • 更工程优化

所以:

你会感觉:

DeepSeek:推理很猛


真正的大模型竞争

已经不是:“谁会聊天

而是:工程能力

包括:

  • GPU利用率

  • KV Cache

  • MoE Routing

  • Attention Kernel

  • 长上下文

  • 推理吞吐

  • 分布式训练

  • 数据质量

  • RL Pipeline


现在顶级 LLM 的核心战争

OpenAI

强:

text
综合能力
Agent
推理稳定

Anthropic

强:

text
长上下文
安全
代码

DeepSeek

强:

text
低成本
MoE
推理强化

Google Gemini

强:

text
多模态
超大基础设施

Meta Llama

强:

text
开源生态

版权声明

1 本文章标题: GPT 如何基于 Transformer 演化

2 本文章地址: https://www.yf2029.com/articles/gpt-%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E-transformer-%E6%BC%94%E5%8C%96

3 本站文章内容仅供学习、交流与界面验证参考,如有版权或引用问题,请联系站点维护者处理。

4 本站不对文中外部链接、第三方资源或读者据此操作产生的结果承担保证责任。

上一篇

RAG引擎构建

Skill

下一篇

Prompt提示词工程

React

评论

登录后即可发表评论和回复。

0 条
评分
0/1000
还没有评论,来说两句吧

AI Knowledge Blog

记录代码与设计实践

分享开发经验、项目思考与持续成长的过程

站点反馈

如果你在浏览或使用过程中有建议,欢迎告诉我们。