Pengenalan Transformer
Revolusi dalam Natural Language Processing
๐ฏ Mengapa Transformer Penting?
Transformer adalah arsitektur neural network yang merevolusi dunia AI, terutama dalam pemrosesan bahasa alami (NLP). Model seperti GPT, BERT, dan ChatGPT semuanya dibangun di atas arsitektur Transformer.
Masalah yang Dipecahkan:
- โ RNN lambat karena harus memproses sequence secara berurutan
- โ Sulit menangkap dependensi jarak jauh dalam kalimat panjang
- โ Transformer memproses semua token secara parallel
- โ Attention mechanism memungkinkan setiap token "melihat" semua token lain
๐ Apa yang Akan Anda Pelajari?
Konsep Dasar
Tokens, embeddings, dan representasi sequence
Attention Mechanism
Bagaimana model "memperhatikan" bagian penting
Matematika
Query, Key, Value, dan perhitungan attention
Arsitektur
Encoder-Decoder, Multi-Head Attention
๐จ Analogi Sederhana
Bayangkan Anda membaca kalimat: "Kucing itu mengejar ekornya"
Untuk memahami kata "ekor", Anda perlu melihat kata "kucing" dan "nya". Transformer melakukan hal yang sama - setiap kata bisa "memperhatikan" kata-kata lain yang relevan!
Konsep Dasar
Memahami tokens, embeddings, dan sequences
๐ค Tokenization: Memecah Teks
Langkah pertama dalam memproses teks adalah mengubahnya menjadi tokens (unit-unit kecil).
๐ข Word Embeddings: Angka untuk Kata
Komputer tidak mengerti kata-kata. Kita perlu mengubah setiap token menjadi vektor angka (embedding).
๐ Sequence Representation
Seluruh kalimat direpresentasikan sebagai matrix di mana setiap baris adalah embedding dari satu token.
| Saya | [0.2, -0.5, 0.8, ...] |
| belajar | [0.1, 0.3, -0.2, ...] |
| Transformer | [-0.4, 0.7, 0.5, ...] |
Attention Mechanism
Inti dari arsitektur Transformer
๐ก Konsep Attention
Attention memungkinkan model untuk fokus pada bagian penting dari input ketika memproses setiap token.
Analogi: Mencari di Perpustakaan
Bayangkan Anda mencari informasi tentang "Python programming":
- Query: Pertanyaan Anda ("Python programming")
- Keys: Judul-judul buku di perpustakaan
- Values: Isi dari buku-buku tersebut
Attention mencocokkan Query dengan Keys untuk menemukan Values yang relevan!
๐ Query, Key, Value (QKV)
Setiap token embedding ditransformasi menjadi 3 representasi berbeda:
Query (Q)
"Apa yang saya cari?"
Key (K)
"Apa yang saya tawarkan?"
Value (V)
"Informasi yang akan diberikan"
๐งฎ Perhitungan Attention
Attention Score dihitung dengan 4 langkah:
Dot Product
Score = Q ร KT
Mencocokkan seberapa relevan setiap token
Scaling
Score = Score / โdk
Normalisasi untuk stabilitas
Softmax
Weights = softmax(Score)
Mengubah ke probabilitas (0-1)
Weighted Sum
Output = Weights ร V
Menggabungkan informasi yang relevan
Formula Lengkap:
๐ฌ Visualisasi Interaktif
Self-Attention
Token memperhatikan token lain dalam sequence yang sama
๐ Apa itu Self-Attention?
Self-Attention adalah attention di mana Query, Key, dan Value semuanya berasal dari input yang sama (sequence itu sendiri).
Standard Attention
Q dari satu sequence, K & V dari sequence lain
(misalnya: dalam translation)
Self-Attention โญ
Q, K, V semuanya dari sequence yang sama
(token "berbicara" dengan token lain)
๐ Contoh Konkret
Kalimat: "Kucing itu makan ikan di dapur"
Ketika memproses kata "itu":
- Perhatian tinggi ke โ "Kucing" (merujuk pada kucing)
- Perhatian rendah ke โ "makan", "ikan", "di", "dapur"
Demo Interaktif:
Klik pada kata untuk melihat attention weights:
๐ฏ Mengapa Self-Attention Powerful?
Parallelization
Semua token diproses bersamaan, tidak sequential seperti RNN
Long-range Dependencies
Bisa menangkap hubungan antar kata yang berjauhan
Context-Aware
Representasi setiap kata disesuaikan dengan konteksnya
Multi-Head Attention
Belajar dari multiple perspectives secara parallel
๐ญ Konsep Multi-Head
Daripada satu attention, kita menggunakan multiple attention heads yang bekerja parallel, masing-masing fokus pada aspek berbeda.
Analogi: Tim Reviewer
Bayangkan membaca paper ilmiah dengan beberapa reviewer:
- ๐ค Reviewer 1: Fokus pada metodologi
- ๐ค Reviewer 2: Fokus pada eksperimen
- ๐ค Reviewer 3: Fokus pada kesimpulan
Setiap head adalah seperti reviewer yang fokus pada aspek berbeda!
๐๏ธ Arsitektur Multi-Head
(d_k = 64)
(d_k = 64)
(d_k = 64)
(d_k = 64)
Formula:
๐ข Contoh Perhitungan
Transformer base menggunakan:
- Number of heads (h) = 8
- Model dimension (d_model) = 512
- Dimension per head (d_k) = d_model / h = 64
Setiap head bekerja dengan vektor kecil 64-dim, lalu hasil digabungkan kembali jadi 512-dim.
๐ฌ Visualisasi Multi-Head
Positional Encoding
Memberikan informasi urutan pada model
โ Mengapa Perlu Positional Encoding?
Self-attention tidak peduli dengan urutan token. Kalimat "Kucing makan ikan" dan "Ikan makan kucing" akan menghasilkan attention yang sama!
โ Masalah
Tanpa positional info:
"Dog bites man" โ "Man bites dog"
โ Solusi
Tambahkan positional encoding:
Setiap posisi punya signature unik
๐ Sine dan Cosine Functions
Transformer menggunakan fungsi trigonometri untuk encoding posisi:
Formula Positional Encoding:
pos = posisi, i = dimensi
Mengapa sine/cosine?
- Menghasilkan pola unik untuk setiap posisi
- Model bisa belajar relative positions
- Generalisasi ke panjang sequence yang belum pernah dilihat
๐จ Visualisasi Positional Encoding
Warna menunjukkan nilai encoding di berbagai dimensi
โ Penambahan ke Embeddings
Positional encoding ditambahkan langsung ke word embeddings:
Arsitektur Transformer Lengkap
Menyatukan semua komponen
๐๏ธ Gambaran Umum
Transformer terdiri dari dua bagian utama: Encoder dan Decoder.
๐ฅ Encoder
Memproses input sequence
- Multi-Head Self-Attention
- Feed-Forward Network
- Layer Normalization
- Residual Connections
๐ค Decoder
Menghasilkan output sequence
- Masked Self-Attention
- Encoder-Decoder Attention
- Feed-Forward Network
- Layer Normalization
๐ Flow Data
๐งฉ Komponen Tambahan
Feed-Forward Network
Dua linear transformations dengan ReLU:
Layer Normalization
Normalisasi untuk stabilitas training:
Residual Connections
Skip connections untuk gradient flow:
๐ Ukuran Model
| Model | Layers | d_model | Heads | Parameters |
|---|---|---|---|---|
| Base | 6 | 512 | 8 | 65M |
| Large | 12 | 1024 | 16 | 340M |
| GPT-3 | 96 | 12288 | 96 | 175B |
Contoh Kasus Nyata
Aplikasi Transformer dalam berbagai domain
๐ Neural Machine Translation
Aplikasi pertama dan paling terkenal dari paper "Attention is All You Need"
Input (English):
"The cat sat on the mat"
Output (French):
"Le chat รฉtait assis sur le tapis"
Cara Kerja:
- Encoder: Memproses kalimat English
- Decoder: Generate kalimat French word-by-word
- Attention: Decoder memperhatikan bagian relevan dari input
๐ค BERT - Understanding Language
Bidirectional Encoder Representations from Transformers
Masked Language Modeling:
Saya suka makan [MASK] goreng
Prediksi: nasi (99%), pisang (0.5%)
Aplikasi BERT:
โ๏ธ GPT - Text Generation
Generative Pre-trained Transformer
Autoregressive Generation:
Prompt: "Artificial intelligence is"
Generated: "Artificial intelligence is transforming how we live and work. From virtual assistants to autonomous vehicles..."
Keunggulan GPT:
- ๐ฏ Zero-shot & Few-shot learning
- ๐ฌ Conversational AI (ChatGPT)
- ๐ Creative writing & Code generation
- ๐ Task adaptation tanpa fine-tuning
๐ผ๏ธ Vision Transformer (ViT)
Transformer tidak hanya untuk teks! ViT menggunakan Transformer untuk image classification.
Image dipecah jadi patches (16ร16)
Setiap patch di-flatten jadi vector
Treat patches seperti tokens
Transformer encoder memproses
๐ Selamat!
Anda telah menyelesaikan tutorial Transformer dari dasar!
Yang Telah Anda Pelajari:
- โ Konsep tokens dan embeddings
- โ Attention mechanism (Query, Key, Value)
- โ Self-Attention dan Multi-Head Attention
- โ Positional Encoding
- โ Arsitektur lengkap Encoder-Decoder
- โ Aplikasi nyata: Translation, BERT, GPT, ViT