Lewati ke konten utama

Penjelasan Pengodean Posisi: Memberi Transformer Rasa Urutan

Pahami bagaimana transformer melacak urutan kata, bandingkan pengodean sinusoidal, terpelajar, relatif, RoPE, dan ALiBi, serta lihat implementasi PyTorch.
Diperbarui 14 Agu 2026  · 14 mnt baca

Jelajahi dengan AI

ChatGPTClaudePerplexity

Bayangkan mencoba membaca novel di mana setiap kata di halaman diacak secara acak. Meski Anda memahami setiap kata, alur cerita hilang sepenuhnya karena urutan kata menentukan makna. Ketika para insinyur mulai merancang large language models (LLM), mereka menghadapi hambatan serupa. Bagaimana mengajarkan model untuk memahami urutan kata ketika mekanisme intinya memproses semuanya secara bersamaan?

Di sinilah pengodean posisi berperan. Dalam artikel ini, kita akan mengeksplorasi cara kerja internal pengodean posisi dan bagaimana hal itu memberi transformer rasa keteraturan. Kita akan membahas evolusinya dari rumus sinusoidal asli hingga embedding rotasional modern serta cara mengimplementasikannya dalam proyek machine learning Anda berikutnya. Jika Anda baru dengan arsitektur dasarnya, saya sarankan memulai dengan panduan kami tentang cara kerja transformer.

Apa Itu Pengodean Posisi?

Pengodean posisi adalah teknik agar jaringan saraf memahami urutan sekuensial data masukan. Ini berfungsi sebagai seperangkat koordinat yang merepresentasikan posisi relatif atau absolut suatu token dan digabungkan dengan representasi data standar Anda.

Sebelum teks masuk ke jaringan saraf, kata-kata diubah menjadi format numerik kontinu yang disebut embedding. Namun, embedding standar hanya menangkap makna semantik: embedding tidak memberi tahu apa pun tentang posisi sebuah kata dalam teks tertentu. Anda dapat mempelajari persis bagaimana proses ini bekerja dengan mengikuti kursus kami Introduction to Embeddings with the OpenAI API.

Pengodean posisi adalah lapisan matematis tambahan yang ditambahkan langsung ke embedding token tersebut. Dengan menggabungkan representasi semantik dengan cap posisi, model transformer dapat membedakan kata-kata yang identik yang muncul di bagian kalimat yang berbeda.

Masalah ketakvariasian permutasi

Data berurutan sangat bergantung pada urutan. Dalam bahasa alami, kalimat "anjing itu menggigit pria itu" memiliki makna yang sangat berbeda dari "pria itu menggigit anjing itu."

Masalah ketakvariasian permutasi dalam self-attention

Secara historis, Recurrent Neural Network (RNN) dan Long Short-Term Memory (LSTM) secara inheren menangani hal ini. Mereka memproses token secara berurutan, artinya jaringan secara matematis memproses kata kedua hanya setelah menyelesaikan kata pertama. Demikian pula, Convolutional Neural Network (CNN) memproses data menggunakan jendela geser lokal yang menangkap susunan spasial piksel atau kata-kata yang berdekatan.

Transformer sepenuhnya meninggalkan pemrosesan berurutan. Transformer memproses semua token secara paralel. Mesin inti transformer adalah mekanisme self-attention, yang menghitung skor hubungan berpasangan di antara setiap token dalam sekuens pada saat yang sama persis. Secara matematis, self-attention bersifat tak peka terhadap permutasi. Jika Anda mengacak urutan masukan, mekanisme self-attention akan menghasilkan skor perhatian yang persis sama untuk pasangan kata.

Tanpa mekanisme untuk mempertahankan urutan, model mengalami kehilangan total informasi sekuensial. Makna semantik runtuh menjadi sekadar kumpulan kata tanpa urutan. Pengodean posisi menyelesaikan masalah ketakvariasian permutasi dengan secara paksa mengubah vektor masukan sehingga mekanisme self-attention mendaftarkan token di posisi 1 berbeda dari token di posisi 10.

