การออกแบบ mask สำหรับ self-attention
เพื่อให้ decoder เรียนรู้การพยากรณ์ token ได้อย่างมีประสิทธิภาพ จำเป็นต้องปิดบัง token ในอนาคตขณะประมวลผลลำดับอินพุต ในแบบฝึกหัดนี้จะสร้าง mask ในรูปแบบเมทริกซ์สามเหลี่ยมที่ประกอบด้วยค่า True และ False โดยค่า False จะอยู่ในแนวทแยงบนเพื่อตัด token ในอนาคตออก
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Transformer Models ด้วย PyTorch
คำแนะนำการฝึกหัด
- สร้างเมทริกซ์ Boolean ชื่อ
tgt_markเพื่อปิดบัง token ในอนาคตใน attention mechanism ของ decoder
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
seq_length= 3
# Create a Boolean matrix to mask future tokens
tgt_mask = (1 - torch.____(
torch.____(1, ____, ____), diagonal=____)
).____()
print(tgt_mask)