Shortcuts

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]]

请注意,当查询和键/值张量的序列长度相等时,这些变体彼此等效,因为三角矩阵是方形的。

警告

此枚举是一个原型,可能会发生变化。

优云智算