Pengenalan blog
- Ini adalah tulisan kedelapan dalam seri blog yang didasarkan pada buku Sebastian Raschka, "Build a Large Language Model (from Scratch)".
- Tulisan ini membahas cara mengimplementasikan "trainable self-attention".
Cara kerja LLM berbasis transformer decoder-only tipe GPT
- Memecah string menjadi token dan memetakan setiap token ke urutan vektor untuk membuat token embedding.
- Membuat positional embedding untuk membentuk urutan input embedding.
- Menggunakan input embedding untuk menghasilkan skor attention bagi setiap token.
- Menormalkan skor attention untuk menghasilkan bobot attention.
- Membuat vektor konteks untuk setiap token.
Mekanisme scaled dot-product attention
- Menghitung skor attention dengan memproyeksikan urutan input ke tiga matriks (query, key, value).
- Menormalkan skor attention untuk menghasilkan bobot attention, lalu menggunakannya untuk menghitung vektor konteks.
- Seluruh proses ini dilakukan melalui perkalian matriks yang efisien.
Proyeksi antar-ruang menggunakan matriks
- Matriks digunakan untuk memproyeksikan vektor ke ruang berdimensi lain.
- Menghitung skor attention dengan memproyeksikan input embedding ke ruang query, key, dan value.
Normalisasi skor attention
- Menggunakan fungsi softmax untuk menormalkan skor attention.
- Normalisasi dilakukan dengan membagi menggunakan akar kuadrat dimensi untuk mengatasi masalah gradien kecil.
Pembuatan vektor konteks
- Menghitung vektor konteks tiap token menggunakan bobot attention.
- Membuat vektor konteks dengan memproyeksikan input embedding ke ruang value lalu menghitung jumlah berbobot dengan bobot attention.
Langkah berikutnya
- Akan membahas causal self-attention dan multi-head attention.
- Juga berencana mengeksplorasi "mengapa" di balik mekanisme self-attention.
Kesimpulan
- Tulisan blog ini dapat membantu memahami mekanisme self-attention.
- Pertanyaan atau pendapat tambahan dapat ditinggalkan di kolom komentar.
Belum ada komentar.