Bagaimana Pengodean Posisi Bekerja?

Pengodean posisi bekerja dengan memodifikasi secara matematis vektor token masukan sebelum mencapai lapisan self-attention. Ini memastikan model menghitung hubungan berdasarkan makna dan posisi.

Mari membangun intuisi tentang apa artinya ini. Bayangkan embedding token standar sebagai label nama di sebuah konferensi. Label nama memberi tahu Anda siapa orang itu, tetapi di mana mereka berada di konferensi tidak mengubah siapa mereka atau hubungan mereka dengan orang lain. Pengodean posisi seperti menambahkan nomor kursi pada label nama itu. Saat Anda menggabungkannya, Anda tahu siapa orangnya sekaligus di mana mereka duduk. Ini menambah konteks pada potensi interaksi yang mungkin dimiliki orang ini di konferensi.

Dalam transformer, kombinasi ini biasanya dicapai melalui penjumlahan per-elemen sederhana. Model mengambil vektor embedding semantik dari sebuah kata dan menambahkan vektor pengodean posisi dengan ukuran yang persis sama. Vektor hasilnya berisi modulasi halus yang kemudian dipelajari lapisan-lapisan berikutnya sebagai koordinat spasial.

Contoh perhitungan

Mari lihat contoh yang disederhanakan. Bayangkan kita memiliki ruang embedding kecil berdimensi 4. Kita ingin memproses kata "DataCamp" yang berada di posisi 0 dalam sekuens.

  1. Embedding semantik: Jaringan saraf mengambil embedding untuk "DataCamp", yang mungkin terlihat seperti [0.51, -0.22, 0.88, 0.14].
  2. Pengodean posisi: Rumus posisi menghasilkan vektor koordinat untuk posisi 0. Untuk contoh ini, anggap saja ia menghitung [0.00, 1.00, 0.00, 1.00].
  3. Kombinasi: Kita menjumlahkan kedua vektor tersebut per elemen.
  4. Masukan akhir: Forward pass menerima [0.51, 0.78, 0.88, 1.14].

Bahkan jika token yang sama persis "DataCamp" muncul kemudian di posisi 5, vektor pengodean posisinya akan berbeda. Akibatnya, vektor masukan akhir akan terlihat benar-benar berbeda bagi mekanisme self-attention.

Pengodean Posisi Sinusoidal

Karya asli "Attention Is All You Need" memperkenalkan metode cemerlang untuk menghasilkan vektor posisi menggunakan trigonometri dasar. Pendekatan ini tidak memerlukan bobot machine learning dan sepenuhnya mengandalkan fungsi matematis tetap.

Landasan matematis

Pengodean posisi sinusoidal menggunakan fungsi sinus dan kosinus pada berbagai frekuensi untuk mengodekan informasi posisi. Rumus asli menyatakan bahwa untuk posisi tertentu (pos) dan indeks dimensi tertentu (i) dalam vektor embedding, pengodean dihitung sebagai berikut:

  • Untuk dimensi genap (2i): PE(pos, 2i) = sin(pos / 10000^(2i/dmodel))

  • Untuk dimensi ganjil (2i+1): PE(pos, 2i+1) = cos(pos / 10000^(2i/dmodel))

Dalam rumus ini, dmodel adalah ukuran total vektor embedding. Saat Anda bergerak sepanjang dimensi vektor dari indeks 0 hingga dmodel, panjang gelombang fungsi sinusoidal meningkat secara geometri.

Keunggulan dan sifat

