Rotary position embeddings menerapkan rotasi yang bergantung pada posisi ke komponen query dan key sebelum dot product dihitung. Jika model dilatih dengan posisi sampai panjang acuan tertentu, memasukkan indeks yang jauh lebih besar langsung ke aturan rotasi yang sama dapat membawa attention ke rentang sudut yang tidak tercakup oleh rentang posisi saat training.
Interpolasi posisi mengubah koordinat yang diberikan kepada RoPE. Untuk faktor ekstensi s > 1, bentuk sederhananya memetakan
p' = p / ssebelum sudut rotary dihitung. Sequence yang mencapai posisi sL dengan demikian dipetakan ke interval posisi yang kira-kira sama dengan interval yang sebelumnya berakhir di sekitar L.
Mekanisme attention tetap dense atau sparse sesuai implementasi model. Bagian yang berubah adalah fase posisi yang melekat pada query dan key.
RoPE merepresentasikan posisi sebagai fase
Untuk satu pasangan komponen dua dimensi, RoPE dapat ditulis sebagai rotasi
R(p, theta) =
[ cos(p theta) -sin(p theta) ]
[ sin(p theta) cos(p theta) ]dengan frekuensi theta yang berbeda pada pasangan komponen yang berbeda. Penerapan keluarga rotasi posisi yang sama pada query dan key membuat dot product keduanya bergantung pada posisi relatif.
Pada indeks absolut yang lebih besar, p theta juga membesar. Memperpanjang sequence tanpa mengubah aturan posisi berarti melakukan ekstrapolasi fase melewati rentang indeks yang digunakan saat training.
Interpolasi posisi menghindari ekstrapolasi langsung tersebut dengan mengganti p memakai koordinat yang dipampatkan. Model menerima sequence token yang lebih panjang, tetapi fase rotary bergerak lebih lambat sepanjang sequence itu.
Pemampatan mengubah resolusi posisi
Pemetaan ini memiliki konsekuensi. Dua token yang bersebelahan pada sequence panjang berbeda satu pada indeks aslinya, tetapi hanya berbeda 1/s pada koordinat yang masuk ke fungsi rotary:
(p + 1) / s - p / s = 1 / sPemisahan sudut antarposisi yang berdekatan berkurang pada setiap frekuensi rotary yang terdampak. Cakupan jarak dalam satuan token bertambah sementara fase posisi dipampatkan.
Perbedaan ini penting saat menafsirkan context limit yang lebih besar. Interpolasi posisi tidak menciptakan rentang fase posisi tambahan. Mekanisme ini memasukkan lebih banyak posisi token ke rentang koordinat rotary yang sudah ada.
Dalam satuan sudut absolut, efeknya juga bergantung pada frekuensi. Pasangan komponen dengan frekuensi theta_i menerima kenaikan fase antarposisi sebesar theta_i / s setelah interpolasi uniform.
Logit attention berubah meski state token tidak berubah
Anggap vektor query dan key sebelum rotasi pada dua posisi tidak berubah. Mengganti indeks posisinya tetap mengubah vektor hasil rotasi, sehingga logit attention yang dihasilkan juga dapat berubah.
Untuk posisi p dan q, perpindahan rotary relatif dipampatkan dari bentuk berbasis p - q menjadi bentuk berbasis
(p - q) / spada interpolasi uniform. Jadi intervensi ini bukan sekadar metadata agar tensor input yang lebih panjang dapat diterima. Kontribusi posisi pada attention berubah di seluruh sequence, termasuk posisi yang sebenarnya masih muat dalam panjang awal.
Perubahan global tersebut menjadi salah satu alasan model yang diperpanjang dapat memerlukan adaptasi setelah aturan posisi diubah. Prosedur adaptasi, skala yang didukung, dan kualitas akhirnya bergantung pada model serta konfigurasi training; semuanya bukan jaminan matematis dari interpolasi itu sendiri.
Interpolasi dan truncation menangani batas yang berbeda
Tokenizer atau serving layer dapat menerima lebih banyak token hanya jika jalur model juga mendukung dimensi sequence dan perlakuan posisi yang dihasilkan. Interpolasi posisi menangani koordinat posisi yang digunakan RoPE. Mekanisme ini tidak dengan sendirinya menghapus biaya memori atau komputasi akibat attention yang lebih panjang.
Pada dense attention, peningkatan panjang sequence tetap menambah jumlah interaksi query-key. Penyimpanan KV cache selama generasi autoregresif juga bertambah mengikuti jumlah posisi token yang dipertahankan, kecuali mekanisme lain mengubah kebijakan penyimpanannya.
Interpolasi juga tidak menentukan token lama mana yang masih relevan secara semantik. Sequence yang dapat diterima dalam ukuran lebih panjang tetap dapat memuat konteks yang tidak relevan, saling bertentangan, atau ditempatkan secara kurang tepat. Itu merupakan persoalan input dan perilaku model yang terpisah.
Scaling uniform hanya satu aturan ekstensi RoPE
Persamaan p' = p / s menggambarkan interpolasi posisi uniform. Metode ekstensi konteks lain dapat mengubah frekuensi rotary secara tidak uniform, mempertahankan sebagian pita frekuensi dengan perlakuan berbeda, atau memakai aturan scaling khusus model.
Metode tersebut tidak dapat dianggap setara hanya karena semuanya membuka pengaturan konteks yang lebih besar. Parameter runtime untuk RoPE scaling dapat mewakili formula berbeda antarimplementasi dan keluarga model. Formula pada konfigurasi model yang benar-benar dijalankan merupakan acuan yang relevan.
Batas ini juga berlaku pada portabilitas. Menyalin faktor scaling dari satu model ke model lain tidak menjamin perilaku posisi yang setara jika rotary base, susunan frekuensi, konteks training, atau formulasi scaling keduanya berbeda.
Faktor ekstensi memiliki arti geometris yang spesifik
Pada interpolasi uniform, faktor scaling menentukan pemetaan jarak token ke jarak rotary. Memperbesar rentang token menjadi dua kali dengan s = 2, misalnya, membuat perbedaan koordinat posisi untuk jarak token yang sama menjadi setengahnya.
Interpretasi geometris ini lebih presisi daripada menganggap faktor tersebut sebagai pengali konteks generik. Besaran yang ditransformasikan jelas: indeks yang masuk ke perhitungan fase rotary.
Deployment hanya dapat membuka input yang lebih panjang jika bagian stack lainnya mampu membawa sequence tersebut, sedangkan mekanisme posisinya tetap lebih sempit. Interpolasi posisi memperpanjang RoPE dengan memampatkan koordinat. Mekanisme ini tidak menghapus biaya attention, menambah kapasitas memori, atau menjamin kualitas model tetap terjaga pada setiap posisi tambahan.