Lensa ML

Arsitektur Transformer

Langkah 1 dari 6: Kenapa Recurrence Diganti?

Masalah yang mendorong paper ini

Panjang sequence4
RNNTransformer1234jalur = 3 hop1234jalur = 1 hop (pasangan mana pun)Perbandingan Kompleksitas (Tabel 1 Paper)Operasi berurutanO(4)O(1)Panjang jalur maks.O(4)O(1)Komputasi/layerO(n·d²)O(n²·d)
Panjang seq
4
Langkah RNN
4
Langkah attention
1
Panjang jalur
3 vs 1

Sequence pendek masih aman untuk RNN. Self-attention tetap menghubungkan setiap token ke semua token lain dalam satu hop.

Geser panjang sequence dari 2 sampai 12. Jalur RNN bertambah panjang di setiap token, sedangkan attention tetap satu hop. Masalah yang lebih mendasar adalah memori: RNN harus memampatkan semua yang sudah dibacanya ke satu hidden state berukuran tetap, dan gradient melemah saat merambat mundur melewati banyak langkah. Attention sudah dipakai bersama RNN sejak 2014 (Bahdanau dkk.). Perubahan dari paper ini: RNN dibuang dan hanya attention yang dipertahankan. Itu sebabnya Transformer cocok dilatih di GPU, dan juga sebabnya context window yang lebih panjang jadi mahal.

Langkah 2 dari 6: Arsitekturnya

Encoder-decoder stack

EncoderDecoderInputOutput (geser kanan)Input EmbeddingOutput Embedding+Positional encoding+Positional encodingN×Multi-Head AttentionAdd & NormFeed ForwardAdd & NormN×Masked Multi-Head AttnAdd & NormMulti-Head AttentionAdd & NormFeed ForwardAdd & NormLinearSoftmaxProbabilitas output
Komponen
Semua
Encoder
N=6
Decoder
N=6
d_model
512

Transformer (Vaswani dkk., 2017) adalah encoder-decoder yang dibangun dari attention dan feed-forward layer, tanpa recurrence atau convolution. Klik sebuah komponen untuk menjelajahinya.

Klik setiap blok secara berurutan, dari embedding di bawah sampai output head di atas, untuk mengikuti satu kalimat melewati model. Kedua stack punya tugas berbeda: yang kiri membangun representasi input, yang kanan mengubah representasi itu menjadi output, satu token setiap kali. Model-model berikutnya sering hanya menyimpan satu sisi. BERT hanya memakai encoder stack dan digunakan untuk memahami teks; GPT hanya memakai decoder stack dan digunakan untuk membuat teks. T5 menyimpan keduanya, seperti aslinya.

Langkah 3 dari 6: Scaled Dot-Product Attention

Cara token menentukan fokusnya

Attention(Q,K,V) = softmax(QKᵀ / √dₖ) · VSeberapa besar perhatian tiap token ke semua token lain?QueryKeyThecatsatdownThecatsatdown0.230.450.120.200.260.260.250.240.360.430.100.100.260.400.140.21"The" memperhatikan:The23%cat45%sat12%down20%
Query
The
Memperhatikan
cat
Weight
45%
√d_k
8.0

"The" memberi 45% attention ke "cat". Setiap token membuat vector Query ("apa yang aku cari?") dan vector Key ("apa isiku?"). Dot product Q·K mengukur relevansi, lalu dibagi √d_k, dan softmax mengubah skornya menjadi weight.

Klik setiap kata untuk menjadikannya query dan lihat baris weight-nya berubah. Setiap baris selalu berjumlah 100%, jadi sebuah kata hanya bisa fokus pada satu token dengan mengurangi perhatian ke token lain. Q, K, dan V adalah tiga proyeksi yang dipelajari dari word embedding yang sama, jadi model sendiri yang menentukan lewat training apa yang dianggap cocok. Berbeda dengan weight tetap pada dense layer, attention weight dihitung ulang untuk setiap kalimat input. Setiap layer di LLM modern menjalankan operasi yang sama ini.

Langkah 4 dari 6: Multi-Head Attention

Kenapa beberapa head melihat lebih banyak daripada satu

