Ketika General LLM Tidak Cukup
Saya pernah punya klien di Bandung yang butuh AI untuk memproses dokumen hukum Indonesia. GPT-4 bagus, tapi tidak cukup — model standar tidak memahami istilah hukum spesifik seperti "Putusan MA No. 123/K/Pdt/2024" atau struktur perjanjian dalam konteks KUH Perdata. Inilah saatnya fine-tuning.
Fine-tuning bukan tentang membuat model yang "lebih pintar." Ini tentang membuat model yang lebih relevan untuk domain spesifik Anda. Dan ini berbeda dari RAG — fine-tuning mengubah cara model "berpikir", bukan hanya memberikan informasi tambahan.
Kapan Fine-Tuning vs RAG?
Pertanyaan yang sering saya dapat dari klien:
- Pakai RAG kalau: data berubah sering, butuh source tracking, data sangat besar
- Pakai Fine-Tuning kalau: butuh output format spesifik, tone/style tertentu, domain knowledge yang deeply specialized
- Pakai keduanya kalau: ini yang paling sering saya rekomendasikan di production
Step-by-Step Fine-Tuning
from openai import OpenAI
import json
client = OpenAI()
training_data = []
for item in raw_documents:
training_data.append({
"messages": [
{"role": "system", "content": "Anda adalah asisten hukum Indonesia yang ahli..."},
{"role": "user", "content": f"Analisis pasal berikut: {item['pasal']}"},
{"role": "assistant", "content": item['analisis']}
]
})
with open("training_data.jsonl", "w") as f:
for item in training_data:
f.write(json.dumps(item) + "\n")
file = client.files.create(
file=open("training_data.jsonl", "rb"),
purpose="fine-tune"
)
job = client.fine_tuning.jobs.create(
training_file=file.id,
model="gpt-4o-mini-2024-07-18",
hyperparameters={"n_epochs": 3}
)
print(f"Fine-tuning job started: {job.id}")
Pelajaran dari Production
Dari pengalaman saya, ada beberapa hal kritis yang sering dilupakan developer Indonesia saat fine-tuning:
Data Quality > Data Quantity. Saya pernah coba fine-tuning dengan 10,000 data point yang medioker, dan hasilnya kalah dari 500 data point yang high-quality. Bersihkan data Anda, pastikan konsistensi format, dan hapus noise.
Evaluation Strategy. Saya selalu split data 80/20 untuk train/validation. Dan yang penting, test dengan kasus-kasus edge case yang belum pernah dilihat model sebelumnya.
Cost Management. Fine-tuning itu mahal. Mulai dengan model kecil (gpt-4o-mini), lalu upgrade kalau hasilnya kurang memuaskan. Biaya fine-tuning biasanya $50-200 untuk dataset sekitar 5,000 examples.
Kesimpulan
Fine-tuning adalah powerful tool, tapi bukan untuk semua kasus. Evaluasi kebutuhan Anda dulu. Di pasar Indonesia, kemampuan membangun custom AI solutions itu masih sangat langka — ini peluang besar bagi engineer yang mau mendalami.
Alternatif: Open Source Models untuk Fine-Tuning
Untuk budget yang lebih terbatas, saya juga merekomendasikan open source models seperti Llama 3 atau Mistral. Dengan tools seperti Unsloth atau axolotl, fine-tuning bisa dilakukan dengan GPU yang lebih terjangkau. Di Indonesia, beberapa cloud provider lokal bahkan menyediakan GPU instances yang bisa dipakai untuk fine-tuning.
Yang perlu diperhatikan dengan open source: kamu perlu handle infrastruktur sendiri — deployment, scaling, dan maintenance. Tapi untuk use case yang sensitif secara data (misalnya data kesehatan atau keuangan), ini bisa jadi keuntungan karena data tidak keluar dari infrastructure Anda.