Progresi geometri frekuensi ini memberikan beberapa keunggulan yang jelas. 

  1. Keluaran sinus dan kosinus dibatasi ketat antara -1 dan 1. Sifat terbatasi ini memastikan bahwa pengodean posisi tidak secara numerik mendominasi embedding semantik.
  2. Fungsinya bersifat periodik. Karena rumus penjumlahan trigonometri, transformasi linear dapat dengan mudah merepresentasikan pengodean posisi dari posisi masa depan (pos + k) sebagai fungsi dari posisi saat ini (pos). Sifat ini secara alami memungkinkan model mempelajari pengodean posisi relatif.
  3. Pengodean sinusoidal menggunakan parameter tetap. Ini memerlukan nol bobot yang dipelajari, sehingga sangat mengurangi overhead memori. Karena beroperasi pada fungsi matematis kontinu, model memiliki kemampuan teoretis untuk ekstrapolasi, artinya dapat memetakan koordinat posisi untuk sekuens yang lebih panjang daripada yang terlihat selama pelatihan.

Visualisasi

Untuk membantu memahami pengodean sinusoidal, visualisasi sebagai heatmap dapat membantu.

Matriks pengodean posisi sinusoidal

Sumbu x pada visualisasi mewakili ukuran dimensi embedding, sementara sumbu y menunjukkan posisi token. 

Dimensi rendah di sebelah kiri berosilasi cepat antara nilai negatif dan positif, yang memungkinkan mereka membedakan posisi token yang berdekatan. Seiring bertambahnya indeks dimensi, panjang gelombang menjadi lebih panjang dan pengodean berubah lebih bertahap. Dimensi-dimensi ini menangkap perbedaan posisi pada jarak yang lebih besar.

Untuk 50 posisi yang ditampilkan di sini, banyak dimensi yang lebih tinggi tampak sebagai garis vertikal yang hampir seragam. Ini terjadi karena panjang gelombang mereka sangat panjang sehingga nilai sinus tetap dekat dengan 0 dan nilai kosinus tetap dekat dengan 1 dalam sekuens pendek ini, bukan 0 dan 1 secara tepat. Jadi garis bergantian mencerminkan dimensi sinus–kosinus yang bersebelahan, bukan pengodean biner sederhana. Dalam sekuens yang lebih panjang, dimensi-dimensi ini juga akan mulai bervariasi secara nyata.

Intinya adalah bahwa frekuensi yang berbeda memberi model informasi posisi pada berbagai skala: dimensi yang berubah cepat menangkap perbedaan halus antara token yang berdekatan, sementara dimensi yang berubah lambat melacak posisi yang lebih luas dalam sekuens yang lebih panjang.

Pengodean Posisi Terpelajar

Meskipun rumus matematis tetap itu elegan, arsitektur deep learning modern sering mengandalkan data untuk mempelajari representasi yang optimal. Embedding posisi terpelajar mengalihkan beban tata letak sepenuhnya ke fase pelatihan.

Konsep dan implementasi

Alih-alih mengodekan nilai posisi dengan fungsi sinus dan kosinus, embedding posisi terpelajar memperlakukan koordinat posisi sebagai parameter yang dapat dipelajari. 

Model menginisialisasi matriks embedding kosong sepenuhnya di mana setiap baris sesuai dengan posisi sekuens tertentu. Selama loop pelatihan backpropagation standar, jaringan memperbarui bobot posisi ini bersamaan dengan embedding token semantik untuk meminimalkan fungsi loss secara keseluruhan.

Keunggulan komparatif

Keunggulan utama embedding posisi terpelajar adalah fleksibilitas ekstrem. Ia memiliki kebebasan penuh untuk mempelajari representasi posisi yang paling cocok untuk dataset tertentu. Arsitektur seperti BERT dan GPT-2 berhasil memopulerkan pendekatan ini karena kemampuan adaptasinya yang tinggi dan performanya yang kuat pada tugas hilir.

Keterbatasan dan tantangan

Keterbatasan paling signifikan dari embedding posisi terpelajar adalah batas keras pada panjang sekuens. Jika model dilatih dengan maksimum 2.048 vektor posisi terpelajar, model secara fisik tidak dapat memproses dokumen berisi 2.049 token. 

Pembatasan ini sangat membatasi ekstrapolasi panjang dan sering memerlukan pelatihan ulang yang mahal untuk memperluas jendela konteks.

Pengodean Posisi Relatif

