A07 · 第 6 章 · 第三编 Transformer 与综合复习
长序列、效率与 Transformer 综合复习
比较 RNN、LSTM、GRU、注意力和 Transformer 的上下文范围、状态存储、训练方式及解码成本,并通过案例练习模型选择。
本章目标
- 用状态、可并行性、归纳偏置、梯度路径和有效上下文比较RNN、LSTM、GRU、注意力与Transformer。
- 区分训练时整段并行、教师强制与部署时逐步生成,估算循环状态和KV缓存成本。
- 解释标称上下文长度为何不等于任务所需信息被可靠利用,并设计按距离分层的检验。
- 依据流式性、延迟、内存、监督量、输出形式和未来信息可用性选择序列方案。
- 根据逐层张量形状、掩码规则、长短上下文基线和端到端指标核验实现。
本页目录
序列任务的部署要求
选择模型之前,要先确定一个时刻究竟能看到什么。对输入 ,离线分类可以使用整段甚至双向上下文;在线告警在时刻 只能依赖 ;预测未来 步还要说明是一次并行输出,还是把已生成结果继续喂回模型。若训练读取未来而部署不能读取,验证分数再高也不代表系统可用。
合同至少包括采样率、最长与典型长度、输出频率、端到端延迟、峰值内存、缺失与乱序规则、监督量、允许的未来窗口和评价指标。还要区分输入长度与依赖距离:一万个时间点的序列不一定需要一万个点全部精确交互,关键证据也可能只在最近二十步。模型宽度和窗口应由这种信息结构决定,而不是由“长序列”标签决定。
所有候选方案先共享同一数据切分。时间序列不得把同一对象相邻窗口随机分到训练与测试中,否则重叠片段会泄漏。归一化统计只能用训练段估计,padding、缺失值和真实零值要有不同语义。只有输入合同一致,结构比较才有意义。
RNN 的隐藏状态
循环网络按
更新。推理只需保留 ,新增一步的状态内存不随已见长度增长,天然适合流式输入。时间顺序由递推结构直接编码,不必额外加入位置向量。这种强归纳偏置在数据较少、局部动态明确时可能有效。
代价是时间轴无法在单层内完全并行: 必须等待 。训练的反向路径跨越许多递推 Jacobian,可能消失或爆炸;固定宽度状态还是信息瓶颈,早期细节必须经过反复压缩。截断反向传播只在有限片段上求梯度,能控制内存,却同时切断更远的直接学习信号。
考虑标量递推 ,初态为零。输入先为 ,则 ;第二步为 ,则 。
若顺序交换,第一步得到约 ,第二步得到 。相同元素集合产生不同末状态,说明递推已编码顺序;但只交付末状态时,中间两个输入不能从一个标量中唯一恢复,也显示固定状态的压缩边界。
LSTM 与 GRU 的门控机制
LSTM维护细胞状态 和隐藏状态 。遗忘门决定旧细胞保留多少,输入门决定候选内容写入多少,输出门决定暴露多少。加法更新 给梯度提供较直接路径。GRU把长期状态与输出状态合并,以更新门在旧状态和候选状态之间插值,门和参数通常少于同宽度LSTM。
门控改善可学习性,但不保证任意远依赖都被保存。若遗忘门长期小于一,连乘仍会衰减;若状态宽度不足,多个事件仍会竞争容量。LSTM、GRU也保持时间递推,不能像整段自注意力那样一次计算同层全部位置。选择二者应比较实际延迟、参数、状态和任务分数,不应把“更复杂”当作恒定优势。
某一维旧细胞为 ,遗忘门 ,输入门 ,候选值 ,输出门 。先算保留量 ,再算写入量 ,故 ;隐藏输出为 。
若把遗忘门误当成“丢弃比例”而使用 ,会得到 ,语义和数值都改变。实现核验应分别记录门取值范围、旧状态贡献、候选贡献和更新后状态,而不能只看最终损失。
注意力与序列记忆
注意力不要求把全部历史塞进一个向量。查询 与各键 计算相似度,softmax 权重再对值 加权。目标位置可以直接读取较远源位置,最短信息路径不随距离线性增长。交叉注意力尤其清楚:解码查询读取一组编码记忆,查询长度和记忆长度可以不同。
注意力本身不是完整序列架构,也不天然知道先后。没有位置表示时,重排键值会相应重排权重,但聚合结果对同一集合具有置换性质。自注意力还必须根据任务使用padding、因果或局部mask;被禁止位置应在softmax前不可见。多头机制提供多个投影子空间,但头数增加不自动产生不同语义,需由任务和优化学习。
全自注意力的分数张量含 个位置对。它适合硬件上的大矩阵并行,却在长序列上带来计算和训练激活内存压力。“并行”描述的是同一层不同位置可一起算,不代表层与层之间无依赖,也不代表自回归部署能同时生成未知的未来token。
批量 、长度 、模型宽度 。单层RNN输出形状可为 ,但沿时间必须完成六次状态更新;批次和通道矩阵运算仍可并行。双头自注意力取每头宽四,Q、K、V为 ,分数为 ,六个查询可在一次批量运算中处理。
若做因果预测,注意力上三角被屏蔽。训练已知完整目标前缀时,六个位置的损失可同时计算;部署时第六个token未知,仍要先生成前五个。因而正确结论是“Transformer训练时间轴可并行,因果生成时间轴仍串行”,而不是笼统地说它没有顺序依赖。
Transformer 的结构
Transformer块用多头注意力在位置间传递信息,用逐位置FFN在通道内进行非线性变换,再由残差和LayerNorm维持形状与优化路径。编码器允许有效位置双向读取,因果解码器只能读取当前与过去,编码器—解码器结构还用cross-attention读取源记忆。绝对、相对或旋转位置机制补上顺序结构,各自的长度外推假设不同。
与RNN相比,Transformer的归纳偏置更弱:任意两个允许位置可直接交互,距离本身必须由位置机制表达。这常适合大数据和异质依赖,却可能需要更多监督、正则与算力。训练稳定性也不能只归功于注意力;初始化、pre-norm或post-norm、残差尺度、学习率预热、精度和损失归约共同决定结果。
在自回归推理中,缓存每层过去token的K和V,当前步只计算新查询与缓存的键值,避免反复重算旧位置。缓存让单步计算从重新处理整个前缀下降,但缓存长度仍随生成序列增长,当前查询仍要读取越来越多键。RNN则只保留固定宽度递推状态;二者用不同方式交换可访问信息和资源。
设decoder-only模型有十二层、宽度 ,K/V总宽均为512,缓存用FP16。每个token每层保存K和V,故每个序列每token占 字节,约24 KiB;长度2048时约48 MiB。四束搜索若不能共享前缀缓存,约需192 MiB,尚未计临时张量和分配开销。
同宽十二层普通RNN只保存每层一个隐藏向量,FP16约为 KiB;LSTM同时保存 与 ,约24 KiB。这个比较只说明在线状态的数量级,不说明RNN精度更高。最终选型还要在同一任务上测依赖能力、吞吐、首token延迟和峰值内存。
序列模型的比较维度
状态方面,RNN保存单一递推摘要,LSTM保存细胞与隐藏状态,GRU保存门控隐藏状态;注意力保存可读取的键值集合,Transformer还保存逐层表示或解码缓存。固定状态资源稳定但会压缩历史,显式记忆保留细节但资源随长度增加。
并行方面,循环模型的层内时间轴串行,自注意力训练可并行全部已知位置;自回归输出对所有模型都受未知未来约束。归纳偏置方面,循环结构偏好邻近更新与顺序,卷动状态自然适应流式;自注意力偏好内容寻址,位置与局部性需显式提供。
稳定性方面,普通RNN面临长Jacobian链,门控提供加法状态路径;Transformer缩短信号跨位置路径,但深层仍依赖残差、归一化、初始化和优化计划。上下文方面,要区分标称窗口、训练中见过的长度和真正影响输出的有效上下文。解码方面,循环状态固定,Transformer缓存增长;波束搜索会同时复制或重排各候选状态。
任务适配方面,整段分类可比较双向GRU与编码器Transformer;低延迟传感器流优先测试因果GRU或小型因果模型;源到目标转换可用编码器—解码器和cross-attention;长文本自回归生成通常使用因果Transformer,但仍受缓存和解码串行限制。没有一个结构在七个维度上无条件占优。
长上下文的距离分层实验
标称窗口为8192,不等于模型可靠使用第一个token。训练长度分布、位置机制、有限精度、注意力稀释和数据中远距信号稀少,都可能让有效上下文更短。评估应把关键证据放在不同距离,保持其他内容与难度一致,报告准确率或损失随距离的曲线,而非只报告平均值。
至少设置短窗口基线、完整窗口、打乱远距证据和删除远距证据。若完整窗口不优于短窗口,可能任务无需远距信息,也可能模型没有利用;删除关键证据后仍不变,需检查数据泄漏或模型走了捷径。长度外推要单独测试超过训练范围的样本,不能由训练内插结果推断。
降低成本可以分块、滑动窗口、下采样、稀疏连接或近似注意力,但它们改变了可访问信息。分块若没有跨块状态会切断依赖;下采样可能丢失短暂事件;近似机制可能对少数尖锐匹配不准确。每个优化都应写出保留的连接、最坏复杂度和任务误差,而不是只报理论阶数。
训练目标与解码策略
教师强制用真实前缀预测下一步,使因果Transformer和RNN都能计算每个位置的监督;Transformer可并行这些位置,RNN仍递推。部署时模型读到自己的输出,误差会改变后续输入分布。训练损失衡量条件预测,贪心、束搜索或随机采样则决定怎样从条件分布产生序列,二者是不同接口。
贪心每步取最大概率,便宜但不保证全序列最优;束搜索保留多个累计分数候选,需处理长度归一化、终止符和状态重排;温度、top-k或top-p采样用于控制随机生成分布。分类与回归序列不一定需要这些文本解码策略。应从输出语义选择解码,而不是因为使用Transformer就默认采样。
综合案例:约束下的模型选择
设备每秒接收100帧、每帧64个特征,必须每10毫秒更新告警;只能看过去,模型与运行状态可用内存32 MiB。标注只有两百台设备,异常通常表现为最近两秒的频率演化,部署端不得等待整段。先排除双向编码器,因为它读取未来;完整两千步自注意力既超出必要依赖,也让分数和缓存预算紧张。
候选为一层因果GRU与小型局部因果Transformer。先固定两秒即200步输入合同、按设备切分,并让两者参数量接近。测量端到端第九十五百分位延迟、峰值内存、召回率、每小时误报和从冷启动到稳定状态的时间。若GRU在设备上为4毫秒、8 MiB且达到召回要求,而Transformer为13毫秒,即使后者离线准确率稍高,也应选择GRU作为实时方案,因为Transformer违反10毫秒硬约束。
随后用状态重置、丢帧和连续运行测试确认GRU部署语义。若另有不受实时约束的维修报告分析,可独立训练长窗口Transformer作为离线辅助,但不能用它的分数替代实时模型验收。选型结论来自合同、同切分对照和真实硬件测量,而非“新架构通常更强”。
实现中的不变量检查
第一,列出每个张量的批次、时间、头和通道轴,确认残差两端同形。第二,构造极小序列,人工验证padding和因果mask;改变被屏蔽token不得影响允许查询。第三,让模型过拟合少量样本,并比较短窗口、完整窗口与无序基线。第四,训练与评估分别记录损失、任务指标、吞吐、延迟、峰值内存和按依赖距离分组的结果。
流式模型还要测试分块运行与一次整段运行是否在允许误差内一致,明确何时清空状态。缓存解码要比较有缓存与无缓存的logits,并在截断、束重排和批次结束时正确管理缓存。固定随机种子只能帮助复现,不能代替跨种子报告;理论复杂度也不能代替目标硬件测量。
练习
说明普通RNN为何既有顺序偏置又有信息瓶颈。
查看提示
查看解答
解释为什么LSTM不能保证记住任意远事件。
查看提示
查看解答
说明因果Transformer为何训练可并行而生成仍串行。
查看提示
查看解答
计算指定decoder-only模型的KV缓存并说明束搜索影响。
查看提示
查看解答
设计实验判断模型是否真正使用远距离证据。
查看提示
查看解答
为低延迟传感器任务给出选型流程。
查看提示
查看解答
概念关系
- 循环神经网络与门控机制 提供递推状态、LSTM与GRU更新。
- 序列训练、教师强制与截断反传 区分训练目标和部署输入。
- 注意力机制 解释查询对显式记忆的内容寻址。
- 多头注意力与位置表示 补充头轴、mask和顺序编码。
- 编码器、解码器与Transformer架构 连接残差块、cross-attention和KV缓存。
- 自回归模型 延伸条件分解与逐步生成。
- 深度学习工程综合复习 延伸精度、性能与部署证据。
资源
Attention Is All You Need
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin · 2017 · Advances in Neural Information Processing Systems 30
打开官方来源Deep Learning
Ian Goodfellow, Yoshua Bengio, Aaron Courville · 2016 · MIT Press
打开官方来源《Attention Is All You Need》用于核对编码器—解码器、多头注意力、前馈子层、掩码和原始翻译实验;《Deep Learning》用于核对序列条件建模、优化与泛化基础。本章把标准 Transformer 作为基线接口,长序列效率、缓存和外推结论均另行验证,不归入原论文保证。