什么是 Transformer模型?
Transformer模型是一种神经网络架构,最早见于 2017 年论文《Attention Is All You Need》。其常见变体由注意力、前馈层、残差连接、归一化和位置信息组成,用于处理 Token 或其他序列表示。
快速了解
| 创建时间 | 2017 年由 Google(Vaswani 等人)提出 |
|---|---|
| 规范文档 | 官方规范 |
工作原理
Transformer 变体通过注意力在掩码允许的位置间混合信息,通过前馈层转换表示,再使用残差路径和归一化稳定优化,并用位置信息编码顺序。仅编码器模型常用于表示任务;仅解码器模型用因果掩码进行自回归生成;编解码器模型通过交叉注意力进行条件生成。原始论文描述的是编解码器变体,但并非所有 Transformer 都必须使用这种结构。 稠密注意力在训练时可并行计算,但内存和计算成本会随序列长度增长。现代系统还会结合内核实现、缓存、量化、批处理、检索与运维控制。应根据带日期的检查点、任务数据、上下文长度、延迟、内存、成本、安全和目标质量评测选择模型,而不能假定 Transformer 在每种场景都替代循环或卷积架构。
主要特点
- 自注意力机制实现所有序列位置的并行计算
- 多头注意力同时捕获不同类型的关系
- 位置编码为模型注入序列顺序信息
- 支持适配不同任务的仅编码器、仅解码器和编解码器变体
- 层归一化和残差连接确保深层网络训练稳定
- 常见训练计算可并行,但上下文长度和解码仍受资源约束
常见用途
- 大语言模型(GPT、BERT、LLaMA)用于文本生成和理解
- 机器翻译和多语言自然语言处理
- 视觉 Transformer(ViT)用于图像分类和目标检测
- 多模态模型结合文本、图像和音频理解
- 语音识别和文本转语音合成系统
示例
Loading code...常见问题
Transformer 为什么能取代 RNN 和 LSTM?
Transformer 在常见训练实现中可并行处理多个位置,并用注意力表示掩码允许的交互;RNN 则按序更新状态。两者在延迟、内存、流式处理、数据量、硬件和任务质量上的取舍不同。应对具体任务进行评测,不能将 Transformer 视为对循环架构的全面替代。
什么是自注意力机制?它是如何工作的?
自注意力机制让序列中的每个位置都能关注所有其他位置。工作原理:将输入转换为 Query、Key、Value 三个向量,计算 Query 与所有 Key 的相似度得到注意力权重,用权重对 Value 加权求和得到输出。这使模型能动态地根据上下文决定关注哪些信息,而不是固定的局部窗口。
编码器-解码器架构和仅解码器架构有什么区别?
编码器-解码器架构(如原始 Transformer、T5):编码器处理输入序列,解码器生成输出序列,适合翻译、摘要等序列到序列任务。仅解码器架构(如 GPT 系列):只有解码器,自回归生成文本,适合文本生成任务。仅编码器架构(如 BERT):只有编码器,适合理解任务如分类、问答。
位置编码为什么对 Transformer 很重要?
Transformer 的自注意力机制本身不包含位置信息——它将输入视为无序集合。位置编码向输入嵌入中注入序列顺序信息,使模型能区分'猫追狗'和'狗追猫'。常见方法包括:正弦位置编码(原始论文)、可学习位置嵌入(BERT)、旋转位置编码 RoPE(LLaMA)等。
Transformer 在计算机视觉领域是如何应用的?
Vision Transformer 常把图像图块转换为类似 Token 的表示,加入位置信息后送入 Transformer 块。具体设计会在图块划分、层级、池化、预训练和目标函数上不同。应按目标数据、分辨率、延迟、内存和鲁棒性要求评测分类、检测或分割任务,不能把任一变体视为普适最优。