Cài đặt multi-head attention
Trước khi bạn bắt tay xây dựng lớp MultiHeadAttention của riêng mình, hãy thử sử dụng lớp này để xem nó biến đổi các ma trận query, key và value như thế nào. Hãy nhớ rằng các ma trận này được tạo ra bằng cách chiếu các embedding đầu vào thông qua các phép biến đổi tuyến tính với trọng số được học.
Các ma trận query, key, và value đã được tạo sẵn cho bạn, và MultiHeadAttention cũng đã được định nghĩa sẵn.
Bài tập này là một phần của khóa học
Các mô hình Transformer với PyTorch
Hướng dẫn bài tập
- Định nghĩa các tham số attention cho tám head và embedding đầu vào có kích thước
512. - Tạo một thể hiện của lớp
MultiHeadAttentionbằng các tham số đã định nghĩa. - Truyền các ma trận
query,key, vàvaluequa cơ chếmultihead_attn.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Define attention parameters
d_model = ____
num_heads = ____
# Instantiate a MultiHeadAttention instance
multihead_attn = ____
# Pass the query, key, and value matrices through the mechanism
output = ____
print(output.shape)