Belajar AI - Fine-Tuning & Transfer Learning
Episode 12 of 24

Belajar AI - Fine-Tuning & Transfer Learning

Mempelajari transfer learning: memanfaatkan pretrained model dan menyesuaikannya dengan data spesifik; kapan memakai PEFT/LoRA vs full fine-tuning untuk LLM; serta kapan cukup menggunakan prompt, RAG, atau bahkan tidak perlu training sama sekali.

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

Pendahuluan

Setelah di episode 11 kalian menguasai training dan experiment tracking, episode ini membuka salah satu jalan pintas terbesar di dunia AI modern: transfer learning dan fine-tuning. Model-model raksasa (GPT, Llama, Qwen) sudah dilatih dengan biaya ratusan juta dolar — kalian tidak perlu mengulanginya dari nol, cukup menyesuaikan pengetahuan yang sudah ada dengan data kalian.

Mengapa episode ini penting? Karena pertanyaan "apakah saya perlu fine-tuning?" adalah salah satu pertanyaan paling sering di dunia kerja, dan jawaban yang benar sering kali adalah tidak — cukup prompt engineering atau RAG. Episode ini mengajarkan kalian membedakan kapan training benar-benar diperlukan dan teknik mana yang paling efisien.

Transfer Learning: Menyambung Pengetahuan

Transfer learning adalah konsep: pengetahuan yang dipelajari dari satu tugas (misal memahami bahasa secara umum) "ditransfer" ke tugas lain yang terkait (misal menganalisis review produk kalian). Alih-alih belajar dari nol, model mulai dari pengetahuan yang sudah kaya.

Analoginya: seorang yang sudah fasih bahasa Indonesia jauh lebih cepat belajar bahasa Jawa daripada orang yang belum pernah berbahasa apa pun. Pengetahuan yang ada dipercepat, bukan dimulai ulang.

Untuk computer vision (episode 6), transfer learning hampir selalu menang dibanding melatih CNN dari nol:

Fine-tune ResNet untuk klasifikasi khusus
import torch.nn as nn
from torchvision import models
 
model = models.resnet18(weights=models.ResNet18_Weights.DEFAULT)
model.fc = nn.Linear(model.fc.in_features, 5)  # ganti head untuk 5 kelas
 
# Bekukan backbone: pelajari hanya head baru
for param in model.parameters():
    param.requires_grad = False
for param in model.fc.parameters():
    param.requires_grad = True

Dengan cara ini, hanya lapisan klasifikasi terakhir yang dilatih — cepat dan hemat karena model hanya menyesuaikan output, bukan mempelajari kembali fitur gambar.

Fine-Tuning LLM

Tiga Tingkat Pendekatan

Keputusan besar untuk LLM adalah memilih tingkat intervensi. Dari yang paling murah ke paling mahal:

100%
PendekatanBiayaKapan Dipakai
Prompt engineeringHampir nolTugas sederhana, model sudah mumpuni
RAG (episode 13)Rendah (index + retrieval)Butuh fakta/data kalian, jawaban harus grounded
PEFT/LoRASedang (GPU kecil)Gaya/format/output khusus, butuh konsistensi
Full fine-tuningTinggi (GPU besar)Perlu mengubah perilaku model secara mendalam

PEFT dan LoRA

PEFT (Parameter-Efficient Fine-Tuning) melatih sebagian kecil parameter saja, sementara parameter model utama dibekukan. Teknik paling populer adalah LoRA (Low-Rank Adaptation): menambahkan matriks kecil (low-rank) pada lapisan model, melatih matriks kecil itu saja, lalu menggabungkannya saat inference.

Dampaknya luar biasa: dari model 7 miliar parameter, LoRA cukup melatih beberapa juta parameter — bisa dijalankan di GPU konsumen dan hasilnya disimpan sebagai file kecil (ratusan MB), bukan duplikat model penuh.

Fine-tune dengan PEFT/LoRA
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model
 
model = AutoModelForCausalLM.from_pretrained("qwen/Qwen2.5-7B-Instruct")
lora_config = LoraConfig(
    r=16,                    # rank matriks adaptasi
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.05,
)
model = get_peft_model(model, lora_config)
print(f"Trainable params: {model.num_parameters(only_trainable=True):,}")
# hanya ~0.1% dari total parameter yang dilatih

Tip

Aturan praktis: jika masalahnya tentang fakta atau dokumen (produk kalian, dokumen internal) → RAG, bukan fine-tuning. Jika masalahnya tentang gaya dan format output (mengikuti template, meniru gaya penulisan, output JSON yang ketat) → LoRA. Fine-tuning penuh jarang diperlukan tim kecil.

Kapan Fine-Tuning dan Kapan Tidak

Fine-tune jika:

  • Gaya/suara jawaban harus konsisten dengan brand.
  • Format output sangat spesifik (struktur JSON rumit, format laporan).
  • Model perlu memahami jargon/terminologi internal yang tidak ada di model umum.
  • Butuh mengurangi hallucination pada domain tertentu — meski RAG biasanya lebih murah untuk ini.

Jangan fine-tune jika:

  • Masalahnya hanya butuh pengetahuan yang sudah dimiliki model (pakai prompt yang baik).
  • Data kalian bisa diambil on-demand dari dokumen (pakai RAG).
  • Volume data sedikit (ratusan sampel) — model akan menghafal, bukan belajar.
  • Budget GPU terbatas dan solusi non-training sudah cukup.

Evaluasi Hasil Fine-Tuning

Fine-tuning tanpa evaluasi adalah tebakan. Sebelum dan sesudah fine-tuning, uji pada holdout set yang sama:

  1. Kumpulkan 50-100 pertanyaan uji yang mewakili tugas nyata.
  2. Catat kualitas jawaban sebelum fine-tuning (dengan prompt polos).
  3. Fine-tune, lalu uji lagi dengan prompt yang sama.
  4. Bandingkan: akurasi format, akurasi konten, konsistensi gaya.

Jika skor tidak naik, fine-tuning tidak berguna untuk kasus ini — lebih baik buang effort ke RAG atau evaluasi prompt. Jangan ragu untuk menyimpulkan "tidak perlu fine-tuning".

Common Pitfalls

  • Fine-tune data sedikit: model menghafal (overfit). Minimum realistis ribuan sampel untuk efek nyata.
  • Kontaminasi set evaluasi: contoh uji ikut masuk data training → skor palsu.
  • Melatih seluruh model tanpa alasan: full fine-tuning boros GPU; coba LoRA dulu.
  • Mengganti model tanpa menjaga pipeline: fine-tune dari base yang sama dengan inference yang dipakai produksi.
  • Tidak menyimpan base model: artefak LoRA tanpa model base tidak berguna.

Penutup

Inti yang harus dibawa pulang:

  • Transfer learning = mulai dari pengetahuan pretrained; fine-tune head/adaptasi saja.
  • Untuk LLM, urutan biaya: prompt → RAG → PEFT/LoRA → full fine-tuning.
  • LoRA melatih sebagian kecil parameter — hemat GPU, hasil file kecil.
  • Fine-tune untuk gaya/format; gunakan RAG untuk fakta. Evaluasi dulu; sering kali jawabannya adalah "tidak perlu fine-tuning".

Di episode 13 selanjutnya kita membangun fondasi aplikasi LLM paling penting: Vector Databases & Retrieval (RAG) — embeddings, indexing, retrieval-augmented generation untuk jawaban yang grounded, plus praktik ChromaDB, Pinecone, dan pipeline dokumen → QA. Sampai jumpa di episode 13!

Belajar AI - Fine-Tuning & Transfer Learning | Belajar Artificial Intelligence