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]]
请注意,当查询和键/值张量的序列长度相等时,这些变体彼此等效,因为三角矩阵是方形的。
警告
此枚举是一个原型,可能会发生变化。