Skip to content
Tayakorn

คู่มือ Transformer — ลบทุกอย่าง เหลือแค่กราฟ

LEVEL 2 · ระดับกลาง

ตัดทุกอย่างออก เหลือแค่การมองหากัน

ปี 2017 มีงานวิจัยชื่อ Attention Is All You Need ออกมา และชื่อของมันคือใจความทั้งหมด — ไม่ใช่การถ่อมตัว ไม่ใช่การเล่นคำ มันเป็นคำประกาศถึงสิ่งที่ทีมนั้นทำจริง ๆ

คำถามที่พวกเขาถามคือคำถามที่ฟังดูบ้าในตอนนั้น: ถ้ากลไกการมองหากันที่แปะเสริมไว้มันดีนัก จะเกิดอะไรขึ้นถ้าเราเอาส่วนที่เป็นแกนหลักออกให้หมด แล้วเหลือแต่ของเสริม

ผลคือได้สถาปัตยกรรมที่ไม่มีหน่วยความจำแบบไล่ลำดับเลยแม้แต่ชิ้นเดียว มีแต่การมองหากันเป็นชั้น ๆ ซ้อนกัน และมันชนะทุกอย่างในยุคนั้น

ของเสริมกลายเป็นทั้งหมด และแกนเดิมถูกลบทิ้ง — นี่คือแถวที่สามในตารางบทที่ 1

8.1 ราคาที่ต้องจ่ายทันทีเมื่อลบลำดับออก

การลบการไล่ลำดับทิ้งไม่ได้มาฟรี และตรงนี้คือจุดที่คนอ่านผ่านกันเยอะที่สุด

LSTM รู้ลำดับของคำ โดยอัตโนมัติ เพราะมันอ่านทีละคำตามเวลาจริง คำที่มาก่อนก็ถูกประมวลผลก่อนโดยธรรมชาติของกลไก แต่เมื่อทุกตำแหน่งถูกมองพร้อมกันหมด ข้อมูลเรื่องลำดับหายไปทั้งก้อน โมเดลจะแยกไม่ออกเลยว่า "กรกินหมา" กับ "หมากินกร" ต่างกัน เพราะมันเห็นแค่กองคำที่ไม่มีลำดับ

ทางแก้คือใส่ข้อมูลตำแหน่งกลับเข้าไปเองในรูปตัวเลขที่ผสมเข้ากับข้อมูลของแต่ละโทเค็น เรียกว่า positional encoding สังเกตให้ดีว่านี่คือแบบแผนที่จะเจอซ้ำ: ลบสิ่งที่มนุษย์ใส่ไว้ออก แล้วถ้าจำเป็นก็เอากลับเข้ามาในรูปที่โมเดลเรียนรู้ต่อได้เอง ไม่ใช่ในรูปกฎที่ตายตัว

8.2 ชิ้นส่วนที่ต้องมาเป็นชุด ไม่ใช่แค่ attention

ความเข้าใจผิดที่พบบ่อยคือคิดว่างานปี 2017 มีแค่ attention ความจริงคือมันเป็นการประกอบเทคนิคที่พิสูจน์ตัวเองมาแล้วเข้าด้วยกันอย่างพอดี และถ้าขาดชิ้นใดชิ้นหนึ่งไป มันเทรนไม่ขึ้น

ชิ้นส่วนมีไว้ทำอะไรถ้าไม่มีจะเป็นยังไง
Residual connectionให้สัญญาณวิ่งผ่านชั้นลึก ๆ ได้เทรนโมเดลลึกไม่ขึ้น
Layer normalizationคุมสเกลของตัวเลขในแต่ละชั้นค่าระเบิดหรือดับกลางทาง
Multi-head attentionมองหากันหลายแบบพร้อมกันในชั้นเดียวจับความสัมพันธ์ได้แบบเดียวต่อชั้น
Positional encodingบอกว่าโทเค็นไหนอยู่ตำแหน่งไหนแยกลำดับคำไม่ออก
MLP ขยาย 4 เท่าที่ให้แต่ละโทเค็นคิดของตัวเองมีแต่การรับส่ง ไม่มีการคิด

สองชิ้นแรกคือคำตอบข้อที่สองของปริศนาในบทที่ 1 (เรื่องความง่ายในการเทรน) และบทที่ 11 จะให้คุณพิสูจน์มันด้วยการรันโค้ดเอง ไม่ใช่เชื่อตามตาราง

💡 Multi-head แปลว่าอะไรจริง ๆ — แทนที่จะให้แต่ละชั้นมองหากันได้แบบเดียว เราแบ่งช่องข้อมูลออกเป็นหลายกลุ่ม แต่ละกลุ่มมองหากันเป็นเอกเทศ แล้วเอาผลมารวมกัน เหมือนอ่านเอกสารเดียวกันด้วยคนหลายคนที่ได้รับคำสั่งให้จับใจความคนละแบบ แล้วเอาบันทึกของทุกคนมารวม — คนหนึ่งดูว่าประธานอยู่ไหน อีกคนดูว่าคำไหนขยายคำไหน

Read the full book