Apa itu positional encoding di Transformer?
Positional encoding adalah informasi yang ditambahkan Transformer agar attention bisa mengetahui letak tiap token dalam sequence. Attention membandingkan token hanya berdasarkan isinya, jadi tanpa informasi ini "dog bites man" dan "man bites dog" terlihat sama. Transformer asli menambahkan pola tetap berupa gelombang sinus dan kosinus ke setiap token embedding; banyak model yang lebih baru justru memutar query dan key dengan sudut yang bergantung pada posisi (RoPE).
Setiap Transformer butuh informasi posisi dalam bentuk tertentu, baik saat membaca teks, patch gambar, frame audio, maupun kode. Pilihannya memengaruhi seberapa baik model menangani input panjang: tabel posisi yang dipelajari berhenti di panjang tertentu, sedangkan kode sinusoidal, RoPE, dan bias berbasis jarak seperti ALiBi bisa diterapkan di posisi mana pun. Memperpanjang context window model bahasa besar sebagian besar bergantung pada perilaku positional encoding-nya setelah melewati panjang training.
Ide utama
- Attention hanya membandingkan isi, jadi posisi harus diberikan secara terpisah.
- Sinusoidal encoding memakai gelombang sin dan cos dengan panjang gelombang yang tumbuh secara geometris antardimensi.
- Dot product dua sinusoidal encoding hanya bergantung pada jarak antarposisi.
- RoPE memutar setiap pasangan dimensi query dan key dengan sudut yang sebanding dengan posisi.
- Dengan RoPE, skor attention bergantung pada posisi relatif m − n.
- Perilaku setelah melewati panjang training berbeda antarmetode dan membatasi perpanjangan konteks.
Ulasan singkat tentang topik ini
Pertanyaan umum
Apa bedanya positional encoding absolut dan relatif?
Encoding absolut memberi tiap posisi vector sendiri yang ditambahkan ke token embedding, sehingga model mempelajari arti posisi 7. Encoding relatif mengubah interaksi dua token berdasarkan jarak di antara keduanya, sehingga model mempelajari arti "3 token sebelumnya". Metode relatif biasanya lebih mudah digeneralisasi antarposisi karena jarak yang sama terlihat sama di mana pun dalam sequence.
Apakah positional encoding dipelajari atau tetap?
Keduanya dipakai. Transformer asli dan RoPE memakai rumus tetap tanpa parameter. BERT dan GPT-2 mempelajari tabel dengan satu vector per posisi. Cara ini bekerja baik, tetapi tidak bisa melewati ukuran tabel: 512 posisi untuk BERT dan 1.024 untuk GPT-2. Makalah aslinya menemukan versi yang dipelajari dan versi sinusoidal berkinerja kurang lebih sama.
Bisakah model membaca sequence yang lebih panjang daripada saat training?
Tergantung encoding-nya. Tabel yang dipelajari tidak punya entri untuk posisi baru. Kode sinusoidal dan RoPE menghasilkan nilai di posisi mana pun, tetapi kinerja model biasanya menurun setelah melewati panjang training karena model belum pernah melihat kombinasi sudut itu. ALiBi dan RoPE dengan interpolasi atau YaRN bisa menjangkau lebih jauh, sering kali setelah fine-tuning singkat pada teks yang lebih panjang.
Bagaimana vision transformer mengodekan posisi?
Vision transformer memotong gambar menjadi patch, misalnya grid 14 × 14, dan ViT asli menambahkan vector yang dipelajari untuk tiap indeks patch. Beberapa varian memakai kode sinusoidal 2D atau RoPE 2D yang mengodekan baris dan kolom secara terpisah. Saat resolusi gambar berubah, position vector yang dipelajari diinterpolasi ke ukuran grid baru.
Penjelasan terkait
- Cara Kerja Self-Attention · Query, key, dan value, inti dari self-attention
- Arsitektur Transformer · Panduan visual untuk paper "Attention Is All You Need"
- Multi-Head Attention · Attention head paralel yang mempelajari pola berbeda
- Decoder-Only Transformer · Arsitektur di balik GPT dan LLM modern
- Embedding · Mengubah kata dan kategori menjadi vector
- Tokenization & BPE · Cara teks menjadi angka, dari karakter sampai subword token lewat byte-pair encoding
Referensi
- Vaswani et al. (2017), "Attention Is All You Need", NeurIPS
- Su et al. (2021), "RoFormer: Enhanced Transformer with Rotary Position Embedding"
- Shaw, Uszkoreit & Vaswani (2018), "Self-Attention with Relative Position Representations"
- Press, Smith & Lewis (2021), "Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation"
- Chen et al. (2023), "Extending Context Window of Large Language Models via Positional Interpolation"
Terakhir diperbarui