"Attention Sink Detector" ตัวใหม่ช่วยตรวจจับโทเคน (tokens) ที่กักเก็บมวลความสนใจ (attention mass) ส่วนใหญ่ไว้ในช่วงขั้นตอน prefill ของการอนุมาน (inference) ในโมเดลภาษาขนาดใหญ่ (LLM) เครื่องมือนี้แสดงให้เห็นว่าการลบ sink tokens เหล่านี้ออกจาก KV cache จะทำให้ประสิทธิภาพของโมเดลลดลงอย่างรุนแรง ทำให้โทเคนเหล่านี้เป็นจุดยึด (anchors) ที่สำคัญสำหรับการสร้างข้อความที่เสถียร

ทำไมขั้นตอน prefill ถึงสำคัญ

งานวิจัย LLM ส่วนใหญ่มักมุ่งเน้นไปที่ลูปการสร้างข้อความแบบทีละโทเคน (token-by-token generation loop) แต่กระบวนการที่เกิดขึ้นก่อนโทเคนแรก—นั่นคือ prefill—คือสิ่งที่กำหนดทิศทางของทุกอย่างที่จะตามมา ในระหว่างขั้นตอน prefill โมเดลจะประมวลผล prompt ทั้งหมด สร้าง KV cache และกระจายความสนใจ (attention) ไปยังทุกตำแหน่ง เนื่องจาก softmax ที่สร้างน้ำหนักความสนใจ (attention weights) จะต้องมีผลรวมเท่ากับ 1 โมเดลจึงไม่สามารถบอกว่า "ไม่มีอะไรเกี่ยวข้องเลย" ได้ โมเดลจึงเทมวลความน่าจะเป็นที่เหลือไปยังโทเคนหนึ่งที่เข้าถึงได้ง่าย ซึ่งมักจะเป็นโทเคนแรกในลำดับ โทเคนนั้นจึงกลายเป็น attention sink

Attention sink คืออะไร (อธิบายแบบง่ายๆ)

ใน Transformer แต่ละ head จะคำนวณน้ำหนักสำหรับคู่โทเคนทุกคู่ เมื่อการกระจายตัวเบ้ไปทางใดทางหนึ่งอย่างมาก โทเคนเพียงตัวเดียวอาจได้รับส่วนแบ่งน้ำหนักความสนใจที่มากเกินสัดส่วน ปรากฏการณ์นี้ไม่ใช่ข้อผิดพลาด (bug) แต่เป็นผลมาจากข้อจำกัดของ softmax โทเคนแรก (ซึ่งมักจะเป็นเครื่องหมายเริ่มต้นประโยค) ทำหน้าที่เป็น "วาล์วระบาย" (release valve) สำหรับความน่าจะเป็นส่วนที่เหลือที่ไม่สามารถจัดสรรให้กับส่วนอื่นได้

ความสำคัญของการจัดการ KV-cache

KV cache ทำหน้าที่เก็บเวกเตอร์ key และ value สำหรับทุกโทเคนที่มีการประมวลผลแล้ว ช่วยให้สามารถค้นหาข้อมูลได้อย่างรวดเร็วในระหว่างการสร้างข้อความ ในสถานการณ์ที่มีบริบท (context) ยาวๆ ผู้ใช้งานมักจะตัดทอน (prune) cache เพื่อให้อยู่ภายในขีดจำกัดของหน่วยความจำ GPU เครื่องมือตรวจจับตัวใหม่นี้แสดงให้เห็นว่า การลบโทเคนที่มีลักษณะ "ไม่สำคัญ" ออกไปอย่างไม่เลือกหน้า จะเป็นการลบ sink tokens ที่โมเดลต้องพึ่งพาด้วย ซึ่งจะทำให้ประสิทธิภาพพังทลายลง การตรึง (pinning) sink tokens ไว้ใน cache จะช่วยรักษาความสมดุลภายในของโมเดลและทำให้การสร้างข้อความมีความเสถียร

