Mengapa ChatGPT Bisa Terwujud: Bagaimana Transformers Membangun Kembali Dunia Modern
Proses pengubahan sekuens, seperti yang terjadi pada Machine Translation, sangat bergantung pada pemetaan urutan input, , ke urutan output . Selama bertahun-tahun, model dominan untuk tugas-tugas ini didasarkan pada Recurrent Neural Networks (RNNs) dan Convolutional Neural Networks (CNNs) yang kompleks [1].
Namun, pada tahun 2017, paper "Attention Is All You Need" mengusulkan pendekatan yang radikal: meninggalkan rekurensi dan konvolusi sepenuhnya, dan hanya mengandalkan Attention Mechanisms.
Dalam artikel ini, kita akan mengeksplorasi keterbatasan pendahulu Transformer, dan mengapa self-attention menjadi terobosan yang kemudian membentuk AI modern.
Kita akan menggunakan contoh kasus yang bisa ditelusuri untuk melihat bagaimana jaringan yang berbeda memprosesnya: urutan input "The cat sat."
1. Bottleneck Sekuensial RNN dan LSTM
Recurrent Neural Networks, termasuk Long Short-Term Memory (LSTM) dan Gated Recurrent Units (GRU), telah lama ditetapkan sebagai state-of-the-art dalam pemodelan sekuens.
RNN secara intrinsik memproses token secara sekuensial. Untuk urutan input seperti "The cat sat.", jaringan menghasilkan urutan hidden states , sebagai fungsi dari hidden state sebelumnya dan input saat ini .
Meskipun LSTM unggul dalam mempertahankan konteks historis, sifat sekuensialnya menciptakan bottleneck besar: mereka tidak dapat diparalelkan. Untuk menghitung untuk "sat", model harus menunggu penyelesaian untuk "The" and untuk "cat".
Mari kita visualisasikan dependency ini menggunakan contoh kita. Kita asumsikan ada 4 token embedding: ["The", "cat", "sat", "."].
*Gambar 1: Pemrosesan sekuensial RNN. Perhatikan ketergantungan hijau—setiap langkah secara matematis memerlukan penyelesaian hidden state langkah sebelumnya .*
Mari kita lihat langkah-langkah matematis untuk token "sat" ():
- Input: tiba.
- Formula:
- Contoh Pengerjaan: Asumsikan adalah matriks bobot identitas untuk kesederhanaan.
- Output: Kita mendapatkan .
Seperti yang dapat kita lihat dengan jelas pada langkah 3, menghitung sangat bergantung pada penyelesaian operasi untuk . Kita tidak dapat mulai menghitung "sat" sebelum "cat" benar-benar selesai. Untuk urutan yang sangat panjang, pipeline sekuensial ini menghalangi komputasi untuk berjalan secara paralel, membuat pelatihan menjadi sangat lambat dan menciptakan masalah Vanishing Gradient, di mana informasi dari token awal yang jauh ("The") menghilang.
2. Convolutional Routes: Parallel, but Local
Untuk mengatasi kurangnya paralelisasi sekuensial, model seperti Convolutional Sequence to Sequence (ConvS2S) dan ByteNet beralih ke Convolutional Neural Networks (CNNs).
CNN dapat memproses semua token sekaligus. Dengan menggunakan kernel (misalnya, ukuran ), mereka menelusuri urutan input embedding secara paralel.
*Gambar 2: Konvolusi 1D di atas urutan. Setiap output hanya melihat ke token lokal. Komputasi terjadi secara simultan.*
Mari kita lihat matematika untuk output CNN :
- Input: Sebuah kernel berukuran melihat ke ("The") dan ("cat") secara bersamaan.
- Formula:
- Contoh Pengerjaan:
- Output: Kita mendapatkan .
Karena komputasi tidak bergantung pada output lainnya, kita dapat menghitung and pada waktu yang sama di perangkat keras GPU.
Meskipun ini menyelesaikan masalah paralelisasi RNN, ia memperkenalkan kelemahan arsitektur yang parah: restricted receptive fields.
Representasi hanya berisi informasi dari "The" dan "cat". Jika kita ingin menangkap ketergantungan jarak jauh (misalnya, menyesuaikan kata ganti pada token 50 dengan subjek pada token 1), kita harus menumpuk banyak lapisan konvolusional secara linier atau logaritmik (menggunakan konvolusi dilatasi). Jumlah operasi untuk menghubungkan posisi yang jauh tumbuh secara signifikan, membuatnya kompleks untuk mempelajari ketergantungan jangka panjang [1].
3. The Bridge: Bahdanau Attention Mechanisms
Sebelum seluruh arsitektur dirombak, Attention Mechanism lahir sebagai tambahan untuk model RNN untuk machine translation [2].
Dalam model Sequence-to-Sequence (Seq2Seq) tradisional, sebuah encoder memampatkan seluruh kalimat ke dalam satu context vector dengan panjang tetap, dan decoder menghasilkan output darinya. Namun, menekan kalimat berisi 20 kata ke dalam satu vektor menghilangkan detail dalam jumlah besar.
Atensi Bahdanau menyelesaikan ini dengan membiarkan decoder melihat kembali ke semua hidden states encoder secara dinamis, menimbang seberapa relevan setiap kata input untuk token yang sedang didekodekan saat ini.
Di mana bobot atensi dihitung melalui model penyelarasan (seringkali berupa jaringan feed-forward kecil).
Pembobotan dinamis ini menyelesaikan informasi bottleneck. Tetapi model dasarnya masih berupa RNN, yang menyebabkan keterlambatan pengurutan sekuens!
4. Asal Mula Transformer: Self-Attention
Dalam paper "Attention Is All You Need", para peneliti menyadari sesuatu yang mendalam: Jika Atensi sangat kuat dalam menghubungkan kata-kata yang jauh antara encoder dan decoder, mengapa tidak menggunakannya untuk menghubungkan kata-kata dalam urutan yang sama, dan menghapus RNN/CNN sepenuhnya?
Ini melahirkan Self-Attention.
Dalam Self-Attention, setiap token melihat setiap token lainnya dalam urutan secara bersamaan untuk menghitung representasinya sendiri. Jarak komputasi antara dua token mana pun dikurangi menjadi .
Bagaimana cara kerjanya? Dengan membuat tiga vektor untuk setiap token: Query (), Key (), dan Value (). Mari kita periksa langkah demi langkah dengan contoh kita.
Pertama, proyeksi linier menghasilkan tiga vektor berbeda dari input embedding yang sama untuk setiap token:
- Query (): "Apa yang saya cari?"
- Key (): "Apa yang saya isi?"
- Value (): "Jika Anda cocok dengan Key saya, inilah informasi aktual yang saya berikan."
Persamaan Scaled Dot-Product Attention yang terkenal menghitung interaksinya:
Mari kita asumsikan embedding 2 dimensi sederhana (). Ketika token 2 ("cat") menghasilkan Query-nya , kita melakukan dot product terhadap semua Keys untuk melihat siapa yang cocok:
Menerapkan softmax menormalkan skor-skor ini menjadi probabilitas (bobot atensi):
*Gambar 3: Matriks bobot Self-Attention untuk "The cat sat.". Setiap baris mewakili token yang bertindak sebagai Query yang mencoba menemukan Keys yang relevan di seluruh urutan.*
Seperti yang divisualisasikan pada Gambar 3, token "cat" memfokuskan atensinya paling tinggi pada dirinya sendiri () dan kata kerja predikatnya "sat" ().
Akhirnya, mari kita lihat bagaimana representasi numerik untuk "cat" dihasilkan menggunakan Values ().
- Input: Bobot atensi untuk "cat":
[0.21, 0.28, 0.27, 0.24], dan vektor Value urutan tersebut (asumsikan sama dengan input embedding: , dst). - Formula:
- Contoh Pengerjaan:
- Output: Setelah perhitungan,
Dengan menjumlahkan vektor yang berbobot ini, model menghasilkan representasi yang terpadu secara matematis () yang telah mengontekstualisasikan keberadaan "sat" secara instan, tanpa ketergantungan sekuensial (tidak seperti RNN) dan tanpa batasan jendela lokal (tidak seperti CNN). Jarak dari kata mana pun ke kata lainnya tepat 1 langkah! Itulah mengapa Transformer sangat unggul.
5. Multi-Head Attention: Melihat dari Berbagai Sudut
Sebuah operasi atensi tunggal mungkin terlalu fokus pada satu jenis hubungan (misalnya, kata kerja yang berdekatan). Untuk mengatasinya, Transformer menerapkan Multi-Head Attention. Alih-alih menghitung atensi sekali, model menghitungnya kali secara paralel di berbagai subspace (dengan menggunakan bobot proyeksi yang berbeda untuk ).
Perhitungan paralel ini bertindak mirip dengan beberapa feature channels dalam CNN tetapi tanpa batasan jendela lokal. Setiap head melihat struktur tata bahasa/semantik yang berbeda secara dinamis.
6. Arsitektur Transformer
Karena Self-Attention beroperasi secara universal dan instan di atas seluruh urutan, model tersebut secara asli tidak tahu tentang urutan token. Kata "cat" di posisi 2 atau posisi 100 terlihat identik bagi mekanisme atensi.
Untuk memperbaiki ini, makalah aslinya memperkenalkan Positional Encodings—frekuensi sinus dan kosinus yang ditambahkan ke input embedding sehingga kata-kata yang identik memiliki fingerprints matematika yang berbeda secara unik tergantung pada posisi tepatnya.
Dengan self-attention menggantikan rekurensi dan konvolusi, Vaswani et al. menyatukannya dalam arsitektur Sequence-to-Sequence yang lengkap:
- Encoder Layer: Tumpukan lapisan Multi-Head Self-Attention diikuti oleh point-wise Feed-Forward Networks.
- Decoder Layer: Mirip dengan encoder, tetapi menggunakan Masked Self-Attention (sehingga tidak dapat melihat kata target di masa depan selama pembuatan teks terjemahan) dan mekanisme Encoder-Decoder Attention kedua, di mana Query berasal dari decoder dan Keys/Values berasal dari output akhir encoder.
7. Pergeseran Permanen dalam AI
Dengan membuang dependency sekuensial (RNN) dan batas local reception (CNN), Transformer mencapai dua keunggulan global yang masif:
- Global Distance O(1): Setiap kata berjarak tepat satu langkah matematika dari setiap kata lainnya.
- Infinite parallelization: Operasi matriks dapat menghitung seluruh urutan secara bersamaan. Pengurangan drastis dalam waktu pelatihan secara fundamental memungkinkan para peneliti untuk menskalakan jaringan menjadi jutaan, lalu miliaran parameter, mengawali terbitnya Large Language Models (LLMs) seperti GPT, BERT, dan PaLM.
"Attention Is All You Need" melakukan persis seperti yang dinyatakan dalam judulnya: ia melucuti wrapper konvolusi dan rekurensi, membuktikan bahwa self-attention saja adalah mesin yang jauh lebih unggul.