神经网络Transformer架构中的序列长度外推
字数 722 2025-11-25 12:20:05
神经网络Transformer架构中的序列长度外推
序列长度外推是指训练时使用较短序列的Transformer模型,在推理时能够处理比训练序列更长的序列。这涉及到位置编码系统的设计,使模型能够泛化到未见过的位置索引。
传统绝对位置编码(如正弦编码)在训练后无法泛化到更长序列,因为其位置索引范围在训练时已固定。当遇到超过训练长度的位置时,模型缺乏对应的编码表示,导致性能下降。这限制了模型处理长文档、长时间序列等任务的能力。
相对位置编码通过计算元素间相对距离而非绝对位置来解决此问题。例如T5模型的相对位置偏差,为每个可能的相对距离分配可学习参数。由于相对距离范围通常小于序列长度,这种编码在推理时可扩展到更长序列,只要相对距离在训练范围内出现过。
旋转位置编码(RoPE)通过旋转矩阵对查询和键进行编码,保持内积仅与相对位置相关。这种编码方式具有距离外推性,当相对距离在训练范围内时,即使绝对位置超出训练长度,模型也能保持较好性能。但超过一定范围后,外推性能仍会下降。
线性插值方法(如Positional Interpolation)在推理时将输入序列的位置索引压缩到训练范围内。例如,将超出训练长度L的位置索引i缩放为i' = i * (L / L'),其中L'是实际序列长度。这种简单方法能显著改善外推能力,但可能损失位置分辨率。
随机化训练策略在训练时随机采样序列长度,使模型接触不同长度的序列。这种多尺度训练让模型学习长度不变的特征表示,增强对未知长度的适应能力。结合适当的位置编码,可进一步提升外推性能。
外推能力对长文本理解、代码生成、科学计算等任务至关重要,使模型突破训练时的长度限制,适应真实场景中变化的序列长度需求。