什么是 Transformer模型?

Transformer模型是一种神经网络架构,通过残差路径和归一化连接注意力与逐位置前馈子层,反复更新一组向量表示。完整模型还必须定义位置信息、可见性 Mask、输入输出表示、训练目标和推理流程。

快速了解

创建时间2017 年由 Google(Vaswani 等人)提出
规范文档官方规范

工作原理

Block 结构

Transformer Block 会保持类似 [Batch, Token, Model Dimension] 的 Residual Stream 形状。Attention 在 Mask 允许的位置间混合信息,FFN 再使用共享参数独立变换每个位置。Residual Add 与 Normalization 连接两个子层。Pre-Norm 和 Post-Norm 是不同的前向函数,必须与 Checkpoint 匹配。

位置与可见性

Attention 本身不编码顺序,模型需要绝对位置 Embedding、相对位置 Bias、Rotary Position Embedding 或其他位置机制。可见范围由 Causal、Padding、Cross-Attention 或业务 Mask 决定。Position ID、Mask 极性、Cache Offset 与训练时最大上下文都是 Runtime 契约;能接收更长 Tensor 不代表能可靠外推。

架构家族

Encoder-Only 模型通常为已知输入生成双向表示;Decoder-Only 模型应用 Causal Mask,并常用 Next-Token 目标;Encoder-Decoder 模型先编码来源序列,再使用因果自注意力与 Cross-Attention 生成目标。这些是信息流模式,不能保证某一类型对所有任务最优。

训练与推理

Teacher Forcing 的因果训练可以在 Mask 约束下并行处理已知目标位置。自回归生成仍是串行过程,因为下一 Token 依赖刚刚选出的 Token。KV Cache 复用历史 Key 与 Value,减少重复计算,同时引入显存、Position、淘汰、复用和租户隔离要求。

成本与验证

稠密 Attention Score 的计算随序列长度平方增长,Projection 与 FFN 还会显著受到模型宽度影响。KV Cache 容量随 Batch、缓存 Token、层数、KV Head、Head Dimension 与精度增长。可靠实现必须测试 Shape、Mask、有限数值、Position、训练/评估模式,以及整段计算与缓存解码的一致性。

主要特点

  • 在残差堆栈中组合 Attention 与逐位置 Feed-Forward 子层
  • 通过显式位置信息补足 Attention 本身不表达顺序的限制
  • 使用 Causal、Padding、Cross-Attention 或业务 Mask 定义信息可见性
  • 支持 Encoder-Only、Decoder-Only 与 Encoder-Decoder 信息流
  • 区分可并行的训练或 Prefill 与串行的自回归 Token 选择
  • 需要在质量、上下文、参数量、KV Cache、延迟和吞吐之间权衡

常见用途

  1. 用于分类、检索和 Token 级预测的双向表示模型
  2. 使用 Causal Mask 与 KV Cache 的语言或代码自回归生成
  3. 翻译、摘要和结构转换等条件序列生成
  4. 把图像、音频和多模态观测映射为 Token 类表示的系统
  5. 在明确质量、延迟、内存和可靠性预算下运行的序列处理系统

示例

loading...
Loading code...

常见问题

Attention 和 Transformer 有什么区别?

Attention 是根据 Query-Key 匹配结果,在允许位置上组合 Value 的运算。Transformer 是围绕该运算构建的完整残差架构,还包括 Embedding、位置信号、FFN、Normalization、Mask、输出头和训练目标。

所有 Transformer 都有 Encoder 和 Decoder 吗?

不是。原始 Transformer 同时使用二者。Encoder-Only 模型保留双向 Encoder 风格堆栈,Decoder-Only 模型使用 Causal Stack,Encoder-Decoder 模型则用 Cross-Attention 连接来源与目标。实际 Mask 和 Objective 比名称更重要。

Transformer 为什么需要位置信息?

只基于内容向量的 Attention 无法自行区分顺序。模型通过绝对位置 Embedding、相对位置 Bias、Rotary Transformation 或其他方案提供顺序。位置方法和 Position ID 规则必须与训练后的 Checkpoint 匹配。

为什么说 Transformer Attention 是平方复杂度?

稠密 Self-Attention 会为每一对允许交互的序列位置形成分数,因此 Score 与 Value Mixing 的计算随序列长度平方增长。Projection 和 FFN 有不同增长项,优化 Kernel 可以减少内存访问,但不会消除全部成对算术。

KV Cache 改变了 Transformer 的什么?

自回归推理时,KV Cache 保存历史 Token 的 Key 和 Value,避免每一步重复做相同 Projection。它减少重复计算,但显存仍会随缓存 Token、层数、KV Head、Head Dimension、Batch 和精度增长。

相关术语

相关文章