Transformer block › Attention
Merge attention heads
×no parametersmerge_heads(a)
Move the head axis beside the feature axis and concatenate 12 × 64 features into width 768.
- in
- [B batch, 12 heads, 1, 64 d_h]
- out
- [B batch, 1, 768 d]
Explanation
Heads are concatenated in order: head fills features .
Codemodel.py 79, 81
def merge_heads(x): return merge_states(tf.transpose(x, [0, 2, 1, 3]))Sources1
Direct evidence
The released merge_heads function reverses the head permutation and merges the final two axes.
openai · openai/gpt-2 / src/model.py
Pinned revision 9b63575ef427 ↗ · lines 79–81
Read code excerpt
def merge_heads(x):… lines 80–80 omitted …
return merge_states(tf.transpose(x, [0, 2, 1, 3]))