Model dan platform AI

Model Bahasa Besar Berbasis Decoder: Panduan Lengkap

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

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

Arsitektur Transformer

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.

Perhatian Multiquery

Perhatian Multiquery

Operasi perhatian diri dapat dibagi menjadi tiga langkah utama:

  1. 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.
  2. 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.
  3. 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.

penyematan vektor

penyematan vektor

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.

Perhatian Kueri Bergelompok

Perhatian Kueri Bergelompok

Ukuran Model dan Penskalaan

Salah satu karakteristik yang membedakan LLM modern adalah skala mereka, dengan jumlah parameter yang berkisar dari miliaran hingga ratusan miliar. Meningkatkan ukuran model telah menjadi faktor kunci dalam mencapai kinerja yang berkinerja tinggi, karena model yang lebih besar dapat menangkap pola dan hubungan yang lebih kompleks dalam data.

Jumlah Parameter: Jumlah parameter dalam LLM berbasis decoder sebagian besar ditentukan oleh dimensi penyematan (d_model), jumlah kepala perhatian (n_heads), jumlah lapisan (n_layers), dan ukuran kosakata (vocab_size). Sebagai contoh, model GPT-3 memiliki 175 miliar parameter, dengan d_model = 12288, n_heads = 96, n_layers = 96, dan vocab_size = 50257.

Paralelisasi Model: Melatih dan mengirimkan model yang sangat besar memerlukan sumber daya komputasi yang substansial dan perangkat keras khusus. Untuk mengatasi tantangan ini, teknik paralelisasi model telah digunakan, di mana model dibagi di seluruh beberapa GPU atau TPU, dengan setiap perangkat bertanggung jawab atas sebagian dari komputasi.

Mixture-of-Experts: Pendekatan lain untuk menskalakan LLM adalah arsitektur mixture-of-experts (MoE), yang menggabungkan beberapa model ahli, masing-masing mengkhususkan diri dalam subset data atau tugas tertentu. Model Mixtral 8x7B adalah contoh model MoE yang menggunakan Mistral 7B sebagai model dasar, mencapai kinerja yang unggul sambil mempertahankan efisiensi komputasi.

Inferensi dan Generasi Teks

Salah satu kasus penggunaan utama dari LLM berbasis decoder adalah generasi teks, di mana model menghasilkan teks yang koheren dan terdengar alami berdasarkan prompt atau konteks yang diberikan.

Decoding Autoregresif: Selama inferensi, LLM berbasis decoder menghasilkan teks secara autoregresif, memprediksi satu token pada satu waktu berdasarkan token yang sebelumnya dihasilkan dan prompt input. Proses ini berlanjut hingga kriteria penghentian yang ditentukan tercapai, seperti mencapai panjang urutan maksimum atau menghasilkan token akhir urutan.

Strategi Sampling: Untuk menghasilkan teks yang beragam dan realistis, berbagai strategi sampling dapat digunakan, seperti sampling top-k, sampling top-p (juga dikenal sebagai sampling nukleus), atau penskalaan suhu. Teknik-teknik ini mengontrol trade-off antara keanekaragaman dan koherensi teks yang dihasilkan dengan menyesuaikan distribusi probabilitas atas kosakata.

Rekayasa Prompt: Kualitas dan spesifisitas prompt input dapat secara signifikan mempengaruhi teks yang dihasilkan. Rekayasa prompt, seni membuat prompt yang efektif, telah muncul sebagai aspek penting dalam menggunakan LLM untuk berbagai tugas, memungkinkan pengguna untuk memandu proses generasi model dan mencapai output yang diinginkan.

Decoding Berbasis Manusia: Untuk lebih meningkatkan kualitas dan koherensi teks yang dihasilkan, teknik seperti Pembelajaran Reinforcement dari Umpan Balik Manusia (RLHF) telah digunakan. Dalam pendekatan ini, penilai manusia memberikan umpan balik pada teks yang dihasilkan oleh model, yang kemudian digunakan untuk memperbarui model, secara efektif menyelaraskan model dengan preferensi manusia dan meningkatkan outputnya.

Kemajuan dan Arah Masa Depan

Bidang LLM berbasis decoder berkembang pesat, dengan penelitian dan kemajuan baru terus mendorong batas apa yang dapat dicapai oleh model-model ini. Berikut beberapa kemajuan yang terkenal dan arah masa depan yang potensial:

Varian Transformer yang Efisien: Sementara perhatian sparis dan perhatian jendela geser telah membuat kemajuan signifikan dalam meningkatkan efisiensi LLM berbasis decoder, peneliti secara aktif menjelajahi arsitektur transformer alternatif dan mekanisme perhatian untuk lebih mengurangi kebutuhan komputasi sambil mempertahankan atau meningkatkan kinerja.

LLM Multimodal: Memperluas kemampuan LLM di luar teks, model multimodal bertujuan untuk mengintegrasikan beberapa modalitas, seperti gambar, audio, atau video, ke dalam kerangka kerja tunggal. Ini membuka kemungkinan aplikasi seperti kapion gambar, pertanyaan visual, dan generasi konten multimedia.

Generasi Terkontrol: Mengaktifkan kontrol yang halus atas teks yang dihasilkan adalah arah yang menantang tetapi penting untuk LLM. Teknik seperti generasi teks terkontrol dan penyalaan prompt bertujuan untuk memberikan pengguna kontrol yang lebih granular atas berbagai atribut teks yang dihasilkan, seperti gaya, nada, atau persyaratan konten tertentu.

Kesimpulan

LLM berbasis decoder telah muncul sebagai kekuatan transformasional dalam bidang pemrosesan bahasa alami, mendorong batas apa yang mungkin dilakukan dengan generasi dan pemahaman bahasa. Dari awalnya sebagai varian sederhana dari arsitektur transformer, model-model ini telah berkembang menjadi sistem yang sangat canggih dan kuat, memanfaatkan teknik dan inovasi arsitektur mutakhir.

Ketika kita terus menjelajahi dan meningkatkan LLM berbasis decoder, kita dapat mengharapkan untuk menyaksikan pencapaian yang lebih mengesankan dalam tugas terkait bahasa, serta integrasi model-model ini ke dalam berbagai aplikasi dan domain. Namun, penting untuk mengatasi pertimbangan etika, tantangan interpretasi, dan potensi bias yang mungkin muncul dari penerapan luas model-model kuat ini.

Dengan tetap berada di garis depan penelitian, mempromosikan kolaborasi terbuka, dan mempertahankan komitmen yang kuat untuk pengembangan AI yang bertanggung jawab, kita dapat membuka potensi penuh dari LLM berbasis decoder sambil memastikan mereka dikembangkan dan digunakan dengan cara yang aman, etis, dan bermanfaat bagi masyarakat.

Saya telah menghabiskan lima tahun terakhir dengan membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menarik. Minat dan keahlian saya telah memimpin saya untuk berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Rasa ingin tahu saya yang terus-menerus juga telah menarik saya ke arah Natural Language Processing, sebuah bidang yang saya ingin jelajahi lebih lanjut.