เครื่องมือตรวจจับทำงานอย่างไร

  • Eager attention: การนำไปใช้งานจะข้าม fast kernels อย่าง FlashAttention ซึ่งจะยุบรวม attention matrix ทั้งหมด และเปลี่ยนมาบันทึกคะแนนความสนใจดิบ (raw attention scores) สำหรับทุก head แทน
  • Layer-wide aggregation: คะแนนจะถูกนำมาหาค่าเฉลี่ยในทุกเลเยอร์และทุก head เพื่อสร้างโปรไฟล์มวลความสนใจ (attention-mass profile) ต่อหนึ่งโทเคน
  • Log-median absolute deviation (MAD): เนื่องจากน้ำหนักความสนใจมีการเบ้ขวา (right-skewed) อย่างมาก การทดสอบด้วยค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานแบบธรรมดาจะจัดประเภทความแปรปรวนปกติผิดว่าเป็นค่าผิดปกติ (outliers) การแปลงน้ำหนักด้วย log จะช่วยปรับการกระจายตัวให้เป็นปกติ จากนั้นการใช้ MAD จะช่วยระบุโทเคนที่มีมวลความสนใจเกินกว่าการกระจายตัวทั่วไป

การค้นพบ sink สองประเภท

  1. True sinks – โทเคนเริ่มต้นประโยค (BOS) จะดูดซับความสนใจจำนวนมหาศาลอย่างสม่ำเสมอ โดยไม่ขึ้นกับเนื้อหาของ prompt
  2. Structural sinks – โทเคนที่อยู่ใน prompt ระดับระบบ เช่น เครื่องหมายที่ใช้ใน ChatML (<im_start>, <im_end>) จะรวมตัวกันเป็นกลุ่มเล็กๆ ที่ดึงดูดความสนใจเช่นกัน โทเคนเหล่านี้ทำหน้าที่เป็นขอบเขตทางตรรกะ (logical boundaries) ช่วยให้โมเดลแยกแยะข้อความของผู้ใช้ออกจากคำสั่งของระบบได้

ข้อโต้แย้ง: เราจำเป็นต้องใช้ raw matrix จริงหรือ?

ผู้เขียนชี้ให้เห็นว่าหากไม่มีตัวเลขดิบ ปรากฏการณ์ sink จะถูกซ่อนไว้ และนโยบายการตัดทอน cache (cache-pruning policy) ใดๆ ที่อิงจากข้อมูลที่ไม่สมบูรณ์จะเสี่ยงต่อการทำให้โมเดลขาดความเสถียร

สิ่งที่ต้องติดตามต่อไป

เครื่องมือตรวจจับนี้เป็นส่วนที่สองจากซีรีส์สี่ตอนที่เริ่มต้นด้วย entropy tracker สำหรับคุณภาพการสร้างข้อความ ส่วนถัดไปจะรวมการตรวจจับ sink เข้ากับ entropy-guided speculative decoding และการศึกษาขั้นสุดท้ายจะเป็นการศึกษาเชิงประจักษ์ (empirical study)

บทสรุป: Attention sinks ไม่ใช่ความผิดปกติที่แปลกประหลาด แต่เป็นเสาหลักทางโครงสร้างที่ช่วยให้การกระจายความสนใจของ Transformer ทำงานได้อย่างเป็นระเบียบในช่วง prefill กลยุทธ์การตัดทอน KV-cache ใดๆ ที่ละเลยสิ่งนี้จะทำให้ความเสถียรของโมเดลตกอยู่ในอันตราย การตรวจจับและรักษาโทเคนเหล่านี้ไว้เป็นมาตรการป้องกันที่มีต้นทุนต่ำ ซึ่งสามารถทำให้การอนุมานในบริบทที่ยาว (long-context inference) ทั้งน่าเชื่อถือและมีประสิทธิภาพ