Model dan platform AI
Model Bahasa Besar Berbasis Decoder: Panduan Lengkap
Model Bahasa Besar (LLM) telah merevolusi bidang pemrosesan bahasa alami (NLP) dengan menunjukkan kemampuan luar biasa dalam menghasilkan teks yang mirip dengan manusia, menjawab pertanyaan, dan membantu dengan berbagai tugas terkait bahasa. Di inti model-model kuat ini terletak arsitektur transformer decoder-saja, sebuah varian dari arsitektur transformer asli yang diusulkan dalam makalah seminal “Attention is All You Need” oleh Vaswani et al.
Dalam panduan komprehensif ini, kita akan menjelajahi kerja internal dari LLM berbasis decoder, mempelajari blok bangunan dasar, inovasi arsitektur, dan detail implementasi yang telah mendorong model-model ini ke garda depan penelitian dan aplikasi NLP.
Arsitektur Transformer: Pengingat
Sebelum memasuki spesifik dari LLM berbasis decoder, penting untuk mengingat kembali arsitektur transformer, fondasi yang dibangun model-model ini. Transformer memperkenalkan pendekatan baru untuk pemodelan urutan, bergantung sepenuhnya pada mekanisme perhatian untuk menangkap ketergantungan jangka panjang dalam data, tanpa memerlukan lapisan berulang atau konvolusi.
Arsitektur transformer asli terdiri dari dua komponen utama: encoder dan decoder. Encoder memproses urutan input dan menghasilkan representasi kontekstual, yang kemudian dikonsumsi oleh decoder untuk menghasilkan urutan output. Arsitektur ini awalnya dirancang untuk tugas terjemahan mesin, di mana encoder memproses kalimat input dalam bahasa sumber, dan decoder menghasilkan kalimat yang sesuai dalam bahasa target.
Perhatian Diri: Kunci Keberhasilan Transformer
Di jantung transformer terletak mekanisme perhatian diri, sebuah teknik kuat yang memungkinkan model untuk menimbang dan menggabungkan informasi dari posisi yang berbeda dalam urutan input. Berbeda dengan model urutan tradisional, yang memproses token input secara berurutan, perhatian diri memungkinkan model untuk menangkap ketergantungan antara pasangan token, tanpa memperhatikan posisi mereka dalam urutan.
Operasi perhatian diri dapat dibagi menjadi tiga langkah utama:
- Proyeksi Query, Kunci, dan Nilai: Urutan input diproyeksikan ke dalam tiga representasi terpisah: query (Q), kunci (K), dan nilai (V). Proyeksi ini diperoleh dengan mengalikan input dengan matriks berat yang dipelajari.
- Perhitungan Skor Perhatian: Untuk setiap posisi dalam urutan input, skor perhatian dihitung dengan mengambil produk dot antara vektor query yang sesuai dan semua vektor kunci. Skor ini merepresentasikan relevansi setiap posisi dengan posisi yang sedang diproses.
- Jumlah Terbobot dari Nilai: Skor perhatian dinormalisasi menggunakan fungsi softmax, dan bobot perhatian yang dihasilkan digunakan untuk menghitung jumlah terbobot dari vektor nilai, menghasilkan representasi output untuk posisi yang sedang diproses.
Perhatian multiquery, varian dari mekanisme perhatian diri, memungkinkan model untuk menangkap hubungan yang berbeda dengan menghitung skor perhatian di seluruh beberapa “kepala” secara paralel, masing-masing dengan proyeksi query, kunci, dan nilai yang unik.
Varian Arsitektur dan Konfigurasi
Sementara prinsip-prinsip inti dari LLM berbasis decoder tetap konsisten, peneliti telah menjelajahi berbagai varian arsitektur dan konfigurasi untuk meningkatkan kinerja, efisiensi, dan kemampuan generalisasi. Dalam bagian ini, kita akan mempelajari pilihan arsitektur yang berbeda dan implikasinya.
Jenis Arsitektur
LLM berbasis decoder dapat diklasifikasikan menjadi tiga jenis utama: encoder-decoder, decoder kausal, dan decoder awalan. Setiap jenis arsitektur menampilkan pola perhatian yang berbeda.
Arsitektur Encoder-Decoder
Berdasarkan model Transformer vanilla, arsitektur encoder-decoder terdiri dari dua tumpukan: encoder dan decoder. Encoder menggunakan lapisan perhatian diri multiquery yang ditumpuk untuk mengkodekan urutan input dan menghasilkan representasi laten. Decoder kemudian melakukan perhatian silang pada representasi ini untuk menghasilkan urutan target. Meskipun efektif dalam berbagai tugas NLP, beberapa LLM, seperti Flan-T5, mengadopsi arsitektur ini.
Arsitektur Decoder Kausal
Arsitektur decoder kausal mengincorporasi masker perhatian unidireksional, memungkinkan setiap token input untuk memperhatikan hanya token masa lalu dan dirinya sendiri. Baik token input dan output diproses dalam decoder yang sama. Model terkenal seperti GPT-1, GPT-2, dan GPT-3 dibangun di atas arsitektur ini, dengan GPT-3 menunjukkan kemampuan pembelajaran konteks yang luar biasa. Banyak LLM, termasuk OPT, BLOOM, dan Gopher, telah secara luas mengadopsi decoder kausal.
Arsitektur Decoder Awalan
Juga dikenal sebagai decoder non-kausal, arsitektur decoder awalan memodifikasi mekanisme masker dari decoder kausal untuk memungkinkan perhatian bidireksional atas token awalan dan perhatian unidireksional pada token yang dihasilkan. Seperti arsitektur encoder-decoder, decoder awalan dapat mengkodekan urutan awalan secara bidireksional dan memprediksi token output secara autoregresif menggunakan parameter yang dibagikan. LLM yang berbasis pada decoder awalan termasuk GLM130B dan U-PaLM.
Ketiga jenis arsitektur ini dapat diperluas menggunakan teknik mixture-of-experts (MoE), yang mengaktifkan subset dari bobot jaringan neural untuk setiap input. Pendekatan ini telah digunakan dalam model seperti Switch Transformer dan GLaM, dengan peningkatan jumlah ahli atau ukuran parameter total menunjukkan peningkatan kinerja yang signifikan.
Transformer Decoder-Saja: Mengadopsi Sifat Autoregresif
Sementara arsitektur transformer asli dirancang untuk tugas urutan-ke-urutan seperti terjemahan mesin, banyak tugas NLP, seperti pemodelan bahasa dan generasi teks, dapat diformulasikan sebagai masalah autoregresif, di mana model menghasilkan satu token pada satu waktu, dikondisikan pada token yang sebelumnya dihasilkan.
Masuklah transformer decoder-saja, varian dari arsitektur transformer yang hanya mempertahankan komponen decoder. Arsitektur ini sangat cocok untuk tugas autoregresif, karena menghasilkan token output satu per satu, memanfaatkan token yang sebelumnya dihasilkan sebagai konteks input.
Perbedaan kunci antara transformer decoder-saja dan decoder transformer asli terletak pada mekanisme perhatian diri. Dalam pengaturan decoder-saja, operasi perhatian diri dimodifikasi untuk mencegah model memperhatikan token masa depan, sebuah sifat yang dikenal sebagai kausalitas. Ini dicapai melalui teknik yang disebut “perhatian diri yang dimasker”, di mana skor perhatian yang sesuai dengan posisi masa depan diatur ke negatif tak terhingga, secara efektif memmasker mereka selama normalisasi softmax.
Komponen Arsitektur LLM Berbasis Decoder
Sementara prinsip-prinsip inti dari perhatian diri dan perhatian diri yang dimasker tetap sama, LLM berbasis decoder modern telah memperkenalkan beberapa inovasi arsitektur untuk meningkatkan kinerja, efisiensi, dan kemampuan generalisasi. Mari kita jelajahi beberapa komponen dan teknik kunci yang digunakan dalam LLM yang berkinerja tinggi.
Representasi Input
Sebelum memproses urutan input, LLM berbasis decoder menggunakan teknik tokenisasi dan penyematan untuk mengubah teks mentah menjadi representasi numerik yang sesuai untuk model.
Tokenisasi: Proses tokenisasi mengubah teks input menjadi urutan token, yang dapat berupa kata, subkata, atau bahkan karakter individu, tergantung pada strategi tokenisasi yang digunakan. Teknik tokenisasi populer untuk LLM termasuk Byte-Pair Encoding (BPE), SentencePiece, dan WordPiece. Metode-metode ini bertujuan untuk mencapai keseimbangan antara ukuran kosakata dan granularitas representasi, memungkinkan model untuk menangani kata-kata yang jarang atau tidak ada dalam kosakata secara efektif.
Penyematan Token: Setelah tokenisasi, setiap token dipetakan ke representasi vektor yang padat disebut penyematan token. Penyematan ini dipelajari selama proses pelatihan dan menangkap hubungan semantik dan sintaksis antara token.
Penyematan Posisional: Model transformer memproses seluruh urutan input secara bersamaan, tidak memiliki konsep posisi token yang inheren seperti model berulang. Untuk menggabungkan informasi posisional, penyematan posisional ditambahkan ke penyematan token, memungkinkan model untuk membedakan antara token berdasarkan posisi mereka dalam urutan. LLM awal menggunakan penyematan posisional tetap berdasarkan fungsi sinusoidal, sementara model yang lebih baru telah menjelajahi penyematan posisional yang dapat dipelajari atau teknik penyandian posisional alternatif seperti penyematan posisional rotary.
Blok Perhatian Multi-Kepala
Blok bangunan inti dari LLM berbasis decoder adalah lapisan perhatian multiquery, yang melakukan operasi perhatian diri yang dimasker yang dijelaskan sebelumnya. Lapisan-lapisan ini ditumpuk beberapa kali, dengan setiap lapisan memperhatikan output dari lapisan sebelumnya, memungkinkan model untuk menangkap ketergantungan yang semakin kompleks dan representasi.
Kepala Perhatian: Setiap lapisan perhatian multiquery terdiri dari beberapa “kepala perhatian”, masing-masing dengan proyeksi query, kunci, dan nilai yang unik. Ini memungkinkan model untuk memperhatikan aspek yang berbeda dari input secara bersamaan, menangkap hubungan dan pola yang beragam.
Koneksi Residu dan Normalisasi Lapisan: Untuk memfasilitasi pelatihan jaringan yang dalam dan mengurangi masalah gradien yang menghilang, LLM berbasis decoder menggunakan koneksi residu dan teknik normalisasi lapisan. Koneksi residu menambahkan input dari sebuah lapisan ke outputnya, memungkinkan gradien untuk mengalir lebih mudah selama backpropagation. Normalisasi lapisan membantu untuk menstabilkan aktivasi dan gradien, lebih lanjut meningkatkan stabilitas pelatihan dan kinerja.
Lapisan Feed-Forward
Selain lapisan perhatian multiquery, LLM berbasis decoder juga mencakup lapisan feed-forward, yang menerapkan jaringan neural sederhana ke setiap posisi dalam urutan. Lapisan-lapisan ini memperkenalkan non-linearitas dan memungkinkan model untuk mempelajari representasi yang lebih kompleks.
Fungsi Aktivasi: Pilihan fungsi aktivasi dalam lapisan feed-forward dapat secara signifikan mempengaruhi kinerja model. Sementara LLM awal bergantung pada aktivasi ReLU yang umum, model yang lebih baru telah mengadopsi fungsi aktivasi yang lebih canggih seperti Gaussian Error Linear Unit (GELU) atau aktivasi SwiGLU, yang menunjukkan kinerja yang ditingkatkan.
Perhatian Sparis dan Transformer yang Efisien
Sementara mekanisme perhatian diri kuat, itu memiliki kompleksitas komputasi kuadrat terhadap panjang urutan, membuatnya komputasi yang mahal untuk urutan yang panjang. Untuk mengatasi tantangan ini, beberapa teknik telah diusulkan untuk mengurangi kompleksitas komputasi dan memori dari perhatian diri, memungkinkan pemrosesan urutan yang lebih panjang secara efisien.
Perhatian Sparis: Teknik perhatian sparis, seperti yang digunakan dalam model GPT-3, secara selektif memperhatikan subset posisi dalam urutan input, bukan menghitung skor perhatian untuk semua posisi. Ini dapat secara signifikan mengurangi kompleksitas komputasi sambil mempertahankan kinerja yang wajar.
Perhatian Jendela Geser: Diperkenalkan dalam model Mistral 7B, perhatian jendela geser (SWA) adalah teknik sederhana namun efektif yang membatasi jangkauan perhatian setiap token ke ukuran jendela tetap. Pendekatan ini memanfaatkan kemampuan lapisan transformer untuk mengirimkan informasi di seluruh lapisan, secara efektif meningkatkan jangkauan perhatian tanpa kompleksitas kuadrat dari perhatian diri penuh.
Cache Buffer Bergulir: Untuk lebih mengurangi kebutuhan memori, terutama untuk urutan yang panjang, model Mistral 7B menggunakan cache buffer bergulir. Teknik ini menyimpan dan menggunakannya kembali vektor kunci dan nilai yang dihitung untuk ukuran jendela tetap, menghindari perhitungan berulang dan meminimalkan penggunaan memori.
Perhatian Kueri Bergelompok: Diperkenalkan dalam model LLaMA 2, perhatian kueri bergelompok (GQA) adalah varian dari mekanisme perhatian multiquery yang membagi kepala perhatian menjadi kelompok, masing-masing dengan matriks kunci dan nilai yang umum. Pendekatan ini mencapai keseimbangan antara efisiensi perhatian multiquery dan kinerja perhatian diri standar, menyediakan waktu inferensi yang ditingkatkan sambil mempertahankan hasil yang berkualitas tinggi.
















