Transformer 的整体原理是什么?

考查重点:上下文交互与逐层表示变换。Token 加位置信息后经多层注意力交换上下文、前馈变换,残差和归一化稳定训练,输出头预测任务结果

本题目录

参考答案

核心回答

Transformer 用注意力在序列位置之间交换信息,再用逐位置前馈网络变换特征,通过残差连接、归一化和多层堆叠形成上下文表示。 Token Embedding 提供内容表示,位置机制提供顺序信息;模型再按任务将最终表示映射为分类结果、向量或下一个 Token 的概率。

原始 Transformer 是 Encoder–Decoder:编码器理解输入,解码器对已有输出做因果自注意力,并通过交叉注意力读取编码器结果,逐步生成目标序列。现代生成式 LLM 常采用 Decoder-only,把提示词与已有输出放进同一序列,使用因果注意力预测下一个 Token,选出后继续生成。

因此,整体原理不能只停在 Q/K/V 公式:还要说明输入怎样变成表示、Block 怎样加工、输出怎样生成,以及训练时的并行计算为何不等于生成时一次得到全部 Token。

输入怎样进入模型

文本先经 Tokenizer 转成 Token ID,再通过 Embedding 查表得到向量。Token 不一定对应一个汉字或一个单词,具体划分由分词器决定。

模型还需要位置机制。原始论文把正余弦位置编码加到输入向量;现代模型也可能在注意力计算中引入位置关系,例如 RoPE。它们解决的是顺序和相对位置的表达,不应把所有位置机制都理解为“在词向量上加一个编号”。

一个 Transformer Block 做什么

注意力负责跨位置读取信息。 Self-Attention 将同一序列的表示投影为 Q、K、V,用 Q 与 K 的匹配形成权重,再汇总 V;多头使用不同投影分别计算,拼接后映射回所需维度。因果 mask 限制每个位置只能读取自身及此前信息,padding mask 则处理填充位置。具体计算见Attention 如何计算。

FFN 负责逐位置的非线性变换。 同一层对不同位置使用同一组前馈参数,不直接把位置之间混在一起;不同层通常有各自的参数。原始方案是两层线性变换加激活,现代模型也常采用门控结构。

残差连接保留直接的信息与梯度通路,归一化帮助控制特征尺度与深层训练。 原始论文在子层残差相加后做 LayerNorm,其他架构也可采用 Pre-Norm 等组织方式。归一化不会把任意输入变成标准正态分布,也不能单独保证模型一定训练成功。

多层堆叠让一个位置反复读取上下文并加工表示。层数、维度和头数是模型设计参数,不是所有 Transformer 都固定六层、八个头;模型能力还取决于训练数据和目标。

编码器与解码器如何协作

原始编码器的每层包含自注意力与 FFN,输入各位置可以读取整段输入中允许的位置。解码器除了因果自注意力和 FFN,还包含 Cross-Attention:Q 来自解码器当前表示,K、V 来自编码器输出,让生成端按需要读取输入。

例如机器翻译中,编码器先处理源句,解码器根据已生成译文与源句表示预测下一个译文 Token。源句编码结果可以复用,不需要每生成一个 Token 都重新编码源句。

Decoder-only 通常不保留这条独立的文本编码器交叉注意力链路,而将提示词和已生成内容串在同一序列中。Encoder-only 则更常用于双向表示和理解任务。这些是不同的输入输出与训练组织方式,并不意味着某一种架构完全没有理解或生成能力。

从表示到逐 Token 生成

下面简化展示常见 Decoder-only 语言模型的主线,位置机制、残差与归一化归入解码器块,未展开其具体先后顺序。

flowchart TD
    T[当前上下文的 Token ID] --> E[Token Embedding]
    E --> B[多层解码器块<br/>因果注意力与 FFN<br/>位置机制、残差和归一化]
    B --> H[输出投影与 softmax]
    H --> N[选择下一个 Token]

模型将用于预测下一 Token 的最终表示投影到词表,得到 logits,再经 softmax 形成概率分布。生成策略可以选择最大概率项,或按温度等设置采样;未遇到结束条件时,将新 Token 追加到序列,继续下一步。图示借鉴配套教程的 Decoder-only 生成图的纵向结构,补充位置、残差、归一化与 softmax 的职责后重绘。

推理可以缓存历史 K、V,减少后续步骤重复计算已知前缀的工作;缓存的是中间表示,并非词表权重或最终答案。新增 Token 仍需经过相应计算,KV Cache 没有消除自回归依赖。

训练为什么可以并行

标准下一 Token 预测训练已经拥有完整序列。把目标相对输入错开一位,各位置就都有自己的预测目标,可以在一次前向中并行计算,并用因果 mask 防止读取未来答案。按任务与掩码,对需要训练的位置计算损失,再反向传播更新参数。

生成时未来 Token 尚未确定,需要先选出下一个,再据此处理后续位置。长序列的普通稠密注意力还涉及大量位置两两匹配;高效算子可以降低中间存储与访存开销,但不能据此说所有注意力计算都变成线性复杂度。

