CausalVariant¶
- class torch.nn.attention.bias.CausalVariant(value)[源代码]¶
用于注意力机制中的因果变体的枚举。
定义两种类型的因果偏差
UPPER_LEFT:表示标准因果注意力的左上三角偏差。构建此偏差的等效 PyTorch 代码为
torch.tril(torch.ones(size, dtype=torch.bool))
例如,对于 shape=(3,4),具体化的偏差张量将为
[[1, 0, 0, 0], [1, 1, 0, 0], [1, 1, 1, 0]]
LOWER_RIGHT:表示右下三角偏差,包含的值与矩阵的右下角对齐。
构建此偏差的等效 PyTorch 代码为
diagonal_offset = size[1] - size[0] torch.tril( torch.ones(size, dtype=torch.bool), diagonal=diagonal_offset, )
例如,对于 shape=(3,4),具体化的偏差张量将为
[[1, 1, 0, 0], [1, 1, 1, 0], [1, 1, 1, 1]]
请注意,当查询和键/值张量的序列长度相等时,这些变体彼此等效,因为三角矩阵是方形的。
警告
此枚举是原型,可能会发生变化。