AlibiBias 类keras_hub.layers.AlibiBias(alibi_bias_max=8, **kwargs)
一个向注意力分数添加 alibi 偏差的层。
此层将 alibi 偏差添加到注意力分数。Alibi 偏差是一种线性、非学习的偏差。其定义和形式化在 Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation 中给出。
此层以注意力分数作为输入,并在添加 alibi 偏差后返回注意力分数。输出的形状与输入相同。
参数
2**(-alibi_bias_max/num_heads),并使用相同的值作为其比率。默认为 8。keras.layers.Layer 的其他关键字参数,包括 name、trainable、dtype 等。调用参数
(batch_size, num_heads, query_length, key_length)。示例
query_length = 10
key_length = 10
num_heads = 4
batch_size = 2
hidden_dim = 8
# Create new alibi layer.
alibi_layer = keras_hub.layers.AlibiBias()
query = np.zeros((batch_size, num_heads, query_length, hidden_dim))
key = np.zeros((batch_size, num_heads, hidden_dim, key_length))
attention_scores = keras.ops.matmul(query, key)
# Add alibi bias to attention scores.
attention_scores = alibi_layer(attention_scores)
参考文献