Belajar AI #49: Pretraining ke Post-Training — Pipeline Data, SFT, RLHF, dan DPO

Di episode #48 kita sudah membongkar bagaimana teks dipecah jadi token dan kenapa model kadang “salah hitung”. Kali ini saya naik satu level lebih ke atas pipeline: dari teks mentah di internet sampai jadi model yang enak diajak bicara. Saya baru menyadari bahwa kata “model” yang kita pakai sehari-hari — GPT, Qwen, Llama — sebenarnya adalah hasil akhir dari dua tahap raksasa yang sangat berbeda sifatnya: pretraining dan post-training. Memahami dua tahap ini membuat saya berhenti menganggap LLM sebagai kotak ajaib.

Pretraining: belajar menebak token berikutnya

Pretraining adalah tahap di mana model belajar dari teks internet dalam jumlah masif — buku, kode, artikel, forum. Tugasnya sederhana secara konsep: tebak token berikutnya. Tapi dari kesederhanaan itu muncul kemampuan yang tidak kita programkan: tata bahasa, fakta dunia, bahkan pola penalaran. Ini yang membuat saya selalu mengingatkan diri sendiri: pretraining memberi model pengetahuan, bukan kepatuhan.

Sebelum teks masuk ke GPU, ada kerja data yang sering diremehkan: deduplication (membuang dokumen kembar supaya tidak memboroskan komputasi dan mencegah model “hafal” sampah), filter kualitas, deteksi bahasa, dan pembuangan konten berbahaya. Di episode #47 saya sempat menyebut attention sebagai jantung arsitektur; di sini saya melihat sisi lain — kualitas data mungkin lebih menentukan kualitas akhir model daripada jumlah parameter.

Hasil pretraining adalah base model. Base model ini pintar tapi tidak enak diajak kerja: kalau saya tanya “berapa hasil 17 kali 24?”, ia bisa menjawab pertanyaan lain, melanjutkan tulisan orang, atau berhenti di tengah kalimat. Ia tidak paham format “jawaban untuk manusia”. Di sinilah post-training masuk.

Supervised fine-tuning: mengajari format percakapan

SFT (supervised fine-tuning) melatih model pada contoh pasangan “pertanyaan → jawaban berkualitas”. Yang mengejutkan bagi saya: ternyata tidak harus jutaan contoh. Temuan paper LIMA (2023) menunjukkan bahwa sekitar seribu contoh berkualitas tinggi sudah cukup untuk membuat base model tampak “terdidik” — bukan karena model belajar pengetahuan baru, tapi karena format dan gaya percakapan ternyata sudah tersimpan dari pretraining, tinggal diaktifkan. Analogi programmer-nya: pretraining menulis semua fungsi di codebase, SFT hanya menulis README yang benar.

RLHF dan DPO: menyelaraskan dengan preferensi manusia

SFT membuat model patuh pada format, tapi belum tentu jawabannya bagus. RLHF (Reinforcement Learning from Human Feedback) menambah satu lapis: manusia membandingkan beberapa jawaban model, perbandingan itu dilatih menjadi reward model, lalu model dioptimasi supaya jawabannya mendapat skor tinggi. Pola ini dipopulerkan paper InstructGPT (2022) yang menjadi fondasi keluarga GPT-3.5/4.

RLHF kompleks: butuh tahap training terpisah, reward model bisa “dicurangi” model (reward hacking), dan stabilnya susah. DPO (Direct Preference Optimization, 2023) menyederhanakannya — langsung melatih model dari pasangan preferensi tanpa reward model terpisah. Bagi saya DPO terasa seperti mengganti pipeline training berlapis dengan satu fungsi loss yang lebih bersih. Banyak model open-weight modern (mis. keluarga Zephyr) memakai DPO di tahap akhir.

Urutan ringkasnya: pretraining → SFT → alignment (RLHF/DPO), ditambah tahap-tahap tambahan di industri seperti distillation (mengerdilkan model besar ke model kecil — ide lama dari Hinton 2015 yang kembali tren), reasoning distillation (model kecil meniru jejak berpikir model besar), dan quantization yang sudah kita bahas di #24.

Kenapa ini penting untuk keputusan rekayasa saya

Paham pipeline ini mengubah beberapa keputusan praktis saya. Pertama, saat memilih model (topik #52 nanti), saya tidak lagi melihat nama besar saja — base model vs instruct model itu produk berbeda: base untuk fine-tuning sendiri (#53), instruct untuk dipakai langsung. Kedua, saat hasil fine-tuning terasa “belum nurut”, saya bisa menebak masalahnya di tahap mana: kurang contoh format (SFT) atau kualitas preferensi buruk (alignment). Ketiga, klaim “model kami proprietary” sering berarti hanya post-training di atas base model orang lain — hal biasa, tapi bagus untuk dinilai jujur.

Inti catatan ini satu: model = data + banyak tahap pelatihan. Yang kita beli dari provider bukan cuma bobot neural network, tapi juga kurasi data dan keputusan alignment di baliknya.

Sumber

  • LIMA: Less Is More for Alignment — arxiv.org/abs/2305.11206 (2023)
  • Training language models to follow instructions (InstructGPT) — arxiv.org/abs/2203.02155 (2022)
  • Direct Preference Optimization (DPO) — arxiv.org/abs/2305.18290 (Rafailov dkk., 2023)
  • Distilling the Knowledge in a Neural Network — arxiv.org/abs/1503.02531 (Hinton dkk., 2015)
  • Dokumentasi Hugging Face TRL (trainer SFT/DPO) — huggingface.co/docs/trl

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses