ทำความเข้าใจ Positional Embeddings ใน LLM สมัยใหม่

บทความนี้อธิบายว่า LLM เข้ารหัสและประมวลผลข้อมูลตำแหน่งของโทเค็นอย่างไร โดยครอบคลุมทั้งวิธีการแบบดั้งเดิมและร่วมสมัย เช่น RoPE หากคุณยังไม่คุ้นเคยกับแนวคิดและการคำนวณของ Attention internals โดยเฉพาะ query, key และ value vectors ขอแนะนำให้กลับไปทบทวนจากบทความ Self-Attention ของผู้เขียน

ในกรณีของ GPT-2 สูตรที่ใช้ใน Transformer ดั้งเดิมนั้นมีการปรับสเกลด้วย $\sqrt{d_{model}}$ ซึ่งเป็นรายละเอียดทางเทคนิคเล็กน้อย แต่การปรับสเกลนี้มีแนวโน้มว่าเป็นการทำให้การฝังตัวของโทเค็นและการเข้ารหัสตำแหน่งแบบไซนูซอยด์อยู่ในระดับตัวเลขที่เปรียบเทียบกันได้เมื่อเริ่มต้น

สำหรับกรณี GPT-2 นั้น การปรับสเกลนี้ไม่จำเป็น เนื่องจากโค้ด GPT-2 ดั้งเดิมกำหนดให้การฝังตัวของโทเค็นมีค่าเบี่ยงเบนมาตรฐานเริ่มต้นที่ 0.02 และการฝังตัวของตำแหน่งมีค่าเบี่ยงเบนมาตรฐานเริ่มต้นที่ 0.01 ทำให้ทั้งสองอยู่ในระดับเดียวกัน

สำหรับ RoPE นั้น การหมุน 64 ใน 128 ฟีเจอร์ สำหรับบริบท 1M-token ของ MiniMax-M3 สามารถลดขนาดตารางโคไซน์และไซน์ที่คำนวณไว้ล่วงหน้าได้ครึ่งหนึ่ง ช่วยประหยัดพื้นที่ได้ 0.134 GB (128 MiB) หากจัดเก็บในรูปแบบ BF16

ในการทดลองกับโมเดลขนาด 1B ถึง 8B บทความ Fractional Rotation, Full Potential พบว่าการหมุนประมาณ 10% ของฟีเจอร์ในแต่ละหัวมักให้ค่า Loss ในการฝึกและการวัดผลที่ใกล้เคียงกับการใช้ RoPE เต็มรูปแบบ

ที่มา: magazine.sebastianraschka.com

Leave a Comment