Dictionary · กลไกโมเดล · 33 / 291

Attention Mechanism

กลไกที่ทำให้ AI รู้ว่าควรโฟกัสคำไหนในข้อความ โดยให้น้ำหนักความสำคัญแต่ละคำไม่เท่ากัน เป็นหัวใจของ Transformer ที่อยู่เบื้องหลังโมเดลภาษายุคปัจจุบัน

Attention mechanism คือกลไกใน model AI ที่คำนวณว่าแต่ละส่วนของข้อมูลขาเข้า เช่นแต่ละคำหรือแต่ละ token ในประโยค มีความสำคัญมากน้อยแค่ไหนเมื่อเทียบกับส่วนอื่นๆ ทั้งหมด แทนที่จะอ่านทุกคำด้วยน้ำหนักเท่ากัน โมเดลจะ "เลือกโฟกัส" ส่วนที่เกี่ยวข้องกับสิ่งที่กำลังประมวลผลอยู่มากที่สุด คล้ายเวลาเราอ่านอีเมลยาวๆ แล้วสายตาจับเฉพาะประโยคที่ตอบคำถามในใจเรา: คำว่า "มัน" ในประโยคหนึ่งจะถูกโยงกลับไปหาคำนามที่มันอ้างถึงได้ แม้สองคำนั้นจะอยู่ห่างกันหลายบรรทัดก็ตาม

เบื้องหลังคือการคำนวณสามส่วนที่เรียกว่า query, key, value: query คือ "สิ่งที่กำลังมองหา" key คือ "ป้ายกำกับของข้อมูลที่มีอยู่" และ value คือ "เนื้อหาจริง" โมเดลจับคู่ query กับ key เพื่อให้คะแนนความเกี่ยวข้อง แล้วแปลงคะแนนเป็นน้ำหนักที่รวมกันได้ 1 ผ่านฟังก์ชัน softmax น้ำหนักนี้ไม่ตายตัว แต่เปลี่ยนไปตามบริบทของข้อความทุกครั้ง จุดแข็งสำคัญของแบบ self-attention คือทุกตำแหน่งในข้อความ "มองเห็น" ทุกตำแหน่งพร้อมกัน จึงประมวลผลขนานกันบน gpu ได้เต็มที่ (ข้อยกเว้นที่ควรรู้: โมเดลตระกูล GPT ที่ไล่สร้างข้อความทีละ token ใช้ causal masking กำกับ แต่ละตำแหน่งจึงมองเห็นเฉพาะตำแหน่งก่อนหน้าตัวเอง ไม่เห็นสิ่งที่ยังไม่ถูกสร้าง แต่ยังคำนวณขนานกันได้อยู่ดี) ต่างจาก neural-network แบบ recurrent (RNN) ยุคก่อนที่ต้องไล่อ่านทีละคำ ทำให้ข้อมูลจากต้นประโยคค่อยๆ จางหายเมื่อประโยคยาวขึ้น แนวคิดนี้เริ่มใช้จริงกับงานแปลภาษาด้วยโมเดลแบบ seq2seq ราวปี 2014 จากเปเปอร์ "Neural Machine Translation by Jointly Learning to Align and Translate" ของ Bahdanau, Cho และ Bengio ก่อนที่เปเปอร์ "Attention Is All You Need" (2017) จะเสนอสถาปัตยกรรม transformer ที่ใช้ attention ล้วนๆ โดยตัดการวนซ้ำแบบ RNN และ convolution ทิ้งทั้งหมด

เหตุที่คนทำงานยุค AI ควรรู้จักคำนี้: attention คือรากฐานของ llm ยุคปัจจุบัน ตั้งแต่ BERT ถึงตระกูล gpt และยังถูกนำไปใช้นอกวงภาษา เช่นงาน computer-vision (Vision Transformer) และการพยากรณ์โครงสร้างโปรตีนของ AlphaFold ข้อจำกัดของมันยังอธิบายพฤติกรรมที่เราเจอในชีวิตจริงด้วย: ขนาดตาราง attention โตเป็น "กำลังสอง" ของจำนวน token ยิ่งใส่เอกสารยาว จำนวนการจับคู่เทียบกันยิ่งเพิ่มเร็วมาก (ฝั่งหน่วยความจำ เทคนิคอย่าง FlashAttention ตั้งแต่ปี 2022 ช่วยลดภาระลงได้มากเพราะไม่ต้องกางตารางทั้งใบเก็บไว้ แต่ปริมาณการคำนวณยังโตแบบกำลังสองเหมือนเดิม) นี่คือเหตุผลเชิงเทคนิคข้อหนึ่งที่ context-window ของทุกโมเดลมีเพดาน และทำไมการคัดเฉพาะข้อมูลที่จำเป็นใส่ prompt จึงมักได้ผลดีกว่าเทเอกสารทั้งกองลงไป

ตัวอย่างจากบทสนทนาจริง

ถาม: "ผมนึกว่า AI อ่านข้อความจากซ้ายไปขวาทีละคำเหมือนคนอ่านหนังสือ แล้วทำไมพอสั่งให้สรุปรายงาน 30 หน้า มันถึงรู้ว่าคำว่า 'ตามตารางข้างต้น' ในหน้า 25 หมายถึงตารางไหน"

ตอบ: "เพราะข้างในมี attention mechanism ครับ ทุก token ในเอกสารถูกจับเทียบกับ token อื่นๆ ว่าเกี่ยวข้องกันแค่ไหน แล้วให้น้ำหนักไม่เท่ากัน คำว่า 'ตารางข้างต้น' เลยถูกโยงกลับไปหาตารางที่มันอ้างถึงได้โดยตรง ไม่ต้องไล่อ่านตามลำดับ แต่ก็มีต้นทุนนะครับ: การจับเทียบนี้แพงขึ้นแบบกำลังสองตามความยาวเอกสาร เอกสารยาวมากๆ จึงช้าลงและมีเพดานความยาวที่รับได้"

ระวังสับสนกับ

  • transformer : transformer คือสถาปัตยกรรมโมเดลทั้งตัวที่ประกอบขึ้นจาก attention หลายชั้นบวกส่วนประกอบอื่น ส่วน attention mechanism คือกลไกชิ้นในที่ทำหน้าที่คำนวณน้ำหนักความสำคัญ · เปรียบเหมือนเครื่องยนต์กับรถทั้งคัน
  • attention-budget : เป็นคำเชิงการใช้งานที่หมายถึง "โควตาความโฟกัส" อันจำกัดของโมเดลเมื่อ context ยาวขึ้น ส่วน attention mechanism คือกลไกคณิตศาสตร์เบื้องหลังที่ทำให้เกิดข้อจำกัดนั้น

ดูคำนี้ใน Knowledge Atlas →

■ ไม่อยากพลาดของใหม่

อ่านจบแล้วอยากตามเรื่อง AI แบบนี้ต่อทุกวัน เรามีสรุปข่าวภาษาไทยส่งทาง LINE ทุกเช้า กดเพิ่มเพื่อนไว้ได้เลย ไม่มีค่าใช้จ่าย

เพิ่มเพื่อนใน LINE →
QR เพิ่มเพื่อน LINE ของ TRAINIAC AIคอมพิวเตอร์สแกนด้วยมือถือได้เลย

AICache tokens