评价此页

torch.nn.attention.bias.CausalBias#

class torch.nn.attention.bias.CausalBias(variant, seq_len_q, seq_len_kv)[source]#

一个表示因果注意力模式的偏差。有关偏差结构的概述,请参阅 CausalVariant 枚举。

此类用于定义因果(三角形)注意力偏差。用于构建偏差,有两种工厂函数:causal_upper_left()causal_lower_right()

示例

from torch.nn.attention.bias import causal_lower_right

bsz, num_heads, seqlen_q, seqlen_kv, head_dim = 32, 8, 4, 12, 8

# Create a lower-right causal bias
attn_bias = causal_lower_right(seqlen_q, seqlen_kv)

q = torch.randn(
    bsz, num_heads, seqlen_q, head_dim, device="cuda", dtype=torch.float16
)
k = torch.randn(
    bsz, num_heads, seqlen_kv, head_dim, device="cuda", dtype=torch.float16
)
v = torch.randn(
    bsz, num_heads, seqlen_kv, head_dim, device="cuda", dtype=torch.float16
)

out = F.scaled_dot_product_attention(q, k, v, attn_bias)

警告

此类是原型,可能会发生更改。