Kecerdasan buatan
Model Bahasa Besar Berbasis Dekoder: Panduan Lengkap
Model Bahasa Besar (LLM) telah merevolusi bidang pemrosesan bahasa alami (NLP) dengan menunjukkan kemampuan luar biasa dalam menghasilkan teks seperti manusia, menjawab pertanyaan, dan membantu berbagai tugas terkait bahasa. Inti dari model-model kuat ini adalah arsitektur transformer hanya-dekoder, varian dari arsitektur transformer asli yang diusulkan dalam makalah seminal “Attention is All You Need” oleh Vaswani dkk.
Dalam panduan komprehensif ini, kita akan mengeksplorasi cara kerja internal LLM berbasis dekoder, menyelami blok bangunan fundamental, inovasi arsitektural, dan detail implementasi yang telah mendorong model-model ini ke garis depan penelitian dan aplikasi NLP.
Arsitektur Transformer: Penyegaran
Sebelum menyelami spesifik LLM berbasis dekoder, penting untuk mengulas kembali arsitektur transformer, fondasi tempat model-model ini dibangun. Transformer memperkenalkan pendekatan baru untuk pemodelan urutan, mengandalkan sepenuhnya pada mekanisme perhatian untuk menangkap ketergantungan jarak jauh dalam data, tanpa memerlukan lapisan berulang atau konvolusional.
Arsitektur transformer asli terdiri dari dua komponen utama: sebuah enkoder dan sebuah dekoder. Enkoder memproses urutan masukan dan menghasilkan representasi yang dikontekstualisasikan, yang kemudian dikonsumsi oleh dekoder untuk menghasilkan urutan keluaran. Arsitektur ini awalnya dirancang untuk tugas penerjemahan mesin, di mana enkoder memproses kalimat masukan dalam bahasa sumber, dan dekoder menghasilkan kalimat yang sesuai dalam bahasa target.
Self-Attention: Kunci Kesuksesan Transformer
Inti dari transformer adalah mekanisme self-attention, teknik ampuh yang memungkinkan model untuk menimbang dan mengagregasi informasi dari posisi yang berbeda dalam urutan masukan. Tidak seperti model urutan tradisional, yang memproses token masukan secara berurutan, self-attention memungkinkan model untuk menangkap ketergantungan antara pasangan token mana pun, terlepas dari posisinya dalam urutan.
Operasi self-attention dapat dipecah menjadi tiga langkah utama:
- Proyeksi Query, Key, dan Value: Urutan masukan diproyeksikan ke dalam tiga representasi terpisah: queries (Q), keys (K), dan values (V). Proyeksi ini diperoleh dengan mengalikan masukan dengan matriks bobot yang dipelajari.
- Perhitungan Skor Perhatian: Untuk setiap posisi dalam urutan masukan, skor perhatian dihitung dengan mengambil produk titik antara vektor query yang sesuai dan semua vektor key. Skor ini mewakili relevansi setiap posisi terhadap posisi yang sedang diproses.
- Jumlah Tertimbang dari Values: Skor perhatian dinormalisasi menggunakan fungsi softmax, dan bobot perhatian yang dihasilkan digunakan untuk menghitung jumlah tertimbang dari vektor value, menghasilkan representasi keluaran untuk posisi saat ini.
Multi-head attention, varian dari mekanisme self-attention, memungkinkan model untuk menangkap berbagai jenis hubungan dengan menghitung skor perhatian di beberapa “head” secara paralel, masing-masing dengan set proyeksi query, key, dan value-nya sendiri.
Varian dan Konfigurasi Arsitektural
Sementara prinsip inti LLM berbasis dekoder tetap konsisten, para peneliti telah mengeksplorasi berbagai varian arsitektural dan konfigurasi untuk meningkatkan kinerja, efisiensi, dan kemampuan generalisasi. Di bagian ini, kita akan menyelami pilihan arsitektural yang berbeda dan implikasinya.
Jenis Arsitektur
LLM berbasis dekoder dapat diklasifikasikan secara luas menjadi tiga jenis utama: enkoder-dekoder, dekoder kausal, dan dekoder prefiks. Setiap jenis arsitektur menunjukkan pola perhatian yang berbeda.
Arsitektur Enkoder-Dekoder
Berdasarkan model Transformer vanilla, arsitektur enkoder-dekoder terdiri dari dua tumpukan: sebuah enkoder dan sebuah dekoder. Enkoder menggunakan lapisan multi-head self-attention bertumpuk untuk mengkodekan urutan masukan dan menghasilkan representasi laten. Dekoder kemudian melakukan cross-attention pada representasi ini untuk menghasilkan urutan target. Meskipun efektif dalam berbagai tugas NLP, sedikit LLM, seperti Flan-T5, yang mengadopsi arsitektur ini.
Arsitektur Dekoder Kausal
Arsitektur dekoder kausal menggabungkan mask perhatian searah, memungkinkan setiap token masukan hanya memperhatikan token masa lalu dan dirinya sendiri. Baik token masukan maupun keluaran diproses dalam dekoder yang sama. Model-model terkenal seperti GPT-1, GPT-2, dan GPT-3 dibangun di atas arsitektur ini, dengan GPT-3 menunjukkan kemampuan pembelajaran dalam konteks yang luar biasa. Banyak LLM, termasuk OPT, BLOOM, dan Gopher, telah mengadopsi dekoder kausal secara luas.
Arsitektur Dekoder Prefiks
Juga dikenal sebagai dekoder non-kausal, arsitektur dekoder prefiks memodifikasi mekanisme masking dari dekoder kausal untuk memungkinkan perhatian dua arah pada token prefiks dan perhatian searah pada token yang dihasilkan. Seperti arsitektur enkoder-dekoder, dekoder prefiks dapat mengkodekan urutan prefiks secara dua arah dan memprediksi token keluaran secara autoregresif menggunakan parameter bersama. LLM berbasis dekoder prefiks termasuk GLM130B dan U-PaLM.
Ketiga jenis arsitektur dapat diperluas menggunakan teknik penskalaan mixture-of-experts (MoE), yang mengaktifkan secara jarang subset bobot jaringan saraf untuk setiap masukan. 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 Hanya-Dekoder: Merangkul Sifat Autoregresif
Sementara arsitektur transformer asli dirancang untuk tugas urutan-ke-urutan seperti penerjemahan mesin, banyak tugas NLP, seperti pemodelan bahasa dan pembuatan teks, dapat dirumuskan sebagai masalah autoregresif, di mana model menghasilkan satu token pada satu waktu, dikondisikan pada token yang sebelumnya dihasilkan.
Masuklah transformer hanya-dekoder, varian sederhana dari arsitektur transformer yang hanya mempertahankan komponen dekoder. Arsitektur ini sangat cocok untuk tugas autoregresif, karena menghasilkan token keluaran satu per satu, memanfaatkan token yang sebelumnya dihasilkan sebagai konteks masukan.
Perbedaan utama antara transformer hanya-dekoder dan dekoder transformer asli terletak pada mekanisme self-attention. Dalam pengaturan hanya-dekoder, operasi self-attention dimodifikasi untuk mencegah model memperhatikan token masa depan, properti yang dikenal sebagai kausalitas. Ini dicapai melalui teknik yang disebut “masked self-attention,” di mana skor perhatian yang sesuai dengan posisi masa depan diatur ke negatif tak terhingga, secara efektif menutupinya selama langkah normalisasi softmax.
Komponen Arsitektural LLM Berbasis Dekoder
Sementara prinsip inti self-attention dan masked self-attention tetap sama, LLM berbasis dekoder modern telah memperkenalkan beberapa inovasi arsitektural untuk meningkatkan kinerja, efisiensi, dan kemampuan generalisasi. Mari kita eksplorasi beberapa komponen dan teknik kunci yang digunakan dalam LLM mutakhir.
Representasi Masukan
Sebelum memproses urutan masukan, LLM berbasis dekoder menggunakan teknik tokenisasi dan embedding untuk mengonversi teks mentah menjadi representasi numerik yang sesuai untuk model.
Tokenisasi: Proses tokenisasi mengonversi teks masukan menjadi urutan token, yang dapat berupa kata, subkata, atau bahkan karakter individual, tergantung pada strategi tokenisasi yang digunakan. Teknik tokenisasi populer untuk LLM termasuk Byte-Pair Encoding (BPE), SentencePiece, dan WordPiece. Metode-metode ini bertujuan untuk menyeimbangkan ukuran kosakata dan granularitas representasi, memungkinkan model menangani kata-kata langka atau di luar kosakata secara efektif.
Token Embeddings: Setelah tokenisasi, setiap token dipetakan ke representasi vektor padat yang disebut token embedding. Embedding ini dipelajari selama proses pelatihan dan menangkap hubungan semantik dan sintaksis antar token.
Positional Embeddings: Model transformer memproses seluruh urutan masukan secara bersamaan, tidak memiliki gagasan bawaan tentang posisi token yang ada dalam model berulang. Untuk menggabungkan informasi posisional, positional embeddings ditambahkan ke token embeddings, memungkinkan model membedakan token berdasarkan posisinya dalam urutan. LLM awal menggunakan positional embeddings tetap berdasarkan fungsi sinusoidal, sementara model yang lebih baru telah mengeksplorasi positional embeddings yang dapat dipelajari atau teknik pengkodean posisional alternatif seperti rotary positional embeddings.
Blok Multi-Head Attention
Blok bangunan inti dari LLM berbasis dekoder adalah lapisan multi-head attention, yang melakukan operasi masked self-attention yang dijelaskan sebelumnya. Lapisan-lapisan ini ditumpuk beberapa kali, dengan setiap lapisan memperhatikan keluaran lapisan sebelumnya, memungkinkan model menangkap ketergantungan dan representasi yang semakin kompleks.
Attention Heads: Setiap lapisan multi-head attention terdiri dari beberapa “attention head,” masing-masing dengan set proyeksi query, key, dan value-nya sendiri. Ini memungkinkan model memperhatikan aspek berbeda dari masukan secara bersamaan, menangkap hubungan dan pola yang beragam.
Koneksi Residual dan Layer Normalization: Untuk memfasilitasi pelatihan jaringan yang dalam dan mengurangi masalah vanishing gradient, LLM berbasis dekoder menggunakan teknik koneksi residual dan layer normalization. Koneksi residual menambahkan masukan suatu lapisan ke keluarannya, memungkinkan gradien mengalir lebih mudah selama backpropagation. Layer normalization membantu menstabilkan aktivasi dan gradien, lebih lanjut meningkatkan stabilitas pelatihan dan kinerja.
Lapisan Feed-Forward
Selain lapisan multi-head attention, LLM berbasis dekoder menggabungkan lapisan feed-forward, yang menerapkan jaringan saraf feed-forward sederhana ke setiap posisi dalam urutan. Lapisan-lapisan ini memperkenalkan non-linearitas dan memungkinkan model mempelajari representasi yang lebih kompleks.
Fungsi Aktivasi: Pilihan fungsi aktivasi dalam lapisan feed-forward dapat berdampak signifikan pada kinerja model. Sementara LLM awal mengandalkan fungsi aktivasi ReLU yang banyak digunakan, model yang lebih baru telah mengadopsi fungsi aktivasi yang lebih canggih seperti Gaussian Error Linear Unit (GELU) atau aktivasi SwiGLU, yang telah menunjukkan peningkatan kinerja.
Sparse Attention dan Transformer Efisien
Meskipun mekanisme self-attention kuat, ia memiliki kompleksitas komputasi kuadratik sehubungan dengan panjang urutan, membuatnya mahal secara komputasi untuk urutan panjang. Untuk mengatasi tantangan ini, beberapa teknik telah diusulkan untuk mengurangi persyaratan komputasi dan memori dari self-attention, memungkinkan pemrosesan urutan yang lebih panjang secara efisien.
Sparse Attention: Teknik sparse attention, seperti yang digunakan dalam model GPT-3, secara selektif memperhatikan subset posisi dalam urutan masukan, daripada menghitung skor perhatian untuk semua posisi. Ini dapat secara signifikan mengurangi kompleksitas komputasi sambil mempertahankan kinerja yang wajar.
Sliding Window Attention: Diperkenalkan dalam model Mistral 7B, sliding window attention (SWA) adalah teknik sederhana namun efektif yang membatasi rentang perhatian setiap token ke ukuran jendela tetap. Pendekatan ini memanfaatkan kemampuan lapisan transformer untuk mentransmisikan informasi di beberapa lapisan, secara efektif meningkatkan rentang perhatian tanpa kompleksitas kuadratik dari self-attention penuh.
Rolling Buffer Cache: Untuk lebih mengurangi persyaratan memori, terutama untuk urutan panjang, model Mistral 7B menggunakan rolling buffer cache. Teknik ini menyimpan dan menggunakan kembali vektor key dan value yang dihitung untuk ukuran jendela tetap, menghindari komputasi berulang dan meminimalkan penggunaan memori.
Grouped Query Attention: Diperkenalkan dalam model LLaMA 2, grouped query attention (GQA) adalah varian dari mekanisme multi-query attention yang membagi attention head menjadi grup, setiap grup berbagi matriks key dan value yang umum. Pendekatan ini menyeimbangkan efisiensi multi-query attention dan kinerja self-attention standar, memberikan waktu inferensi yang lebih baik sambil mempertahankan hasil berkualitas tinggi.
<a href="https://www.unite.ai/wp-content/uploads/202













