บทความนี้อธิบายว่า 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 เต็มรูปแบบ