Belajar AI Engineer - Fine-tuning Fundamentals
Episode 10 of 28

Belajar AI Engineer - Fine-tuning Fundamentals

Memahami kapan fine-tuning benar-benar dibutuhkan dan kapan cukup prompt/RAG. Dibahas LoRA dan QLoRA, persiapan dataset, serta praktik fine-tune model kecil agar tidak membuang waktu dan biaya untuk yang tidak perlutype: text

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Di episode 9 kalian memasang alat ukur. Episode ini membahas salah satu pertanyaan paling sering disalahpahami AI engineer: fine-tuning. Banyak tim langsung fine-tune model saat prompt "tidak cukup bagus" — padahal 90% kasus, yang dibutuhkan adalah prompt yang lebih baik, RAG, atau evaluasi yang lebih teliti.

Mengapa episode ini penting? Karena fine-tuning itu mahal: biaya data, waktu, dan risiko. Memahami kapan melakukannya — dan kapan tidak — adalah keterampilan yang menyelamatkan tim dari pemborosan besar. Dan ketika benar-benar dibutuhkan, teknik modern (LoRA/QLoRA) membuatnya jauh lebih murah daripada yang dibayangkan.

Kapan Perlu Fine-tune?

Pertanyaan kuncinya: "Apakah masalahnya bisa diselesaikan dengan prompt?"

SituasiSolusi yang Tepat
Model belum tahu fakta spesifikRAG (episode 7)
Format output tidak konsistenStructured output (episode 5)
Gaya/kepribadian yang diinginkanPrompt engineering yang matang
Terminologi/format domain yang jarang diketahui modelFine-tuning
Biaya/latensi terlalu tinggi (model terlalu besar)Fine-tuning (model kecil bisa mengimbangi)
Data sensitif, model API dilarangSelf-host + fine-tune (episode 21)

Aturan praktisnya: coba prompt + RAG + eval dulu; fine-tune hanya jika langkah-langkah itu gagal di bawah evaluasi yang terukur. Fine-tune bukan solusi prompt yang malas.

Apa yang Terjadi Saat Fine-tuning

Fine-tuning mengubah bobot model dengan data contoh jawaban yang diinginkan. Yang berubah adalah perilaku: cara model mengikuti format, gaya menulis, atau memahami domain — bukan menanamkan fakta baru (untuk itu tetap butuh RAG).

Konsekuensi penting: fine-tuning tidak membuat model tahu fakta yang tidak ada di data training-nya. Ia mengajarkan bagaimana menjawab, bukan apa yang harus dijawab. Kesalahan memahami ini adalah sumber paling umum kekecewaan terhadap fine-tuning.

LoRA dan QLoRA: Fine-tuning Murah

Fine-tune penuh (semua bobot) butuh GPU raksasa. LoRA (Low-Rank Adaptation) mengubahnya: alih-alih melatih semua bobot, LoRA melatih matriks tambahan kecil yang "menyuntikkan" adaptasi ke lapisan model. Parameter terlatih turun drastis (0.1-1% dari total).

QLoRA menambahkan quantisasi: bobot inti dikompres ke presisi rendah (4-bit) sehingga model kecil bisa di-fine-tune di satu GPU konsumen.

AspekFull fine-tuneLoRAQLoRA
Bobot yang dilatihSemuaSangat sedikitSangat sedikit
Kebutuhan GPUSangat besarBesarSatu GPU (konsumen)
KualitasTertinggiMendekati fullSedikit di bawah LoRA
Ukuran outputModel penuhAdapter kecil (MB)Adapter kecil (MB)

Kelebihan paling praktis: output LoRA berupa adapter kecil (puluhan MB), bukan model utuh — mudah disimpan, diberi versi, dan diganti.

Persiapan Data: Format yang Benar

Fine-tuning adalah proyek data, bukan proyek kode. Dataset harus berkualitas tinggi: contoh kecil yang bagus mengalahkan contoh banyak yang asal-asalan. Format dasar untuk instruksi:

dataset_instruksi.jsonl
{"instruction": "Tulis ringkasan laporan ini",
 "input": "Laporan penjualan Q3...",
 "output": "Penjualan Q3 tumbuh 12%, didorong segmen digital."}
{"instruction": "Konversi nominal ke rupiah tertulis",
 "input": "150000",
 "output": "seratus lima puluh ribu rupiah"}

Aturan emas persiapan data:

  • Bersihkan dulu: perbaiki typo, hapus duplikat, standarisasi format.
  • Variasi alami: jangan 500 contoh dengan pola kalimat identik.
  • Evaluasi subset: ukur dulu 20-50 contoh di eval set, bukan langsung full training.
  • Jangan pernah memakai output model lain tanpa verifikasi manusia.

Praktik: Fine-tune Model Kecil

Untuk pemula, jalur termudah adalah Unsloth (optimasi fine-tuning) di atas Qwen/Llama kecil dengan QLoRA:

PythonFine-tune QLoRA dengan Unsloth
from unsloth import FastLanguageModel
from unsloth.chat_templates import get_chat_template
 
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/Qwen2.5-7B-Instruct",
    max_seq_length=2048,
    load_in_4bit=True,
)
 
model = FastLanguageModel.get_peft_model(
    model,
    r=16,
    lora_alpha=16,
    lora_dropout=0,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                    "gate_proj", "up_proj", "down_proj"],
    use_gradient_checkpointing=True,
)
 
# ... siapkan dataset, lalu latih dengan SFTTrainer ...

Jalur ini bisa dilakukan di Google Colab gratis. Hasil akhirnya adalah adapter kecil yang bisa digabungkan ke model kapan saja:

Simpan dan gabungkan adapter
model.save_pretrained_merged("model-hasil", tokenizer, save_method="merged_16bit")

Tip

Selalu mulai dari model kecil (1.5B-8B) dan evaluasi hasilnya sebelum berinvestasi ke model besar. Untuk banyak produk, model 3-8B yang di-fine-tune sudah mengalahkan model frontier yang di-prompting — dengan biaya serving sepersepuluhnya (episode 22).

Common Pitfalls

  • Fine-tune untuk menanamkan fakta: fakta tetap butuh RAG — fine-tune tidak menyimpan dokumen.
  • Dataset kotor: garbage in, garbage out — dan untuk fine-tuning, dampaknya jauh lebih mahal untuk diperbaiki.
  • Fine-tune model yang salah ukuran: mulai kecil; jika kualitas kurang, baru naik ukuran.
  • Tidak mengevaluasi vs baseline: ukur dengan golden dataset (episode 9) sebelum dan sesudah fine-tune.

Penutup

Inti yang harus dibawa pulang:

  • Fine-tune adalah langkah terakhir, bukan pertama: coba prompt + RAG + eval dulu.
  • Fine-tune mengubah perilaku, bukan menanamkan fakta.
  • LoRA/QLoRA membuat fine-tune murah; outputnya adapter kecil yang mudah dikelola.
  • Fine-tuning adalah proyek data — kualitas dataset menentukan segalanya.

Di episode 11 selanjutnya kita masuk wilayah paling menarik di 2026: agents & agentic workflows — ReAct, tool loops, orchestrasi, multi-agent, dan membangun agent end-to-end yang bisa menyelesaikan tugas berlapis. Sampai jumpa di episode 11!

Belajar AI Engineer - Fine-tuning Fundamentals | Belajar AI Engineer