常见追问

有 Attention,为什么还需要 FFN? Attention 侧重根据上下文聚合信息,FFN 提供逐位置的非线性变换容量。两者协作完成表示更新,模型知识也不是只存放在某一个组件中。

PyTorch 的 Transformer 模块可以直接收文本吗? nn.Transformer 是基础编码器–解码器结构的参考实现,输入通常已经是向量表示;Tokenizer、Token Embedding、位置机制和面向具体任务的输出处理,需要在完整应用中正确连接。也不能将它的默认配置当成现代所有 LLM 的实现。

对应教程

  • 大模型认知与工程概览:§1.2.4~§1.2.5 介绍 Transformer 与三类架构、Decoder-only 的下一 Token 生成主线;本文进一步展开 Block 的分工和编码器–解码器信息流。

参考资料

  • 国内:Datawhale:第二章 Transformer 架构:借鉴 §2.2~§2.3 对 FFN、残差、编码器和解码器的连接,组织正文完整结构,并区分原始归一化顺序与示例实现。
  • 国内:WeThinkIn:模型架构与工作原理:依据总体架构和 Block 的分工,说明正文中三类结构的信息组织,以及 Attention、FFN 和残差的不同职责。
  • 国内:puppylpg:从 Attention 到 KV Cache:依据 Q/K/V 与历史中间状态缓存的解释,说明正文中生成阶段可复用什么以及缓存为何不是答案。
  • 国外:Vaswani 等:Attention Is All You Need:依据原论文 §3 的编码器—解码器、注意力和前馈结构,说明正文中各组件的信息来源与输出概率形成过程。
  • 国外:PyTorch:Transformer:依据参考实现的向量输入、mask 与 norm_first 约定,说明正文中 PyTorch 模块与完整文本应用的区别及归一化位置的实现差异。

相关面经

13 篇

华为

大模型算法工程师
一面
查看原面经 →
Transformer基础原理是什么,时间复杂度如何计算,有哪些常用优化思路

字节跳动

AI 应用开发工程师
一面、二面
查看原面经 →
transformer的原理

恒生电子

后端开发(Java)
秋招一面
查看原面经 →
Transformer 架构理解 + 应用心得,ai对于技术架构选型的实际应用经验

迅雷

Agent
一面
查看原面经 →
追问,那你觉得reranker对召回之后的优化到底能达到什么地步?底层原理是什么(从transformer的角度说一下),重召回是以topK还是topP返回的? transformer底层说一下。

百度

AI Infra
秋招一面
查看原面经 →
Transformer整体架构是怎样的?其中Attention模块主要解决什么问题?
展开剩余 8 篇面经

字节跳动

AI Agent 开发
秋招一面
查看原面经 →
介绍一下Transformer的核心结构,Q、K、V分别代表什么?Attention计算过程是怎样的?

字节跳动、腾讯、蚂蚁集团

面经合集实习
查看原面经 →
Transformer原理

阿里巴巴

Agent 开发工程师
暑期实习一面、二面
查看原面经 →
Transformer的原理

字节跳动

后端开发工程师
日常实习一面
查看原面经 →
Transformer整体架构

字节跳动

大模型算法工程师
暑期实习一面、二面、三面
查看原面经 →
从transformer八股到agentic rl

招联

AI 应用开发工程师
一面
查看原面经 →
说一下transformer的基本结构吧

美团

Agent 算法工程师
查看原面经 →
transformer架构 有哪些机制

蔚来

大模型
实习
查看原面经 →
大模型架构,transformer结构

收录题集

7 个来源,共19 份题集

大模型基础

AMIT SHEKHAR · ai-engineering-interview-questions · 2 条原题

查看题集 →

机器学习原理

Alireza Dirafzoon · AIMLInterviews · 1 条原题

查看题集 →

八股集锦(高频问题)

小熊饼干_ · 个人整理 · 3 条原题

查看题集 →

大模型工程面试题

小林 Coding · 个人整理 · 1 条原题

查看题集 →

训练、数据与模型优化:从数据清洗到 LoRA

Onefly · zero2Agent · 1 条原题

查看题集 →
展开剩余 14 份题集

公司案例问答汇编

阿东玩 AI · AgentGuide · 3 条原题

查看题集 →

预训练与架构

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

深度学习基础汇编

阿东玩 AI · AgentGuide · 12 条原题

查看题集 →
展开其余 9 条原题

大模型基础面试题

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

字节跳动高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

爱奇艺高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

京东高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

快手高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

拼多多高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

深度网络架构

Rocky Ding · AIGC-Interview-Book · 4 条原题

查看题集 →
展开其余 1 条原题

注意力机制

Rocky Ding · AIGC-Interview-Book · 2 条原题

查看题集 →

深度学习基础概念

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

深度学习精华·网络架构

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

01_AI视频核心基础知识

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

相关题目

4 题