Makalah · arXiv 2104.09864
RoFormer: Enhanced Transformer with Rotary Position Embedding
Terbit cs.CLcs.AIcs.LG arXivPDF
Ringkasan tiga baris
- 🎯 Embedding posisi standar biasanya berupa vektor absolut aditif atau modifikasi relatif yang merusak kompatibilitas dengan linear self-attention.
- 🔧 RoPE mengalikan vektor kueri dan kunci dengan matriks rotasi blok-diagonal ortogonal sehingga hasil kali dalamnya hanya bergantung pada jarak token relatif.
- 📈 Meraih 27,5 BLEU pada WMT 2014 En-De, konvergen lebih cepat selama pre-training, dan mengungguli WoBERT pada CAIL2019-SCM dengan akurasi 1,5% lebih tinggi pada panjang sekuens 1024.
Abstrak
Pengodean posisi akhir-akhir ini terbukti efektif dalam arsitektur transformer. Metode ini memberikan supervisi berharga untuk pemodelan dependensi antar-elemen pada posisi sekuens yang berbeda. Dalam makalah ini, pertama-tama kami menyelidiki berbagai metode untuk mengintegrasikan informasi posisional ke dalam proses pembelajaran model bahasa berbasis transformer. Kemudian, kami mengusulkan metode baru bernama Rotary Position Embedding (RoPE) untuk memanfaatkan informasi posisional secara efektif. Secara khusus, RoPE yang diusulkan mengenkode posisi absolut menggunakan matriks rotasi dan secara bersamaan menggabungkan dependensi posisi relatif yang eksplisit dalam formulasi self-attention. Khususnya, RoPE memiliki sifat-sifat berharga, termasuk fleksibilitas panjang sekuens, peluruhan dependensi antartoken seiring bertambahnya jarak relatif, serta kemampuan melengkapi linear self-attention dengan pengodean posisi relatif. Terakhir, kami mengevaluasi transformer yang ditingkatkan dengan rotary position embedding, yang juga disebut RoFormer, pada berbagai dataset tolok ukur klasifikasi teks panjang. Eksperimen kami menunjukkan bahwa metode ini secara konsisten mengungguli alternatif-alternatifnya. Selain itu, kami menyajikan analisis teoretis untuk menjelaskan beberapa hasil eksperimen. RoFormer telah diintegrasikan ke dalam Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.
Abstrak asli (bahasa Inggris)
Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrate positional information into the learning process of transformer-based language models. Then, we propose a novel method named Rotary Position Embedding(RoPE) to effectively leverage the positional information. Specifically, the proposed RoPE encodes the absolute position with a rotation matrix and meanwhile incorporates the explicit relative position dependency in self-attention formulation. Notably, RoPE enables valuable properties, including the flexibility of sequence length, decaying inter-token dependency with increasing relative distances, and the capability of equipping the linear self-attention with relative position encoding. Finally, we evaluate the enhanced transformer with rotary position embedding, also called RoFormer, on various long text classification benchmark datasets. Our experiments show that it consistently overcomes its alternatives. Furthermore, we provide a theoretical analysis to explain some experimental results. RoFormer is already integrated into Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.
Panduan membaca
Masalah dan motivasi
Self-attention dalam Transformers secara inheren bersifat invarian terhadap permutasi, sehingga memerlukan informasi posisi yang eksplisit. Pendekatan sebelumnya secara umum terbagi menjadi dua kelompok: embedding posisi absolut yang ditambahkan langsung ke representasi kata (vektor sinusoidal tetap atau yang dipelajari) dan embedding posisi relatif yang diintegrasikan ke dalam matriks attention (misalnya, Shaw et al., Transformer-XL, T5, DeBERTa). Namun, metode relatif yang ada saat ini sebagian besar bergantung pada dekomposisi aditif yang memodifikasi logit attention perantara, sehingga tidak kompatibel dengan mekanisme linear self-attention berbasis kernel yang memerlukan representasi terfaktorisasi. Selain itu, model sering kali kesulitan melakukan penskalaan secara mulus di berbagai panjang sekuens yang bervariasi.
Ide utama
- Jarak Relatif melalui Rotasi Vektor: Alih-alih menambahkan vektor posisi, RoPE menerapkan matriks rotasi yang bergantung pada posisi ke kueri dan kunci yang telah melalui transformasi afina. Hasil kali dalam antara kueri yang dirotasi pada indeks dan kunci yang dirotasi pada indeks secara alami hanya bergantung pada jarak relatif .
- Ortogonalitas dan Preservasi Norm: Karena operator rotasi bersifat ortogonal, ia mempertahankan norm Euclidean dari kueri dan kunci, menjaga stabilitas hidden state.
- Peluruhan Jangka Panjang (Long-term Decay): Mengikuti penskalaan frekuensi sinusoidal, interaksi token secara alami meluruh seiring bertambahnya jarak relatif, selaras dengan intuisi linguistik bahwa token yang berjarak jauh memiliki dependensi yang lebih lemah.
- Kompatibilitas dengan Linear Attention: Karena informasi posisi diterapkan langsung ke vektor token sebelum operasi dot product dilakukan, RoPE dapat digabungkan dengan linear attention berbasis kernel (seperti Performer).
Metode (dengan persamaan kunci)
Tujuannya adalah menemukan fungsi dan yang hasil kali dalamnya hanya bergantung pada embedding dan jarak relatif:
Dalam subruang 2D, memperlakukan vektor real sebagai bilangan kompleks menghasilkan solusi:
Untuk dimensi embedding genap , ruang tersebut dipartisi menjadi subruang 2D dengan frekuensi . Transformasi umum menerapkan matriks rotasi blok-diagonal :
Skor attention yang dihasilkan antara posisi dan memenuhi:
Untuk menghitungnya secara efisien tanpa perkalian matriks jarang (sparse matrix multiplication), RoPE diimplementasikan melalui operasi element-wise:
Hasil (dengan angka-angka terpenting)
- Penerjemahan Mesin: Pada WMT 2014 Inggris-Jerman, RoFormer mencapai 27,5 BLEU, melampaui baseline Transformer-base (27,3 BLEU).
- Konvergensi Pre-training: Saat melatih BERT-base dengan RoPE pada BookCorpus dan Wikipedia, RoFormer konvergen lebih cepat dan mencapai loss masked language modeling (MLM) yang lebih rendah dibandingkan BERT standar.
- Fine-Tuning GLUE: RoFormer yang telah di-pre-train secara signifikan meningkatkan skor downstream pada MRPC (F1 89,5 vs. 88,9), STS-B (Spearman 87,0 vs. 85,8), dan QQP (F1 86,4 vs. 71,2), meskipun kinerjanya lebih rendah daripada BERT pada SST-2 (90,7 vs. 93,5), QNLI (88,0 vs. 90,5), dan MNLI-m/mm (80,2/79,8 vs. 84,6/83,4).
- Linear Attention (Performer): Pada dataset Enwik8, penambahan RoPE ke Performer 12-layer berbasis karakter mempercepat konvergensi dan menurunkan training loss secara signifikan.
- Pencocokan Semantik Teks Panjang: Pada CAIL2019-SCM, RoFormer-512 meraih akurasi pengujian 68,29% (vs. 67,77% untuk BERT-512 dan 68,10% untuk WoBERT-512). Penskalaan ke RoFormer-1024 meningkatkan akurasi pengujian menjadi 69,79% (peningkatan absolut 1,5% dibandingkan WoBERT-512).
Keterbatasan dan pertanyaan terbuka
- Makalah ini mencatat ketiadaan penjelasan teoretis mengenai alasan formulasi rotasi 2D dapat berkonvergensi lebih cepat selama pre-training dibandingkan dengan alternatif aditif.
- Meskipun sifat peluruhan jangka panjang telah dibuktikan secara matematis, alasan mengapa RoFormer memiliki generalisasi yang terasa lebih baik dibandingkan model sejenis pada sekuens panjang masih menjadi pertanyaan terbuka.
- Evaluasi RoFormer pada skala pre-training yang sangat besar memerlukan komputasi GPU yang masif, sehingga karakteristik penskalaan yang lebih luas diserahkan untuk penelitian masa depan.
Istilah kunci
- Rotary Position Embedding (RoPE)
- Mekanisme pengodean posisi yang menyuntikkan informasi posisi dengan mengalikan representasi kueri dan kunci menggunakan matriks rotasi blok-diagonal ortogonal.
- RoFormer
- Arsitektur Transformer yang dilengkapi dengan Rotary Position Embedding, alih-alih pengodean posisi absolut atau relatif aditif standar.
- Long-term Decay
- Sifat matematis di mana hasil kali dalam dari kueri dan kunci menyusut seiring bertambahnya jarak posisi relatif .
- Linear Attention
- Mekanisme attention yang menghitung kernel feature map untuk mengubah urutan perkalian matriks dan mencapai kompleksitas komputasi linear .
- PerFormer
- Arsitektur Transformer linear attention yang diuji dalam makalah untuk mendemonstrasikan bahwa RoPE dapat secara mulus melengkapi linear attention dengan informasi posisi relatif.
- CAIL2019-SCM
- Tolok ukur Chinese AI and Law 2019 Similar Case Matching, yang terdiri dari triplet kasus hukum untuk mengevaluasi kemampuan pemodelan teks panjang melebihi 512 token.
- WoBERT
- Model BERT bahasa Mandarin berbasis kata yang digunakan sebagai baseline perbandingan dan fondasi pre-training untuk RoFormer pada korpus bahasa Mandarin.
Pertanyaan
Apa perbedaan RoPE dengan embedding posisi sinusoidal standar?
Embedding sinusoidal ditambahkan ke vektor token masukan sebelum proyeksi linear, sedangkan RoPE diterapkan secara multiplikatif sebagai rotasi langsung pada proyeksi kueri dan kunci di dalam lapisan attention.
Mengapa RoPE kompatibel dengan linear self-attention sedangkan pengodean relatif lainnya tidak?
Pengodean relatif yang ada memodifikasi logit attention berpasangan di dalam operasi softmax, sehingga membatalkan faktorisasi yang diperlukan untuk linear attention. RoPE memutar vektor kueri dan kunci secara terpisah tanpa mengubah norm keduanya, sehingga kernel linear attention dapat beroperasi secara normal.
Apakah penerapan RoPE membutuhkan perkalian matriks padat (dense matrix multiplication) dengan $R^d_{\Theta, m}$?
Tidak. Karena merupakan matriks blok-diagonal jarang yang tersusun dari blok-blok berukuran , implementasi komputasinya menggunakan perkalian element-wise dan rekombinasi berpasangan menggunakan vektor kosinus dan sinus.
Bagaimana kinerja RoFormer saat diskalakan ke konteks yang lebih panjang?
Pada tolok ukur CAIL2019-SCM, memperluas panjang konteks dari 512 ke 1024 meningkatkan akurasi pengujian RoFormer dari 68,29% menjadi 69,79%, membuktikan kemampuan generalisasi panjang konteks yang kuat.
Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.