Seiring model berevolusi untuk menangani dokumen yang lebih panjang, para insinyur menyadari bahwa posisi absolut sebuah kata sering kali kurang penting dibanding jarak relatifnya terhadap kata lain.

Pergeseran konseptual ke posisi relatif

Pertimbangkan frasa "the rapid advancement of AI." Hubungan gramatikal antara "advancement" dan "AI" tetap identik apakah frasa tersebut muncul di awal dokumen atau di akhir. Pengodean posisi relatif meninggalkan koordinat grid absolut. Sebagai gantinya, ia sepenuhnya berfokus pada pergeseran jarak antara token yang saling berinteraksi.

Implementasi dalam mekanisme attention

Untuk menerapkan pengodean relatif, para insinyur memodifikasi perhitungan skor attention secara langsung alih-alih mengubah embedding masukan di awal jaringan. 

Saat menghitung skor attention antara matriks "query" dan matriks "key", operasi ini menyertakan tambahan bias terpelajar yang merepresentasikan jarak relatif. Modifikasi ini menjamin ketakpekaan terhadap pergeseran dalam teks. Untuk pembahasan lebih mendalam tentang cara kerja matriks ini, baca panduan kami tentang mekanisme attention pada LLM.

Pertukaran praktis

Pendekatan ini menghasilkan pemahaman kontekstual yang sangat akurat namun memperkenalkan overhead komputasi yang berat. Menghitung matriks jarak relatif unik untuk setiap head attention secara drastis meningkatkan konsumsi memori. Ini juga mempersulit mekanisme caching internal yang digunakan untuk mempercepat pembuatan teks.

Informasi posisi absolut vs relatif

Memutuskan antara pengodean absolut dan relatif bergantung pada tugas spesifik. 

  • Pengodean absolut sangat baik saat tata letak spasial yang tepat kaku dan eksekusi cepat diprioritaskan. 
  • Pengodean relatif jauh lebih unggul untuk pemrosesan bahasa alami bentuk panjang, di mana struktur gramatikal sepenuhnya bergantung pada jarak konteks lokal alih-alih koordinat dokumen absolut.

Rotary Position Embedding (RoPE)

Dalam upaya berkelanjutan untuk menyempurnakan arsitektur transformer, peneliti memperkenalkan Rotary Position Embedding (RoPE). Ini menggabungkan sifat terbaik dari pengodean posisi absolut dan relatif dan dengan cepat menjadi standar industri.

Pendekatan inovatif

RoPE menyatukan penempatan absolut dan jarak relatif menggunakan transformasi rotasional. Alih-alih menambahkan vektor ke embedding atau menambahkan bias berat ke skor attention, RoPE memetakan vektor embedding ke bidang kompleks dan memutarnya dengan sudut tertentu. Besar sudut ini ditentukan secara ketat oleh posisi absolut token dalam sekuens.

Pengodean posisi RoPE

Wawasan matematis

Dalam ruang 2D, rotasi diterapkan menggunakan matriks rotasi 2D standar. Untuk dimensi yang lebih tinggi, RoPE cukup mengelompokkan dimensi embedding menjadi pasangan dan menerapkan rotasi 2D unik pada setiap kelompok berdasarkan indeks posisi absolut.

Karena sifat geometris matriks rotasi, hasil dot product antara vektor query yang diputar dan vektor key yang diputar hanya bergantung pada sudut relatif di antara keduanya. Dengan demikian, RoPE memanfaatkan pemetaan posisi absolut untuk secara alami mengodekan jarak relatif antar token.

RoPE vs pengodean sinusoidal

Seperti terlihat pada grafik di atas, pengodean sinusoidal mengubah magnitudo dan arah vektor asli. RoPE justru mempertahankan informasi magnitudo dan hanya memerlukan sudut antara dua posisi berbeda untuk memahami jarak relatifnya.

Attention With Linear Biases (ALiBi)

Sementara RoPE mengandalkan matematika rotasional yang kompleks, teknik lain bernama Attention with Linear Biases (ALiBi) mengambil pendekatan yang sepenuhnya berbeda.

Kesederhanaan dan efisiensi

