Penjelasan teknis tentang model transformer
Arsitektur Umum
Model Transformer, yang pertama kali diperkenalkan dalam makalah "Attention is All You Need" oleh Vaswani et al. pada tahun 2017, telah merevolusi pemrosesan bahasa alami (NLP) dan berbagai bidang lainnya. Berikut adalah penjelasan teknis tentang model Transformer:
Model Transformer
terdiri dari dua komponen utama:
Encoder: Memproses input sequence dan menghasilkan
representasi kontekstual.
Decoder: Menggunakan representasi kontekstual dari encoder untuk menghasilkan output sequence.GPT (Generative Pre-trained Transformer) hanya menggunakan bagian decoder dari arsitektur Transformer untuk menghasilkan teks. Namun, untuk pemahaman menyeluruh, berikut penjelasan lengkap dari kedua bagian tersebut.
Encoder
Encoder Transformer
terdiri dari sejumlah lapisan identik (umumnya 6), masing-masing memiliki dua
sub-lapisan utama:
Multi-Head Self-Attention Mechanism
Feed-Forward Neural Network (FFN)
Komponen dalam Encoder:
Input Embedding: Teks input diubah menjadi embedding, yaitu
representasi vektor dari kata atau token.
Positional Encoding: Menambahkan informasi posisi ke embedding
untuk mempertahankan urutan kata dalam kalimat.
Multi-Head
Self-Attention:
Memungkinkan model untuk fokus pada berbagai bagian dari input sequence secara
paralel untuk memahami konteks global. Ini terdiri dari beberapa
"heads" yang masing-masing mempelajari aspek berbeda dari hubungan
antara kata-kata dalam input.
Add & Norm: Residual connection diikuti dengan layer
normalization.
Feed-Forward Neural
Network (FFN): Lapisan dens
dengan aktivasi non-linear yang diterapkan secara terpisah pada setiap posisi.
Add & Norm: Residual connection diikuti dengan layer
normalization lagi.
Decoder
Decoder juga
terdiri dari sejumlah lapisan identik (umumnya 6), dengan tiga sub-lapisan
utama:
Masked Multi-Head
Self-Attention Mechanism
Multi-Head
Attention Mechanism (terhubung ke output dari encoder)
Feed-Forward Neural
Network (FFN)
Komponen dalam
Decoder:
Output Embedding: Teks output diubah menjadi embedding.
Positional Encoding: Menambahkan informasi posisi ke embedding
output.
Masked Multi-Head
Self-Attention: Memastikan
bahwa prediksi untuk posisi tertentu hanya dapat bergantung pada posisi
sebelumnya.
Add & Norm: Residual connection diikuti dengan layer
normalization.
Multi-Head
Attention: Memperhatikan
keluaran dari encoder untuk menggabungkan informasi konteks dari input
sequence.
Add & Norm: Residual connection diikuti dengan layer
normalization.
Feed-Forward Neural
Network (FFN): Lapisan dens
dengan aktivasi non-linear.
Add & Norm: Residual connection diikuti dengan layer
normalization.
Mekanisme Self-Attention
Mekanisme
self-attention adalah inti dari Transformer. Berikut penjelasannya:
Input Vectors: Setiap kata dalam input sequence diubah
menjadi vektor embedding.
Query, Key, Value
Vectors: Setiap input
vektor dikonversi menjadi tiga vektor berbeda: Query (Q), Key (K), dan Value
(V).
Attention Scores: Menghitung skor perhatian dengan cara
mengalikan Query dengan Key transpose, kemudian membaginya dengan akar kuadrat
dari dimensi Key, dan menerapkan softmax untuk mendapatkan distribusi
probabilitas.
Weighted Sum: Mengalikan nilai-nilai Value dengan skor
perhatian untuk mendapatkan weighted sum yang merepresentasikan perhatian pada
setiap posisi dalam sequence.
Multi-Head Attention
Multi-head
attention memperluas perhatian dengan cara menjalankan mekanisme self-attention
beberapa kali dengan parameter berbeda (heads) dan menggabungkan hasilnya. Ini
memungkinkan model untuk memperhatikan berbagai aspek dari kata-kata dalam
sequence:
Multiple Heads: Setiap kepala self-attention menghasilkan
vektor output yang berbeda.
Concatenation and
Linear Transformation:
Vektor output dari semua kepala dikonkatenasi dan diterapkan transformasi
linear untuk menghasilkan vektor akhir.
Feed-Forward Neural Network (FFN)
Setiap posisi dalam
sequence diproses secara independen melalui jaringan saraf feed-forward yang
sama:
Linear
Transformation: Vektor
input diterapkan transformasi linear.
Activation Function: Fungsi aktivasi non-linear (biasanya ReLU)
diterapkan.
Second Linear
Transformation: Vektor
hasil diterapkan transformasi linear kedua.
Residual Connections dan Layer Normalization
Setiap sub-lapisan (multi-head attention atau FFN) memiliki residual connection yang menambahkan input sub-lapisan ke outputnya, diikuti dengan layer normalization untuk stabilitas dan efisiensi pelatihan.
Diagram Arsitektur Transformer
Berikut adalah
diagram sederhana dari arsitektur Transformer yang mencakup encoder dan
decoder:
plaintext
Salin kode
Input Sequence
│
▼
Input Embedding
│
▼
Positional Encoding
│
▼
┌────────────────────┐
│ Encoder Layer │
│ ┌────────────────┐ │
│ │ Multi-Head │ │
│ │ Self-Attention │ │
│ └────────────────┘ │
│ │ │
│ ▼ │
│ Add & Norm │
│ │ │
│ ▼ │
│ Feed Forward NN │
│ │ │
│ ▼ │
│ Add & Norm │
└────────────────────┘
│
... (repeated N times)
│
▼
┌────────────────────┐
│ Decoder Layer │
│ ┌────────────────┐ │
│ │ Masked │ │
│ │ Multi-Head │ │
│ │ Self-Attention │ │
│ └────────────────┘ │
│ │ │
│ ▼ │
│ Add & Norm │
│ │ │
│ ▼ │
│ Multi-Head │
│ Attention (Encoder │
│ Outputs) │
│ │ │
│ ▼ │
│ Add & Norm │
│ │ │
│ ▼ │
│ Feed Forward NN │
│ │ │
│ ▼ │
│ Add & Norm │
└────────────────────┘
│
... (repeated N times)
│
▼
Output Sequence
Dengan arsitektur ini, Transformer mampu menangani urutan data dengan efisiensi tinggi dan menghasilkan representasi yang kuat untuk berbagai tugas pemrosesan bahasa alami.