transformer进阶之路:#1 整体概述
什么是 transformertransformer 架构擅长处理本质上具有顺序性的文本数据。它以文本序列作为输入并生成另一个文本序列作为输出。例如将输入的英文句子翻译成西班牙语。它的核心是一系列编码器层和解码器层。为避免混淆我们将单个层称为「编码器」或「解码器」而将一组编码器层称为「编码器堆栈」或「解码器堆栈」。编码器栈和解码器栈各自都有对应的嵌入层用于处理各自的输入。最后还有一个输出层来生成最终的输出。所有编码器和解码器在架构上都是相同但是他们之间的权重是不共享的。编码器包含自注意力层Self-attention 和前馈层Feed-forward 前者负责计算序列中不同词汇之间的关系后者将注意力层的输出作为输入。解码器包含自注意力层和前馈层以及编码器-解码器注意力层。每个编码器和解码器都有自己的一组权重。编码器是一个可复用的模块是所有Transformer架构的核心组件。除了上述两层之外它还在这两层周围设置了残差连接并包含两个归一化层。transformer架构有很多变体。有些Transformer架构完全没有解码器只依赖于编码器后面会再写文章给大家介绍。注意力机制的作用是什么transformer 能取得突破性性能关键在于它使用了注意力机制。在处理一个词时注意力机制使模型能够关注输入中与该词密切相关的其他词。例如下面这句话ball 与 blue、holding这两个词密切相关 而 blue 与 boy 无关。transformer 架构使用的自注意力机制会把输入序列里的每一个词和其他所有词关联起来。例如考虑以下两个句子Thecatdrank the milk becauseitwas hungry.The cat drank themilkbecauseitwas sweet.在第一句中it 指的是 cat而在第二句中it 指的是 milk。当模型处理 it 这个词时自注意力机制会给模型提供更多关于其含义的信息以便模型能够将 it 与正确的词联系起来。为了让模型能处理句子意图和语义中更细微的差别transformer 为每个词都配备了多个注意力得分。例如在处理单词 it 时第一个得分突出显示了 cat而第二个得分突出显示了 hungry。因此当它解码单词 it 时例如将其翻译成另一种语言它会将 cat 和 hungry 的某些特征融入到翻译后的单词中。训练 transformertransformer 在训练阶段和推理阶段的工作方式略有不同。我们先看看训练时的数据流向。训练数据包含两部分源序列也就是输入序列比如翻译任务里的英文句子You are welcome。目标序列也就是期望的输出序列比如对应的西班牙语De nada。transformer 的目标就是学会如何同时利用输入序列和目标序列来输出正确的目标序列。transformer 处理数据的过程是这样的输入序列被转换成嵌入向量同时加入了位置编码然后喂给编码器。编码器堆栈处理这些数据并生成输入序列的一个编码表示。目标序列的开头会加上一个句子起始标记然后也被转换成嵌入向量同样加入位置编码再喂给解码器。解码器堆栈会结合上面编码器堆栈产生的编码表示一起处理这些数据最终生成目标序列的一个编码表示。输出层将这个编码表示转换成词汇概率并输出最终的输出序列。transformer 的损失函数Loss function 会用这个输出序列跟训练数据里的目标序列做比较。产生的损失值用于生成梯度通过反向传播来训练 transformer。transformer推理过程在推理阶段我们只有输入序列没有目标序列作为解码器的输入。Transformer 的目标是仅根据输入序列生成目标序列。因此就像在 Seq2Seq 模型中一样我们在一个循环中生成输出并将前一个时间步的输出序列输入到下一个时间步的解码器中直到遇到句子结束标记为止。跟 Seq2Seq 模型不同的是在每一个时间步我们不是只喂给解码器上一个词而是把到目前为止生成的所有输出序列都重新喂进去。推理阶段的数据流向是输入序列被转换成嵌入向量加位置编码喂给编码器。编码器堆栈处理这些数据生成输入序列的编码表示。这时我们不用目标序列而是用一个只包含句子起始标记的空序列。同样把它转换成嵌入向量加位置编码喂给解码器。解码器堆栈结合编码器堆栈的编码表示处理这些数据生成一个目标序列的编码表示。输出层将其转换成词汇概率并产出一个输出序列。我们取这个输出序列概率最大的词作为当前预测出的词。然后把这个词填入解码器输入序列的第二位置。这时解码器的输入序列就包含了句子起始标记 第一个预测词。回到第3步。和之前一样把新的解码器序列喂给模型。然后取这次输出的第二个词将其添加到解码器序列的末尾。重复这个过程直到模型预测出句子结束标记。注意因为编码器序列在每次迭代中都不变所以我们不必重复第1步和第2步。教师强制Teacher Forcing训练时把目标序列直接喂给解码器的做法叫做教师强制Teacher Forcing。为什么要这么做这个术语又是什么意思呢其实训练时原本可以采用和推理时一样的方法让 transformer 在一个循环里跑每次取输出序列概率最大的词拼接到解码器输入后面再喂给解码器进行下一次迭代。直到预测出句子结束标记再用损失函数比较生成的输出序列和目标序列来训练网络。但这种循环式的训练不仅会让训练时间成倍增加还会让模型更难训练。因为模型可能需要基于可能有误的第一个预测词去预测第二个词这样一步步错误就会像滚雪球一样累积。相反我们把目标序列喂给解码器等于是给了它一个提示就像老师做的那样。即使模型第一步预测错了它还是能直接用正确的第一个词去学习预测第二个词从而避免错误不断累积。此外这种并行方式也让 transformer 能在训练时一次性输出所有词无需循环极大地加速了训练。transformer 用在哪些地方transformer模型用途广泛可用于大多数自然语言处理任务例如语言模型和文本分类。它们经常用于序列到序列模型应用于机器翻译、文本摘要、问答系统、命名实体识别和语音识别等领域。针对不同的问题transformer架构有多种不同的变体。基本的编码器层是这些架构的通用构建模块而不同的「头部」则根据所要解决的问题而有所不同。用于分类的 transformer 架构以情感分析应用为例。它接收一个文本文档作为输入。一个分类头会接收 transformer 的输出然后生成对类别标签的预测比如 正面或 负面 情绪。用于语言模型的 transformer 架构语言模型架构会接收输入序列比如一个句子的前半部分然后通过预测后续句子来生成新的文本。一个语言模型头会接收 transformer 的输出并为词汇表中的每一个词生成一个概率。其中概率最高的那个词就会被作为句中下一个词的预测结果。transformer 比 RNN 强在哪里在 transformer 横空出世并取而代之之前RNN 及其变体 LSTM 和 GRU是所有自然语言处理应用事实上的标准架构。基于 RNN 的序列到序列模型表现不错。而且当注意力机制刚被提出时它首先是被用来增强 RNN 模型性能的。但RNN 有两个局限很难处理长距离依赖关系即那些在很长的句子里分布得很开的词汇之间的联系。RNN 一个接一个地顺序处理输入序列这意味着在完成第 t-1 步的计算之前无法进行第 t 步的计算。这会拖慢训练和推理的速度。顺便提一句对于 CNN 来说所有的输出都可以并行计算这让卷积操作快得多。然而CNN 在处理长距离依赖时同样存在局限在卷积层中只有那些足够近、能落在卷积核尺寸范围内的部分图像或者如果应用到文本就是部分词汇才能相互交互。那些相隔更远的元素则需要更深、层数更多的网络。transformer 架构则同时解决了这两个局限。它彻底抛弃了 RNN完全依赖于注意力机制的优势。

