Apa itu language model?
Language model (model bahasa) adalah model yang memberi probabilitas pada setiap token berikutnya yang mungkin, berdasarkan token sebelumnya. Mengalikan probabilitas-probabilitas itu menghasilkan skor untuk satu kalimat utuh, dan mengambil sample darinya satu token demi satu menghasilkan teks baru. Model ini dilatih dengan membaca teks dalam jumlah besar dan meminimalkan cross-entropy pada setiap token berikutnya.
Model bahasa dipakai di autocomplete, pengenalan suara, terjemahan mesin, dan asisten chat seperti ChatGPT dan Claude, yaitu model bahasa Transformer berukuran besar yang di-fine-tune agar mengikuti instruksi. Untuk memprediksi kata berikutnya dengan baik, model butuh tata bahasa, fakta, dan sedikit penalaran. Karena itu, pretraining dengan satu tujuan ini menghasilkan model yang bisa diadaptasi untuk meringkas, menulis kode, menjawab pertanyaan, dan banyak tugas lain.
Ide utama
- Model bahasa menghasilkan distribusi probabilitas atas token berikutnya, berdasarkan token sebelumnya.
- Chain rule mengubah probabilitas token berikutnya menjadi probabilitas satu sequence utuh.
- Generation bersifat autoregressive: setiap token hasil sampling ditambahkan ke konteks.
- Training meminimalkan cross-entropy, yaitu −log p dari token berikutnya yang benar.
- Temperature, top-k, dan top-p mengubah cara token dipilih, bukan apa yang dipelajari model.
- Perplexity, yaitu eksponensial dari rata-rata cross-entropy, mengukur seberapa baik model memprediksi teks held-out.
Pertanyaan umum
Apa bedanya language model dan large language model?
Tujuannya sama. Large language model (LLM) adalah model bahasa, hampir selalu Transformer decoder-only, dengan miliaran parameter yang dilatih pada triliunan token. Asisten chat menambahkan training lanjutan dengan instruksi dan umpan balik manusia di atas model dasar itu.
Apa bedanya causal language modeling dan masked language modeling?
Causal language model memprediksi setiap token dari token sebelumnya. Model ala GPT bekerja seperti ini, dan cara inilah yang membuatnya bisa menghasilkan teks. Masked language model, seperti BERT, menyembunyikan sebagian token dan memprediksinya dari konteks di dua sisi. Model masked lebih baik sebagai encoder untuk tugas pemahaman, tetapi tidak bisa menghasilkan teks dari kiri ke kanan.
Kenapa model bahasa suka mengarang?
Tujuan training menghargai teks yang mungkin muncul dalam konteksnya, bukan teks yang benar. Saat model tidak punya fakta yang dibutuhkan, lanjutan yang lancar dan yakin tetapi salah masih bisa dinilai mungkin. Retrieval, pemakaian tool, dan training yang menghargai jawaban "saya tidak tahu" mengurangi masalah ini, tetapi tidak menghilangkannya.
Apa itu bits per character?
Ini cross-entropy yang diukur dalam bit (log basis 2) dan dibagi jumlah karakter, bukan jumlah token. Karena tidak bergantung pada tokenizer, ukuran ini adil untuk membandingkan model yang memecah teks dengan cara berbeda, sesuatu yang tidak bisa dilakukan perplexity per token.
Penjelasan terkait
- Tokenization & BPE · Cara teks menjadi angka, dari karakter sampai subword token lewat byte-pair encoding
- Softmax, Logit, dan Temperature · Mengubah skor mentah menjadi probabilitas
- Entropy dan Cross-Entropy · Mengukur kejutan, ketidakpastian, dan kualitas prediksi
- Decoder-Only Transformer · Arsitektur di balik GPT dan LLM modern
- Arsitektur Transformer · Panduan visual untuk paper "Attention Is All You Need"
- BERT dan Masked Language Modeling · Sembunyikan satu kata, prediksi dari dua sisi: cara BERT mempelajari representasi bidirectional yang dalam
Referensi
- Bengio et al. (2003), "A Neural Probabilistic Language Model", JMLR
- Holtzman et al. (2019), "The Curious Case of Neural Text Degeneration"
- Kaplan et al. (2020), "Scaling Laws for Neural Language Models"
- Jurafsky & Martin, "Speech and Language Processing" (3rd ed. draft)
Terakhir diperbarui