Input sama, pola attention berbedaMenampilkan 2 dari 8 head: masing-masing mempelajari hubungan berbedaHead 1dₖ = 64The24%cat20%sat28%down28%fokus ke "sat" (28%)Head 2dₖ = 64The23%cat25%sat24%down27%fokus ke "down" (27%)Concat(Head 1, Head 2) → Proyeksi Outputd_model=512 → 8 head × d_k=64 → concat → d_model=512Biaya total sama dengan satu head besar, tetapi ada 8 pola attention
Query
The
Head 1
sat
Head 2
down
Ditampilkan
2 dari 8

Saat "The" menjadi query, Head 1 fokus ke "sat", sedangkan Head 2 fokus ke "down". Setiap head memproyeksikan Q, K, V ke subspace-nya sendiri (d_k=64), jadi masing-masing bisa mencocokkan feature yang berbeda.

Klik kata-kata itu dan bandingkan ke mana Head 1 dan Head 2 melihat. Demo ini menampilkan 2 dari 8 head. Tidak ada yang memberi tahu head apa yang harus dilacak: spesialisasinya muncul dari training. Saat peneliti memeriksa model yang sudah dilatih, mereka menemukan head yang mengikuti token sebelumnya, head yang menghubungkan kata ganti ke kata benda yang dirujuknya, dan head yang melacak struktur kalimat. LLM yang lebih baru sering membiarkan beberapa head berbagi key dan value yang sama (grouped-query attention), sehingga memori lebih hemat dengan penurunan kualitas yang kecil.

Langkah 5 dari 6: Posisi Tanpa Recurrence

Cara model mengetahui urutan kata

Kenapa posisi itu penting?Tanpa info posisi, "cat sat" = "sat cat" bagi modelThe0cat1sat2on3the4warm5soft6mat7Encoding posisi 0 (sidik jari unik)Dim genap: sin(pos / 10000^(2i/d)) Dim ganjil: cos(pos / 10000^(2i/d))pos=0: frekuensi berbeda di tiap dimensi membentuk pola unik0.00sin01.00cos00.00sin11.00cos10.00sin21.00cos20.00sin31.00cos3Seberapa mirip tiap posisi dengan posisi 0?The (0)1.00 (diri sendiri)cat (1)0.88sat (2)0.64on (3)0.49the (4)0.57warm (5)0.79soft (6)0.95mat (7)0.88
Posisi
0
Kata
The
Terdekat
cat
Terjauh
mat

Posisi 0 ("The"): setiap batang di atas dihitung dengan memasukkan pos=0 ke sin dan cos pada frekuensi berbeda. Dimensi berfrekuensi rendah (sin0, cos0) berubah lambat antarposisi, sedangkan yang berfrekuensi tinggi (sin3, cos3) berubah cepat. Bersama-sama, semuanya membentuk "alamat" unik yang dijumlahkan ke word embedding.

Klik kata yang berbeda dan lihat batang kemiripan menurun seiring jarak. Posisi harus ditambahkan karena attention memperlakukan input-nya sebagai himpunan: acak urutan kata, dan output tiap kata tidak berubah, hanya urutannya. Encoding ini dijumlahkan ke word embedding, bukan disambung di belakangnya, sehingga lebar model tetap 512. Model-model berikutnya beralih ke skema lain. GPT-2 mempelajari satu vector posisi untuk tiap slot, dan model seperti Llama memakai rotary embedding (RoPE), yang memutar query dan key dengan sudut yang bergantung pada posisi.

Langkah 6 dari 6: Pipeline Lengkap

Prediksi dari awal sampai akhir dan hasil paper

Temperature1.0
Terjemahan Inggris → PrancisSumber (Inggris)ThecatsatdownTarget (Prancis)Lechats'estassisEmbed + posisiEncoder × 6memahami inputEmbed + posisiDecoder × 6cross-attnLinear + softmaxkata Prancis berikutnya?Prediksi kata berikutnyaTemperature = 1.0: seimbangin25.6%sat15.5%cat15.4%mat14.9%ran6.5%Paper: 6 layer · 512 dimensi · 8 head · 28.4 BLEU (EN→DE)Dilatih 3,5 hari di 8 GPU, menjadi yang terbaik saat itu
Temperature
1.0
Prediksi
in
Keyakinan
26%
Keacakan
Normal