ALiBi sepenuhnya menanggalkan gagasan menambahkan informasi posisi ke embedding token awal. Embedding kata memasuki transformer tanpa tersentuh sama sekali. 

Sebagai gantinya, ALiBi melakukan intervensi pada langkah terakhir perhitungan attention. Tepat sebelum logit attention melewati fungsi softmax, ALiBi mengurangkan penalti statis yang sebanding dengan jarak antara dua token. Semakin jauh jarak dua kata, semakin besar penalti yang dikurangkan dari skor attention mereka.

Performa

Metode ini cukup mudah diimplementasikan dan sangat efisien. Manfaat terbesarnya adalah efektivitas ekstrem pada tugas ekstrapolasi panjang. Model yang dilatih dengan ALiBi pada sekuens 1.024 token dapat dengan mudah menghasilkan teks yang koheren pada sekuens dua kali lipat panjangnya tanpa mogok. 

Bagi praktisi yang tertarik mengeksplorasi teknik lanjutan lain yang digunakan untuk pembuatan teks dan inferensi yang cepat, lihat panduan kami tentang speculative decoding.

Kapan Menggunakan Pengodean Posisi yang Mana

Mulailah dari apa yang Anda bangun, lalu pilih metode yang sesuai — terkadang satu, terkadang beberapa.

  • Anda menginginkan baseline sederhana tanpa parameter: Sinusoidal (rumus tetap, tidak ada yang dilatih).
  • Panjang sekuens Anda tetap, dan Anda menginginkan performa maksimal pada dataset tertentu: Terpelajar.
  • Anda perlu menangani sekuens yang lebih panjang daripada yang dilatih: RoPE adalah pilihan terkuat di antara teknik yang dapat mengekstrapolasi.
  • Tata bahasa bergantung pada jarak antar token, bukan posisi absolutnya: Relatif atau RoPE.
  • Anda membangun LLM serbaguna modern: RoPE.
  • Ekstrapolasi panjang adalah prioritas utama Anda, dan Anda menginginkan implementasi paling sederhana: ALiBi.
  • Anda menginginkan manfaat posisi relatif tanpa overhead memori dan caching: RoPE (pengodean relatif memberi manfaat tetapi lebih mahal).

Implementasi Praktis dan Pertimbangan Arsitektur

Menjembatani kesenjangan antara teori dan praktik memerlukan pemahaman cara mengintegrasikan pengodean posisi ke dalam basis kode nyata dan mengelola keterbatasan arsitektur.

Mengimplementasikan pengodean posisi dalam transformer

Untuk menambahkan pengodean posisi ke transformer di kerangka kerja seperti PyTorch, pengembang biasanya membuat modul khusus. Modul ini menghasilkan matriks pengodean sekali lalu mendaftarkannya sebagai buffer agar tidak sengaja diperbarui selama backpropagation. 

Di bawah ini adalah implementasi praktis standar dari forward pass yang memasukkan pengodean sinusoidal. Pengodean dihitung sekali dari rumus sinus dan kosinus dan tidak pernah berubah selama pelatihan, itulah sebabnya pengodean disimpan dalam buffer alih-alih sebagai parameter yang dapat dipelajari (dan mengapa tidak menambah biaya pelatihan).

import torch
import torch.nn as nn
import math

class PositionalEncoding(nn.Module):
    def __init__(self, d_model: int, max_len: int = 5000):
        super().__init__()
        
        pe = torch.zeros(max_len, d_model)
        position = torch.arange(0, max_len, dtype=torch.float).unsqueeze(1)
        
        # Calculate the division term for frequencies
        div_term = torch.exp(torch.arange(0, d_model, 2).float() * (-math.log(10000.0) / d_model))
        
        # Apply sine to even indices and cosine to odd indices
        pe[:, 0::2] = torch.sin(position * div_term)
        pe[:, 1::2] = torch.cos(position * div_term)
        
        pe = pe.unsqueeze(0)
        
        # Register as a buffer
        self.register_buffer('pe', pe)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        # Add positional encoding directly to the input embeddings
        seq_len = x.size(1)
        x = x + self.pe[:, :seq_len, :]
        return x

