这是 PyTorch 中 Transfor mer-XL:超越固定长度上下文的专心语言模型的实现。
Transformer 的注意力跨度有限,等于并行训练序列的长度。所有这些位置都有固定的位置编码。Transformer XL 通过让每个位置关注过去预先计算的嵌入次数,从而延长了这种注意力跨度。例如,如果上下文长度为,它将保留前一批长度的所有层的嵌入并将其馈送到当前步骤。如果我们使用固定位置编码,这些预先计算的嵌入将与当前上下文具有相同的位置。它们引入了相对位置编码,其中位置编码是在注意力计算时引入的。
相对多头注意力的带注释的实现已经开始relative_mha.py
了。