BAB 08
Estimasi Waktu: 55 menit
Level: Advanced
Sebelum melakukan fine-tuning, Anda wajib paham perbedaannya dengan RAG:
| Fitur | RAG | Fine-Tuning |
|---|---|---|
| Tujuan | Memberi akses informasi baru/dinamis. | Mengubah gaya bicara, format output, atau memperdalam pemahaman domain khusus. |
| Pengetahuan Baru | Sangat mudah (tinggal update Vector DB). | Sulit (model rentan mengalami catastrophic forgetting). |
| Kebutuhan GPU | Rendah (tidak melatih model). | Tinggi (butuh GPU VRAM besar). |
| Kompleksitas | Sedang. | Tinggi. |
Aturan praktisnya: Gunakan RAG untuk fakta. Gunakan Fine-Tuning untuk gaya, format, dan instruksi khusus.
Melatih seluruh parameter LLM (Full Fine-Tuning) sangat mahal karena membutuhkan puluhan GPU H100. Industri menggunakan PEFT (Parameter-Efficient Fine-Tuning), dengan teknik paling populer bernama LoRA (Low-Rank Adaptation).
Dibanding memperbarui matriks bobot ($W$) berukuran raksasa pada LLM, LoRA mengunci bobot asli model dan menyisipkan dua matriks adaptor kecil berpangkat rendah ($A$ dan $B$) secara paralel. Ini mengurangi jumlah parameter yang perlu dilatih hingga 99%.
INPUT ───┬───────────────────► WEIGHTS (Locked: W) ───┬───► OUTPUT
│ │
└─► ADAPTER A (Rank r) ──► ADAPTER B (r) ───┘
QLoRA (Quantized LoRA) menyempurnakan LoRA dengan melakukan kuantisasi model dasar ke format 4-bit (NormalFloat4) dan menggunakan optimasi memori tingkat lanjut (Double Quantization & Paged Optimizers).
Dengan QLoRA, model berukuran 7B atau 8B parameter (seperti Llama-3-8B) dapat difine-tune di satu GPU konsumer (seperti RTX 3090/4090 dengan 24GB VRAM) bukan kluster server.
Setelah model dilatih mengikuti instruksi, model perlu diselaraskan (aligned) agar aman, jujur, dan tidak beracun (helpful, harmless, honest).
base_model: meta-llama/Meta-Llama-3-8B-Instruct
load_in_4bit: true
adapter: lora
lora_r: 16
lora_alpha: 32
datasets:
- path: ojan/dataset_percakapan_indo
type: sharegpt
dataset_prepared_path: last_run_prepared
val_set_size: 0.05
output_dir: ./model_output
sequence_len: 2048
learning_rate: 0.0002
Target: Memahami proses teknis melatih model kustom menggunakan LoRA/QLoRA dan bagaimana mempersiapkan dataset training.