Multi-Head Attention: nhiều phép chiếu độc lập rồi ghép lại

Multi-Head Attention: nhiều phép chiếu độc lập rồi ghép lại A workflow diagram generated by Archify. 01 / Head 1 02 / Head 2 · đường chính 03 / Head 3 04 / Head 4 Head 1 · bộ W_Q W_K W_V riêng · Head 1 Head 1 bộ W_Q W_K W_V riêng Hidden states X · n × d_model · Head 2 · đường chính Hidden states X n × d_model Head 2 · subspace khác · Head 2 · đường chính Head 2 subspace khác Concat · ghép h vector d_v · Head 2 · đường chính Concat ghép h vector d_v Linear W_O · trộn kết quả các head · Head 2 · đường chính Linear W_O trộn kết quả các head Multi-head output · quay lại n × d_model · Head 2 · đường chính Multi-head output quay lại n × d_model Head 3 · subspace khác · Head 3 Head 3 subspace khác Head 4 · subspace khác · Head 4 Head 4 subspace khác ghép lại dài d_model vector mới cùng một X Legend Agent logic Tool action Cloud service External system

Không phải chạy một attention nhiều lần rồi lấy trung bình

  • • Mỗi head có bộ W_Q, W_K, W_V riêng và được học độc lập
  • • Nhờ vậy mỗi head khớp trong một representation subspace khác
  • • W_O ở cuối mới là chỗ kết quả các head được trộn lại

Chi phí không tăng theo số head

  • • Transformer gốc đặt d_k = d_v = d_model chia h
  • • Với d_model 512 và h bằng 8 thì mỗi head làm việc ở 64 chiều
  • • Tổng chi phí vẫn cùng bậc với một attention full-dimension

Head làm gì là chuyện emergent

  • • Một head có thể nghiêng về quan hệ gần, head khác về phụ thuộc xa
  • • Nhưng kiến trúc không phân công trước cho head nào cả
  • • Đây là khả năng của multi-head, không phải hợp đồng cố định