Dalam __init__, modul melakukan pra-perhitungan tabel pengodean hingga max_len posisi: position adalah kolom indeks (0, 1, 2, …) dan div_term adalah frekuensi, yang hasilnya 1 / 10000^(2i/d_model), sehingga dimensi lebih rendah mendapat gelombang cepat dan yang lebih tinggi gelombang lambat. 

Menerapkan sin pada dimensi genap (0::2) dan cos pada dimensi ganjil (1::2) mengisi tabel. Lalu forward melakukan satu-satunya pekerjaan saat runtime: ia memotong tabel ke panjang sekuens masukan dan menambahkannya ke embedding token per elemen. Perhatikan modul mengasumsikan bentuk batch-first [batch, seq_len, d_model], itulah sebabnya forward memotong pada dimensi 1.

Bias posisi dan fenomena lost-in-the-middle

Konsekuensi tak terduga dari pemetaan sekuens panjang adalah bias posisi. Ini sering termanifestasi sebagai fenomena "lost-in-the-middle". Saat memproses dokumen masif, model bahasa cenderung lebih mengingat fakta dari awal sekali atau akhir prompt dibanding bagian di tengah. Ini mungkin terasa familiar, karena memori manusia bekerja serupa (setidaknya bagi saya; jangan bilang saya satu-satunya yang lebih mengingat awal dan akhir buku daripada bagian lainnya!).

Teorinya adalah ini terjadi karena mekanisme attention kewalahan oleh konteks yang tidak relevan dan secara alami berlabuh pada token awal (yang mengatur instruksi) dan token terbaru (yang paling segar dalam memori). Untuk mengurangi bias ini, pengembang beralih ke strategi chunking tingkat lanjut dan sistem temu kembali semantik.

Pengodean posisi untuk domain khusus

Transformer tidak lagi terbatas hanya pada teks. Konsep pengodean posisi dengan cepat beradaptasi untuk menangani berbagai tipe data di banyak domain.

Untuk vision transformer, gambar dipotong menjadi kisi patch. Pengodean sekuens 1D sederhana gagal menangkap kedekatan spasial dalam ruang 2D. Oleh karena itu, model visi sering menggunakan pengodean posisi terpelajar 2D yang memperhitungkan koordinat X dan Y dari patch gambar. 

Adaptasi serupa ada untuk model deret waktu kontinu, di mana pengodean khusus melacak jarak temporal, musiman, dan cap waktu.

Riset Lanjutan tentang Pengodean Posisi

Seiring perlombaan menuju jendela konteks yang lebih besar dipercepat, penyempurnaan cara model memahami posisi tetap menjadi area riset machine learning yang sangat aktif dan krusial.

Ekstrapolasi panjang dan perluasan konteks

Pengguna saat ini menuntut jendela konteks yang masif untuk memproses seluruh basis kode atau rangkaian novel sekaligus. Karena melatih model dari nol pada panjang sekuens masif terlalu mahal, peneliti mengandalkan teknik perluasan konteks. 

Metode seperti interpolasi posisi secara matematis mengompresi koordinat posisi dari sekuens yang jauh lebih panjang ke dalam batas panjang pelatihan asli. Metode adaptif seperti YaRN menyesuaikan frekuensi rotasional parameter RoPE secara dinamis untuk dengan mulus meregangkan pemahaman model tentang jarak.

Transformer tanpa pengodean posisi eksplisit

Menariknya, beberapa riset menyarankan pengodean posisi eksplisit mungkin tidak selalu mutlak diperlukan. Dalam model bahasa kausal decoder-only, masking kausal standar (mekanisme yang memaksa token hanya melihat ke belakang) secara inheren membocorkan informasi pengurutan temporal. 

Ini berarti mungkin saja belajar aturan posisi secara implisit hanya dari causal mask melalui penyetelan temperatur yang strategis dan penyesuaian arsitektural.

