AlibiBias
類別keras_hub.layers.AlibiBias(alibi_bias_max=8, **kwargs)
一個將 alibi bias (阿里比偏差) 加入注意力分數的層。
此層將 alibi bias (阿里比偏差) 加入注意力分數。Alibi bias (阿里比偏差) 是一種線性、非學習的偏差。定義並在 Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation 中正式闡述。
此層以注意力分數作為輸入,並在加入 alibi bias (阿里比偏差) 後傳回注意力分數。輸出將具有與輸入相同的形狀。
參數
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)
參考文獻