Apa itu LoRA?
Low-Rank Adaptation — teknik fine-tune model besar yang menghemat 100-1000× resource dibanding fine-tune penuh.
LoRA (Low-Rank Adaptation — Adaptasi Berperingkat Rendah) adalah teknik fine-tune model besar (LLM, diffusion model) dengan HANYA mempelajari sedikit parameter baru, sambil membekukan sebagian besar model asli. Menghemat RAM 3-10×, disk space 100-1000×.
Masalah yang diselesaikan LoRA
Fine-tune penuh Llama 70B membutuhkan:
- ~280GB GPU RAM (hanya untuk weights)
- File output: 280GB per versi
- Sulit dibagikan, sulit deploy banyak versi
→ Terlalu mahal untuk individu dan startup.
Ide LoRA
Alih-alih mengubah seluruh matriks bobot W, LoRA mempelajari 2 matriks kecil A dan B sehingga:
W_new = W + A × B (A dan B jauh lebih kecil daripada W)
A × B adalah “delta” yang ditambahkan ke weight asli. Karena A, B berperingkat rendah, total parameter yang harus dipelajari berkurang 100-1000 kali lipat.
Saat inference: tambahkan delta ke weight asli → dapatkan model fine-tuned. Saat ingin versi lain → load delta yang berbeda.
Manfaat
| Faktor | Full fine-tune | LoRA |
|---|---|---|
| GPU RAM saat training | 280GB+ | 30-80GB |
| Ukuran file output | 280GB | 50-500MB |
| Waktu training | Mingguan | Jam |
| Jumlah versi disimpan | Sulit | Mudah (per versi beberapa ratus MB) |
Use case nyata
Personalisasi LLM
Fine-tune ringan Llama mengikuti gaya menulis Anda → file LoRA 100MB, bisa dijadikan “personal assistant”.
Domain specialization
Fine-tune untuk bidang medis/hukum/keuangan dari Llama base → LoRA per domain.
Style untuk Stable Diffusion
Train LoRA untuk gaya seni tertentu (anime, oil painting, photo style spesifik) → file 50-200MB. Komunitas membagikan ribuan LoRA di Civitai.
Character LoRA
Train LoRA mempelajari wajah satu karakter/orang spesifik → setiap gambar yang dihasilkan akan punya karakter tersebut.
QLoRA — varian populer
QLoRA = Quantized LoRA:
- Quantize model asli ke 4-bit
- Terapkan LoRA di atasnya
- → Bisa training Llama 70B di 1 GPU 24-48GB!
Ini teknik paling populer bagi hobbyist untuk fine-tune model besar.
Keterbatasan
- Tidak bisa mengubah perilaku inti secara drastis — hanya menyesuaikan ringan
- Bisa catastrophic forget pengetahuan lama jika data fine-tune terlalu menyimpang
- Quality < full fine-tune sekitar 5-10% pada benchmark
→ Cukup baik untuk 90% use case. Full fine-tune hanya perlu jika mengejar SOTA.
Tools
- HuggingFace PEFT — package utama untuk LoRA
- Axolotl — wrapper yang mudah digunakan
- Unsloth — optimasi speed 2-5×
- Kohya_ss — UI training Stable Diffusion LoRA