Tantangan dan Arah Masa Depan

Garis depan utama menyoroti pertukaran yang persisten antara adaptasi ketat (mengoptimalkan kinerja untuk panjang sekuens tertentu) dan ekstrapolasi sempurna (memungkinkan model melakukan generalisasi tanpa batas). 

Area riset yang muncul sangat berfokus pada pengodean multimodal. Menciptakan representasi posisi universal yang menggabungkan koordinat video 3D dengan aliran teks dan audio adalah salah satu tujuan untuk generasi berikutnya dari model kecerdasan buatan.

Kesimpulan

Pengodean posisi menjembatani kesenjangan antara pemrosesan paralel dan pemahaman berurutan serta memungkinkan kita membuat model yang dapat memproses sejumlah besar data secara terurut. Kita mengeksplorasi bagaimana embedding terpelajar dan relatif menawarkan fleksibilitas ekstrem, serta bagaimana inovasi modern seperti RoPE dan ALiBi mengoptimalkan keanggunan matematis dan efisiensi komputasi. 

Seiring jendela konteks meluas dari beberapa ribu token menjadi jutaan, tindakan matematis sederhana untuk memberi tahu jaringan saraf persis di mana sesuatu berada akan tetap menjadi inti dari desain model. 

Jika Anda ingin mendalami dan mendapatkan pengalaman langsung, saya sarankan mendaftar ke jalur keahlian Developing Large Language Models kami.

FAQ Pengodean Posisi

Apa itu pengodean posisi dalam machine learning?

Pengodean posisi adalah teknik matematis yang digunakan untuk memberikan informasi kepada jaringan saraf tentang urutan data dalam sebuah sekuens.

Mengapa model transformer memerlukan pengodean posisi?

Tidak seperti Recurrent Neural Network lama yang memproses data selangkah demi selangkah, transformer memproses semua data secara bersamaan menggunakan mekanisme self-attention. Karena self-attention secara alami tak peka terhadap permutasi, ia memperlakukan masukan seperti kumpulan kata tanpa urutan. Pengodean posisi mengatasi hal ini dengan menyuntikkan koordinat sekuensial langsung ke data sebelum model memprosesnya.

Apa perbedaan antara pengodean posisi absolut dan relatif?

Pengodean posisi absolut memberikan koordinat tetap pada token berdasarkan indeks pastinya dalam sekuens. Pengodean posisi relatif mengabaikan lokasi grid yang tepat dan sebagai gantinya menghitung jarak antara dua token yang berinteraksi, hanya berfokus pada pergeseran kontekstualnya.

Apa itu Rotary Position Embedding (RoPE)?

RoPE adalah metode pengodean yang banyak digunakan yang memetakan embedding token ke bidang kompleks dan memutarnya dengan sudut yang ditentukan oleh posisi absolutnya. Saat model menghitung skor attention, hubungan antara dua vektor yang diputar sepenuhnya bergantung pada jarak relatif di antara keduanya.

Apa itu embedding posisi terpelajar?

Alih-alih menggunakan rumus matematis tetap seperti sinus dan kosinus, embedding posisi terpelajar memperlakukan koordinat spasial sebagai bobot yang dapat dilatih. Model menginisialisasi matriks posisi kosong dan memperbarui koordinat ini selama pelatihan untuk mempelajari representasi spasial yang optimal untuk dataset tertentu.


Tim Lu's photo
Author
Tim Lu
LinkedIn

Saya seorang data scientist dengan pengalaman dalam analisis spasial, machine learning, dan pipeline data. Saya pernah bekerja dengan GCP, Hadoop, Hive, Snowflake, Airflow, dan proses data science/engineering lainnya.

Topik

Kursus Transformer Teratas

Program

Pengembangan Model Bahasa Besar

16 Hr
Pelajari cara mengembangkan model bahasa besar (LLMs) menggunakan PyTorch dan Hugging Face, dengan memanfaatkan teknik deep learning dan NLP terbaru.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat Lebih BanyakLihat Lebih Banyak