← คู่มือ Transformer — ลบทุกอย่าง เหลือแค่กราฟ
LEVEL 3 · ระดับสูง
หน้ากากสามแบบ = โมเดลสามตระกูล
บทนี้จะให้ผลตอบแทนที่ดีเกินคาด เพราะมันเฉลยว่าโมเดลที่คุณเคยได้ยินชื่อมาทั้งหมด — BERT, GPT, T5, Whisper — ไม่ได้ต่างกันที่สถาปัตยกรรม พวกมันใช้ของชิ้นเดียวกันกับที่คุณเพิ่งรันในบทที่แล้ว ต่างกันแค่เรื่องเดียว: ใครถูกอนุญาตให้มองเห็นใคร
-inf ก่อนเข้า softmax จึงเหลือน้ำหนักศูนย์พอดี| ตระกูล | ตัวอย่าง | เงื่อนไขการมองเห็น | เหมาะกับงาน |
|---|---|---|---|
| Encoder-only | BERT | ทุกโน้ดมองเห็นกันหมด ไม่มีหน้ากาก | จำแนกประเภท วิเคราะห์อารมณ์ ทำเวกเตอร์แทนความหมาย |
| Decoder-only | GPT | มองเห็นเฉพาะตัวเองกับอดีต | ผลิตข้อความต่อเนื่อง โมเดลภาษาขนาดใหญ่ |
| Encoder-decoder | T5, Whisper | ฝ่ายเข้ารหัสมองกันหมด ฝ่ายถอดรหัสเห็นแต่อดีต และมองข้ามไปหาฝ่ายเข้ารหัสได้ | แปลภาษา ถอดเสียงเป็นข้อความ สรุปความ |
10.1 ทำไม GPT ต้องปิดอนาคต
เหตุผลไม่ใช่เรื่องเทคนิค แต่เป็นเรื่องความซื่อสัตย์ของการฝึก
งานที่ GPT ฝึกคือทำนายโทเค็นถัดไปจากโทเค็นที่ผ่านมา ถ้าตอนเทรนเราปล่อยให้โน้ดตำแหน่งที่ห้ามองเห็นโน้ดตำแหน่งที่หกได้ มันก็แค่ลอกคำตอบ ค่าความผิดพลาดจะสวยงามมากระหว่างเทรน แล้วพอเอาไปใช้จริงที่ไม่มีอนาคตให้ลอก มันจะทำอะไรไม่ได้เลย
หน้ากากแบบสามเหลี่ยมจึงไม่ใช่ข้อจำกัดที่น่ารำคาญ มันคือสิ่งที่ทำให้การฝึกมีความหมาย และการที่มันเป็นแค่การเติม -inf ลงครึ่งหนึ่งของตารางก่อน softmax คือความประหยัดที่น่าทึ่ง — เปลี่ยนพฤติกรรมของโมเดลทั้งตระกูลด้วยการแก้ตัวเลขในตารางเดียว
10.2 Cross-attention — สะพานที่ปิดวงเรื่องทั้งหมด
ตระกูลที่สามมีของเพิ่มมาหนึ่งอย่างที่ควรสังเกต ฝ่ายถอดรหัสไม่ได้มองแต่ในกลุ่มตัวเอง มันสร้าง Query ของตัวเองแล้วไปจับกับ Key และ Value ของฝ่ายเข้ารหัส เรียกว่า cross-attention
ตรงนี้คือจุดที่เรื่องทั้งเล่มปิดวง เพราะสิ่งนี้คือกลไกเดียวกับที่ Bahdanau คิดขึ้นในปี 2014 เพื่ออุดคอขวดในบทที่ 7 — ให้ฝ่ายถอดรหัสย้อนกลับไปมองต้นทางได้ ต่างกันแค่ตอนนี้มันไม่ได้แปะอยู่บน LSTM อีกแล้ว มันคือกลไกเดียวกับที่ใช้ทำทุกอย่างในสถาปัตยกรรม