Teknologi yang lebih baru, model bahasa besar (LLM), memprediksi token atau urutan token, terkadang berupa beberapa paragraf berupa token yang diprediksi. Ingat bahwa token dapat berupa kata, subkata (subkata dari sebuah kata), atau bahkan karakter tunggal. LLM membuat prediksi yang jauh lebih baik daripada model bahasa N-gram atau jaringan saraf berulang karena:
- LLM berisi jauh lebih banyak parameter daripada model berulang.
- LLM mengumpulkan konteks yang jauh lebih banyak.
Bagian ini memperkenalkan arsitektur yang paling sukses dan banyak digunakan untuk membuat LLM: Transformer.
Apa itu Transformer?
Transformer adalah arsitektur canggih untuk berbagai aplikasi model bahasa, seperti terjemahan:
Transformer penuh terdiri dari encoder dan decoder:
- Encoder mengonversi teks input menjadi representasi perantara. Encoder adalah jaringan neural yang sangat besar.
- Decoder mengonversi representasi perantara tersebut menjadi teks yang berguna. Decoder juga merupakan jaringan neural yang sangat besar.
Misalnya, dalam penerjemah:
- Encoder memproses teks input (misalnya, kalimat bahasa Inggris) menjadi beberapa representasi perantara.
- Decoder mengonversi representasi perantara tersebut menjadi teks output (misalnya, kalimat Prancis yang setara).
Apa yang dimaksud dengan self-attention?
Untuk meningkatkan konteks, Transformers sangat bergantung pada konsep yang disebut self-attention. Secara efektif, atas nama setiap token input, self-attention akan mengajukan pertanyaan berikut:
"Seberapa besar pengaruh setiap token input lainnya terhadap interpretasi token ini?"
"Self" dalam "self-attention" mengacu pada urutan input. Beberapa mekanisme perhatian memberi bobot hubungan token input ke token dalam urutan output seperti terjemahan atau ke token dalam beberapa urutan lainnya. Namun, self-attention hanya membobotkan pentingnya relasi antara token dalam urutan input.
Untuk menyederhanakan masalah, asumsikan bahwa setiap token adalah kata dan konteks lengkap hanya berupa satu kalimat. Pertimbangkan kalimat berikut:
The animal didn't cross the street because it was too tired.
Kalimat sebelumnya berisi sebelas kata. Setiap dari sebelas kata tersebut memperhatikan sepuluh kata lainnya, bertanya-tanya seberapa penting setiap dari sepuluh kata tersebut bagi dirinya sendiri. Misalnya, perhatikan bahwa kalimat tersebut berisi sebutan it. Kata ganti sering kali ambigu. Kata ganti it biasanya mengacu pada kata benda atau frasa kata benda terbaru, tetapi dalam contoh kalimat, kata benda terbaru manakah yang dimaksud it—binatang atau jalan?
Mekanisme self-attention menentukan relevansi setiap kata yang ada di sekitar dengan kata ganti itu. Gambar 3 menunjukkan hasilnya—semakin biru garisnya, semakin penting kata tersebut bagi sebutan itu. Artinya, hewan lebih penting daripada jalan untuk kata ganti itu.
Sebaliknya, anggap kata terakhir dalam kalimat berubah sebagai berikut:
The animal didn't cross the street because it was too wide.
Dalam kalimat yang direvisi ini, self-attention diharapkan akan menilai street sebagai lebih relevan daripada animal untuk kata ganti it.
Beberapa mekanisme perhatian mandiri bersifat dua arah, yang berarti mekanisme tersebut menghitung skor relevansi untuk token yang mendahului dan mengikuti kata yang diperhatikan. Misalnya, pada Gambar 3, perhatikan bahwa kata di kedua sisi it diperiksa. Jadi, mekanisme perhatian mandiri dua arah dapat mengumpulkan konteks dari kata di kedua sisi kata yang diperhatikan. Sebaliknya, mekanisme self-attention searah hanya dapat mengumpulkan konteks dari kata-kata di satu sisi kata yang sedang diperhatikan. Self-attention dua arah sangat berguna untuk menghasilkan representasi seluruh urutan, sedangkan aplikasi yang menghasilkan urutan token demi token memerlukan self-attention satu arah. Oleh karena itu, encoder menggunakan perhatian mandiri dua arah, sedangkan decoder menggunakan satu arah.
Apa itu multi-head self-attention?
Setiap lapisan self-attention biasanya terdiri dari beberapa headset self-attention. Output lapisan adalah operasi matematika (misalnya, rata-rata berbobot atau perkalian titik) dari output berbagai head.
Karena setiap lapisan self-attention diinisialisasi ke nilai acak, head yang berbeda dapat mempelajari hubungan yang berbeda antara setiap kata yang ditangani dan kata di sekitar. Misalnya, lapisan self-attention yang dijelaskan di bagian sebelumnya berfokus pada penentuan kata benda yang dirujuk oleh kata ganti it. Namun, lapisan self-attention lainnya mungkin mempelajari relevansi gramatikal setiap kata dengan setiap kata lainnya, atau mempelajari interaksi lainnya.
Mengapa Transformers begitu besar?
Transformer berisi ratusan miliar atau bahkan triliun parameter. Kursus ini umumnya merekomendasikan pembuatan model dengan jumlah parameter yang lebih kecil daripada model dengan jumlah parameter lebih besar. Bagaimanapun, model dengan jumlah parameter yang lebih kecil menggunakan lebih sedikit resource untuk membuat prediksi dibandingkan model dengan jumlah parameter yang lebih besar. Namun, riset menunjukkan bahwa Transformer dengan lebih banyak parameter secara konsisten mengungguli Transformer dengan lebih sedikit parameter.
Namun, bagaimana cara LLM menghasilkan teks?
Anda telah melihat cara peneliti melatih LLM untuk memprediksi satu atau dua kata yang hilang, dan Anda mungkin tidak terkesan. Bagaimanapun, memprediksi satu atau dua kata pada dasarnya adalah fitur pelengkapan otomatis yang terintegrasi dalam berbagai software teks, email, dan penulisan. Anda mungkin ingin tahu bagaimana LLM dapat membuat kalimat, paragraf, maupun haiku tentang arbitrase.
Faktanya, LLM pada dasarnya adalah mekanisme pelengkapan otomatis yang dapat secara otomatis memprediksi (menyelesaikan) ribuan token. Misalnya, pertimbangkan kalimat yang diikuti dengan kalimat yang disamarkan:
My dog, Max, knows how to perform many traditional dog tricks. ___ (masked sentence)
LLM dapat menghasilkan probabilitas untuk kalimat yang disamarkan, termasuk:
Probability | Kata |
---|---|
3,1% | Misalnya, ia dapat duduk, diam, dan berguling. |
2,9% | Misalnya, ia tahu cara duduk, tidak bergerak, dan berguling. |
LLM yang cukup besar dapat menghasilkan probabilitas untuk paragraf dan seluruh esai. Anda dapat menganggap pertanyaan pengguna ke LLM sebagai kalimat "yang diberikan" yang diikuti dengan mask imajiner. Contoh:
User's question: What is the easiest trick to teach a dog? LLM's response: ___
LLM menghasilkan probabilitas untuk berbagai kemungkinan respons.
Sebagai contoh lain, LLM yang dilatih pada "masalah kata" matematika dalam jumlah besar dapat memberikan kesan melakukan penalaran matematika yang canggih. Namun, LLM tersebut pada dasarnya hanya melengkapi prompt masalah kata secara otomatis.
Manfaat LLM
LLM dapat menghasilkan teks yang jelas dan mudah dipahami untuk berbagai target audiens. LLM dapat membuat prediksi pada tugas-tugas yang dilatih secara eksplisit. Beberapa peneliti mengklaim bahwa LLM juga dapat membuat prediksi untuk input yang tidak dilatih secara eksplisit, tetapi peneliti lain telah membantah klaim ini.
Masalah terkait LLM
Pelatihan LLM memerlukan banyak masalah, termasuk:
- Mengumpulkan set pelatihan yang sangat besar.
- Memerlukan waktu beberapa bulan serta resource komputasi dan listrik yang sangat besar.
- Menyelesaikan tantangan paralelisme.
Menggunakan LLM untuk menyimpulkan prediksi akan menyebabkan masalah berikut:
- LLM mengalami halusinasi, yang berarti prediksinya sering kali berisi kesalahan.
- LLM menggunakan resource komputasi dan listrik dalam jumlah besar. Melatih LLM pada set data yang lebih besar biasanya mengurangi jumlah resource yang diperlukan untuk inferensi, meskipun set pelatihan yang lebih besar memerlukan lebih banyak resource pelatihan.
- Seperti semua model ML, LLM dapat menunjukkan berbagai bias.