Temperature 1,0 adalah pengaturan seimbang. Di setiap langkah, cross-attention menyelaraskan kata Prancis saat ini dengan kata Inggris yang diterjemahkannya: "chat" dengan "cat", "assis" dengan "sat".

Geser temperature dari 0,1 sampai 3,0 dan lihat probabilitas menyebar ke lebih banyak kata. Training dan pembuatan teks bekerja secara berbeda. Saat training, decoder diberi kata-kata sebelumnya yang benar (teacher forcing), sehingga semua posisi dilatih secara paralel. Saat pembuatan teks, decoder harus menghasilkan satu kata setiap kali dan memasukkannya kembali. Untuk terjemahan, paper ini memakai beam search dengan beam 4, bukan sampling. Model besarnya mencapai 28,4 BLEU untuk Inggris→Jerman dan 41,8 untuk Inggris→Prancis. Chatbot membuat teks dengan putaran yang sama, satu token setiap kali.

Apa itu arsitektur Transformer?

Transformer adalah arsitektur neural network yang memproses seluruh sequence sekaligus, dengan attention yang membuat setiap token bisa langsung melihat semua token lain. Arsitektur ini diperkenalkan dalam paper 2017 "Attention Is All You Need" (Vaswani dkk.) untuk terjemahan mesin, dan menjadi dasar hampir semua model bahasa modern, termasuk GPT, BERT, dan T5.

Sebelum Transformer, model sequence umumnya recurrent (RNN dan LSTM): model membaca satu token setiap kali dan memampatkan semua yang sudah dibaca ke dalam satu hidden state. Transformer membuang recurrence sepenuhnya. Akibatnya, training bisa berjalan sangat paralel di GPU, dan informasi antara dua kata yang berjauhan cukup menempuh satu langkah, bukan banyak langkah.

Ide utama

  • Self-attention membuat setiap token bisa langsung membaca semua token lain, secara paralel.
  • Attention(Q, K, V) = softmax(QKᵀ / √d_k) · V: skor dari query dan key, lalu weighted sum dari value.
  • Beberapa head mempelajari hubungan yang berbeda dengan biaya kira-kira satu head.
  • Positional encoding mengembalikan urutan kata, karena attention sendiri mengabaikannya.
  • Residual connection dan layer normalization membuat stack yang dalam bisa dilatih.
  • Model encoder-only (BERT) dan decoder-only (GPT) sama-sama dibangun dari blok ini.

Pertanyaan umum

Apa fungsi feed-forward layer?

Setelah attention mencampur informasi antarposisi, setiap blok menerapkan network kecil dua layer yang sama ke setiap posisi secara terpisah: perluas dari 512 ke 2.048 dimensi, terapkan ReLU, lalu proyeksikan kembali ke 512. Di setiap blok encoder, feed-forward layer ini memuat sekitar dua pertiga weight.

Berapa jumlah parameter Transformer asli?

Model dasar dalam paper punya sekitar 65 juta parameter, dan model besarnya sekitar 213 juta. Large language model modern memakai komponen yang sama pada skala jauh lebih besar, dengan miliaran parameter.

Apakah GPT termasuk Transformer?

Ya. GPT hanya menyimpan separuh decoder: blok masked self-attention dan feed-forward, tanpa cross-attention, yang dilatih untuk memprediksi token berikutnya. BERT hanya menyimpan separuh encoder dan dilatih untuk mengisi kata yang di-mask.

Kenapa attention bernilai O(n²)?

Setiap token menghitung skor terhadap semua token lain, jadi sequence dengan n token butuh matriks skor n × n di setiap head dan layer. Karena itulah konteks panjang mahal, dan karena itu pula ada varian attention yang lebih efisien.

Penjelasan terkait

Referensi

  1. Vaswani et al. (2017), "Attention Is All You Need", NeurIPS
  2. Bahdanau, Cho & Bengio (2014), "Neural Machine Translation by Jointly Learning to Align and Translate"
  3. Ba, Kiros & Hinton (2016), "Layer Normalization"
  4. Su et al. (2021), "RoFormer: Enhanced Transformer with Rotary Position Embedding"
  5. Ainslie et al. (2023), "GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints"
  6. He et al. (2016), "Deep Residual Learning for Image Recognition", CVPR

Terakhir diperbarui