AI 基础

什么是 Transformer 神经网络?

mm
将 Unite.AI 添加到您在 Google 上的首选来源

Transformer 是一种使用注意力机制处理标记之间关系的神经网络架构。不同于必须在位置之间传递隐藏状态的循环网络,Transformer 能在训练期间并行计算大量标记之间的交互。

Transformer 为众多语言、视觉、音频和多模态系统提供动力,但该架构并非数据库,也不保证推理能力。其输出仍是基于学习到的参数、提供的上下文以及解码过程的预测。

关键要点

  • 自注意力使每个标记能够从其他允许的标记构建上下文依赖的表示。
  • 由于注意力本身不编码标记顺序,需要加入位置信息。
  • 仅编码器、仅解码器以及编码器-解码器 Transformer 适用于不同的目标。
  • 上下文长度、计算量、训练数据和评估——而非仅注意力——决定了能力和可靠性。
What Are Transformer Neural Networks? diagram showing tokens, embed + position, self-attention, feed-forward, stack blocks, output
注意力构建上下文表示;掩码和目标决定可用信息。

标记、嵌入与位置

文本首先被划分为标记,标记可以是单词、子词或字符。每个标记 ID 对应一个学习得到的嵌入向量。视觉 Transformer 可以对图像块进行嵌入;音频 Transformer 可以对帧或学习得到的声学单元进行嵌入。

由于纯粹的注意力操作对置换具有等变性,模型需要位置信息。实现方式可能添加学习得到或固定的位置信息编码,或使用相对或旋转位置方案来修改注意力得分。最终将标记的内容与其出现位置相结合。

缩放点积与多头注意力

对于每个位置,学习得到的投影会生成查询(query)、键(key)和值(value)。查询与可用键之间的相似度产生注意力权重;加权后的值构成输出。对点积进行缩放有助于在向量维度增大时保持 softmax 的数值稳定性。

多头注意力在多个学习得到的子空间中重复该操作。不同的头可以专注于不同的关系,尽管视觉上令人满意的注意力模式不应被自动视为对模型决策的忠实解释。

Transformer 模块

注意力子层后接一个位置式前馈网络。残差连接在每个子层之间传递先前的表示,而归一化和正则化则支持优化。堆叠多个模块通过 深度学习 构建日益丰富的上下文特征。

在因果生成过程中,掩码阻止位置读取未来的标记。推理时,解码器预测一个标记并将其追加,然后重复。键值缓存避免对每个早期注意力投影重新计算,从而降低但并未消除生成成本。

编码器、解码器及编码器-解码器系列

仅编码器模型学习适用于分类、检索和标记标注的双向表示。仅解码器模型使用因果注意力进行下一个标记的生成。编码器-解码器模型让解码器能够关注编码后的输入,适用于翻译等序列到序列任务。

现代系统通常先进行大规模预训练,然后采用 迁移学习、指令微调或偏好优化。因此,同一架构可以根据目标和数据表现出截然不同的行为。

限制、效率与评估

对序列进行全注意力会产生随序列长度呈二次增长的成对交互,导致内存和计算压力。稀疏或线性注意力、分块、检索、量化和缓存在准确性、上下文访问、延迟和实现复杂度之间进行权衡。

更大的上下文窗口并不保证每个提供的事实都会被正确使用。需要评估事实性、鲁棒性、校准、延迟、成本以及任务特定的失效模式。对于交互式系统,提示工程可以塑造行为,但它无法将概率模型变成万无一失的来源。

Transformer 从标记到上下文的计算

Transformer 将标记映射为向量,加入位置信息,并通过重复的注意力和前馈块传递。自注意力中,学习得到的投影生成查询、键和值。缩放点积将每个查询与键进行比较,softmax 产生权重,加权后的值形成上下文。多个头学习不同的投影空间。残差连接和归一化使深层堆叠保持稳定,而前馈网络在注意力层之间对每个标记进行独立转换。

仅编码器模型使用双向上下文,适用于分类或表征任务。仅解码器模型使用因果掩码,使每个位置依据前面的标记进行预测,主导生成式语言建模。编码器-解码器模型让解码器能够关注编码输入,用于翻译和结构化生成。标准形式下,注意力成本随序列长度呈二次增长,这促使出现稀疏、线性、分块、循环和状态空间等替代方案。更长的上下文增加可用证据,但并不保证召回或推理能力。