相关新闻

深入解析NVIDIA Isaac GR00T:下一代机器人基础模型的架构与性能

深入解析NVIDIA Isaac GR00T:下一代机器人基础模型的架构与性能

深入解析NVIDIA Isaac GR00T:下一代机器人基础模型的架构与性能 【免费下载链接】Isaac-GR00T NVIDIA Isaac GR00T N1.7 - A Foundation Model for Generalist Robots. 项目地址: https://gitcode.com/gh_mirrors/is/Isaac-GR00T NVIDIA Isaac GR00T N1.7是一…

2026/7/4 9:28:52阅读更多 →
水下目标检测技术:挑战、优化与边缘部署实践

水下目标检测技术:挑战、优化与边缘部署实践

1. 水下目标检测的技术挑战与解决方案水下目标检测作为计算机视觉在海洋监测领域的核心应用,面临着远比陆地场景复杂的多模态挑战。经过在多个海洋监测项目的实战验证,我发现传统检测模型直接迁移到水下环境时,性能下降往往达到40-60%。这种&…

2026/7/4 9:28:52阅读更多 →
Grafonnet-lib安装与配置:从0到1搭建Grafana仪表盘开发环境

Grafonnet-lib安装与配置:从0到1搭建Grafana仪表盘开发环境

Grafonnet-lib安装与配置:从0到1搭建Grafana仪表盘开发环境 【免费下载链接】grafonnet-lib Jsonnet library for generating Grafana dashboard files. 项目地址: https://gitcode.com/gh_mirrors/gr/grafonnet-lib Grafonnet-lib是一款强大的Jsonnet库&…