训练、适配与推理

预训练目标包括下一个标记预测、遮蔽标记重建以及序列到序列的扰动。数据混合、去重、分词器、上下文打包、优化器、调度以及计算资源决定能力。微调可以更新所有参数,或使用适配器和低秩方法;指令和偏好微调会改变行为。检索通常更适合处理变化的事实,而微调有助于格式和任务行为。需保留未触碰的评估集,并检测公共基准的污染情况。

自回归推理会存储先前标记的键值投影,以避免重新计算。延迟取决于提示处理和顺序解码;吞吐量取决于批处理、内存、缓存管理、精度和硬件。贪婪、温度、top‑k、top‑p 与束搜索等方法在确定性与多样性之间权衡。量化可降低内存占用,但可能影响稀有能力。需在实际序列长度下验证所部署的模型、分词器、提示模板、采样器和运行时环境的准确性。

评估与控制

Transformer 可能产生幻觉、遵循恶意检索指令、泄露记忆数据,或在不同语言和长上下文中表现退化。评估任务成功率、事实支持、校准、拒绝、鲁棒性、安全性、延迟和成本;分别检查证据和工具行为。使用基于权限的检索、类型化工具、外部授权、速率限制以及人为批准来处理关键操作。监控模型和提示版本、输入分布、工具错误和用户纠正。Transformer 是一种序列计算架构,并不意味着理解或保证输出真实。

案例演示:Transformer 文档助理

某公司对经批准的手册进行索引,包含文档 ID、版本、章节、权限和生效日期。基于 Transformer 的助理检索并重新排序证据,然后仅从有权限的段落并带引用进行回答。评估集包括可回答、不可回答、含糊和冲突的问题,覆盖不同角色和文档类型。检索召回率、引用精确度、基于事实的答案正确性、拒绝率、长上下文行为、延迟和成本分别计分。

检索到的文档被视为不可信数据,因此嵌入的指令无法覆盖系统策略或授权工具。用户在检索前进行身份验证,关键操作仍在模型之外。日志保存证据 ID 和版本,而不记录不必要的文档内容。监控能够检测语料库变化、不支持的答案、权限错误以及用户纠正。模型或分词器的更改会在完整测试集上重新运行,且在新系统证明安全性和质量相等或更好之前,之前的配置仍保持可用。

实施证据与运营准备

生产决策需要的不仅是成功演示。需明确预期用户、运行环境、输入、输出、依赖、负责人以及每项重要失效的后果。调优前建立可复现的基线和带版本的评估集。测试常规案例、边界条件、格式错误或缺失的输入、分布漂移、依赖中断、误用以及最可能被服务不足的群体或环境。测量任务质量及其校准或不确定性、延迟、吞吐量、资源成本、可访问性、隐私和安全性。记录每一次转换和阈值,以便独立审查员复现结果并将证据与吸引人的原型区分开来。

上线前,需指定发布、例外、变更、回滚和退役的责任人。采用分阶段发布,保留安全回退,并通过人为注入故障来验证监控。运营遥测应揭示输入质量、输出行为、模型或规则版本、依赖健康状况、人为覆盖以及已确认的结果,同时避免收集不必要的敏感数据。设定警报阈值和响应负责人,然后在部署后审查真实世界的证据,而非假设离线表现会持续。每当数据来源、用户、模型、供应商、政策、硬件或目标发生变化时都需重新评估。维护中的系统还需要有文档化的恢复、事件学习、删除与保留流程,以及明确的停用或替换时点。

常见问题

每个大型语言模型都是 Transformer 吗?

大多数当前的大型语言模型使用 Transformer 变体,但语言模型也可以基于循环、状态空间或混合架构构建。

自注意力是否意味着模型像人一样理解文本?

不是。注意力是一种学习得到的加权机制。仅凭类似人类的语言行为并不能证明具有人类水平的理解、真实性或意图。

主要参考文献

博客作者和程序员,专攻 Machine Learning 和 Deep Learning 领域。Daniel 希望帮助他人利用 AI 的力量为社会做好事。