2026/7/4 9:28:52阅读更多 →
BruteXSS:Python自动化XSS检测工具的原理、部署与实战应用

BruteXSS:Python自动化XSS检测工具的原理、部署与实战应用

1. 项目概述:为什么我们需要 BruteXSS? 在 Web 安全测试,尤其是渗透测试的日常工作中,XSS(跨站脚本攻击)漏洞的挖掘一直是个既基础又繁琐的活儿。手动测试?效率太低,一个表单可能有十…

2026/7/4 10:29:11阅读更多 →
AI重写操作系统应用:从代码生成到系统理解的工程范式转变

AI重写操作系统应用:从代码生成到系统理解的工程范式转变

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 最近在技术社区里,一个关于“AI重写操作系统应用”的话题引起了不小的讨论。很多人第一反应是:这怎么可能&a…

2026/7/4 10:29:11阅读更多 →
DeepMind面试简历写作指南:用可验证证据链替代技术堆砌

DeepMind面试简历写作指南:用可验证证据链替代技术堆砌

1. 项目概述:一张简历如何撬动顶级AI实验室的面试机会 “This Simple Resume Got Me a Google DeepMind Interview”——这个标题在技术社区刷屏时,我正帮第三位候选人重写简历。不是靠堆砌“精通TensorFlow/PyTorch/LLaMA微调”,也不是靠包装…

2026/7/4 10:29:11阅读更多 →
医疗AI数据分布偏移检测与实时监控实战

医疗AI数据分布偏移检测与实时监控实战

1. 项目概述:当AI在医院里“认错人”,问题往往不在代码,而在数据流的暗处 “70%的医疗AI错误源于隐藏的分布偏移”——这个标题不是危言耸听,而是我在过去三年参与6个临床AI落地项目后反复验证的结论。它直指当前医疗AI最顽固、最…

2026/7/4 10:29:11阅读更多 →
AI Agent测试与监控实战:构建全生命周期质量保障体系

AI Agent测试与监控实战:构建全生命周期质量保障体系

1. 项目概述:为什么AI Agent的测试与监控是“生死线”? 如果你正在开发或部署一个AI Agent,无论是客服助手、数据分析师还是自动化流程引擎,那么“它到底靠不靠谱?”这个问题,会像达摩克利斯之剑一样悬在头…

2026/7/4 10:29:11阅读更多 →
2025年AI如何无感接管日常生活

2025年AI如何无感接管日常生活

1. 这不是科幻预告,是2025年你手机相册里刚拍下的早餐照片 “AI正在悄悄接管你的日常生活”——这句话听起来像科技媒体的标题党,但如果你昨天用手机拍了一张煎蛋,今天它自动把蛋黄调得更亮、边缘锐化得恰到好处,还顺手把背景里乱…

2026/7/4 10:24:07阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/3 14:18:39阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/3 14:38:35阅读更多 →
端到端自动驾驶:从GTC‘26看工程可信落地的核心逻辑

端到端自动驾驶:从GTC‘26看工程可信落地的核心逻辑

1. 项目概述:当算法工程师走进GTC26展厅,看到的不是芯片,而是“端到端”的呼吸节奏“端到端”这三个字,在GTC’26现场出现的频率,高得像NVLink带宽测试时的峰值曲线——它不再是一个论文里的技术路径选项,而…

2026/7/4 0:02:48阅读更多 →
缺牙修复科普:常见义齿类型与选择参考

缺牙修复科普:常见义齿类型与选择参考

缺牙修复科普:常见义齿类型与选择参考牙齿缺失是中老年人群中较为常见的口腔问题,不仅会造成咀嚼不便、进食受影响,长期还可能对营养摄入与日常社交带来困扰。义齿是改善缺牙问题的常用方式,目前市面上的义齿种类较多,…

2026/7/4 0:02:48阅读更多 →
STM32F091RC与LTC6904实现高精度方波信号生成

STM32F091RC与LTC6904实现高精度方波信号生成

1. 项目概述:LTC6904与STM32F091RC的精准方波生成方案在嵌入式系统开发中,精确的时钟信号和定时控制往往是项目成败的关键。LTC6904作为一款低功耗、高精度的可编程振荡器芯片,与STM32F091RC这款ARM Cortex-M0内核微控制器的组合,…

2026/7/4 0:02:48阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/4 1:16:56阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/4 2:33:55阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/4 2:33:55阅读更多 →