TentangAI.com – Fine-tuning adalah proses melatih kembali model bahasa (LLM) yang sudah ada menggunakan dataset spesifik agar model tersebut menguasai tugas atau domain tertentu. Bagi pemula, teknik Parameter-Efficient Fine-Tuning (PEFT) seperti LoRA adalah cara paling hemat biaya karena hanya melatih sebagian kecil parameter model.
Melakukan full fine-tuning pada model dengan 7B parameter membutuhkan sekitar 60 GB VRAM. Angka ini sangat sulit dicapai oleh perangkat keras konsumen biasa yang umumnya hanya memiliki kapasitas memori jauh di bawah standar tersebut.
Panduan Persiapan: Mengubah Data Mentah Menjadi Dataset JSONL
Keberhasilan model sangat dipengaruhi oleh dataset. Jatin Garg memperingatkan bahwa penggunaan dataset yang terbatas atau repetitif dapat menyebabkan overfitting, yang pada akhirnya menghancurkan kemampuan generalisasi model.
Langkah Membersihkan Data Excel/PDF
Data mentah biasanya tersimpan dalam format Excel atau PDF. Anda tidak bisa langsung memasukkan file ini ke dalam proses training. Ikuti langkah berikut untuk memastikan data siap pakai:
- Ekstrak teks dari PDF menggunakan library Python seperti PyMuPDF atau secara manual melalui copy-paste ke spreadsheet.
- Bersihkan karakter sampah atau simbol encoding yang tidak terbaca di Excel.
- Pastikan setiap baris memiliki pasangan yang jelas antara instruksi dan jawaban.
- Hapus data duplikat. Memasukkan data yang sama berulang kali akan menyebabkan model mengalami overfitting secara ekstrem.
Pola instruksi yang identik adalah risiko besar. Jika data tidak bervariasi, model akan kehilangan kemampuan generalisasinya karena hanya menghafal instruksi yang sempit.
Struktur Format Instruksi JSONL yang Benar
Format standar yang digunakan oleh sebagian besar framework fine-tuning adalah JSONL (JSON Lines). Berbeda dengan JSON biasa, setiap baris dalam file JSONL adalah satu objek JSON mandiri. Struktur minimal yang harus ada adalah:
instruction: Perintah spesifik yang diberikan kepada model.input: Konteks tambahan jika diperlukan (bisa dikosongkan).output: Jawaban ideal yang ingin dipelajari oleh model.
Pastikan file disimpan dengan encoding UTF-8 untuk menghindari error karakter saat proses loading dataset di lingkungan Linux atau Google Colab.
Strategi Memilih Metode: LoRA, QLoRA, atau Full Fine-Tuning?
Pemilihan metode yang tidak tepat dapat memicu Out of Memory error atau pembengkakan biaya komputasi. Gunakan perbandingan teknis berikut untuk menentukan strategi yang paling efisien bagi resource Anda:
| Metode | VRAM per 1GB Model | Parameter yang Dilatih | Kecepatan |
|---|---|---|---|
| Full Fine-Tuning | 16+ GB | ~100% | Lambat |
| LoRA | 2+ GB | 0.5-5% | Cepat |
| QLoRA | 0.5+ GB | 0.5-5% | Sedikit lebih lambat dari LoRA |
Data di atas menunjukkan bahwa teknik PEFT secara signifikan mengurangi kebutuhan komputasi. Meskipun Full Fine-Tuning memperbarui seluruh parameter, metode seperti LoRA yang diperkenalkan oleh Microsoft researchers hanya melatih matriks adaptasi kecil, sehingga jauh lebih efisien.
Langkah Praktis Fine-Tuning Menggunakan Google Colab (Zero to Hero)
Google Colab menyediakan akses GPU gratis yang cukup untuk menjalankan teknik PEFT. Ini adalah titik awal terbaik bagi pemula untuk bereksperimen tanpa investasi perangkat keras yang besar.
Setup Environment dengan bitsandbytes
Instalasi library sangat penting untuk mendukung kuantisasi. Gunakan perintah pip berikut untuk menyiapkan lingkungan kerja Anda:
!pip install -q bitsandbytes transformers peft accelerate datasets
Library bitsandbytes sangat krusial dalam metode QLoRA yang dikembangkan oleh University of Washington’s UW NLP group. Library ini memungkinkan model dimuat dalam format 4-bit, yang secara drastis memangkas penggunaan VRAM.
Menjalankan Script Training LoRA
Alur kerja dimulai dengan memuat model dasar dan mengonfigurasinya menggunakan adapter LoRA. Ikuti langkah-langkah berikut:
- Muat model menggunakan
AutoModelForCausalLMdengan parameterdevice_map="auto". - Definisikan konfigurasi LoRA menggunakan kelas
LoraConfigdari library PEFT. - Gunakan
SFTTrainerdari library TRL untuk memulai proses training.
Shortcut: Gunakan tombol Ctrl + Enter untuk menjalankan sel di Colab secara cepat, atau Ctrl + M + I untuk menghentikan eksekusi jika Anda melihat penggunaan VRAM mendekati batas maksimal.
Hati-hati saat memilih rank (r) pada konfigurasi LoRA. Nilai r yang terlalu tinggi akan meningkatkan penggunaan memori, sementara nilai yang terlalu rendah mungkin tidak cukup kuat untuk menangkap pengetahuan baru.
Estimasi Biaya: Cloud API vs GPU Rental (RunPod/Lambda Labs)
Pengembangan AI memerlukan perencanaan anggaran yang matang. Anda harus memilih antara kemudahan Cloud API atau efisiensi biaya melalui penyewaan GPU secara langsung.
| Opsi | Kelebihan | Kekurangan | Estimasi Biaya |
|---|---|---|---|
| Cloud API (Proprietary) | Tanpa setup server | Kontrol terbatas & mahal | Pay-per-token |
| GPU Rental (RunPod/Lambda) | Kontrol penuh & murah | Perlu setup environment | $0.40 – $2.00 (sekitar Rp7.137 – Rp35.684) / jam |
Sebagai gambaran, menyewa GPU di RunPod dengan harga tertentu per jam jauh lebih ekonomis untuk pelatihan intensif dibandingkan membayar biaya token yang besar pada API tertutup. Teknik PEFT membantu Anda menghemat uang secara signifikan karena waktu pelatihan menjadi jauh lebih singkat.
Catatan: Konversi menggunakan nilai tukar yang berlaku; nilai tukar dapat berubah sewaktu-waktu.
Troubleshooting: Mengatasi Overfitting dan Catastrophic Forgetting
Pengembang sering menghadapi masalah overfitting dan catastrophic forgetting. Jika tidak dikelola, model akan kehilangan kemampuan generalisasi yang berharga.
Mengapa Model Menjadi ‘Bodoh’ di Tugas Lain?
Fenomena ini disebut catastrophic forgetting. Hal ini terjadi ketika bobot model yang sudah memiliki pengetahuan umum tertimpa oleh informasi baru dari dataset spesifik Anda. Jatin Garg mencatat bahwa kesalahan dalam pemilihan dataset dan durasi training adalah penyebab utama hilangnya kemampuan generalisasi ini. Model seolah-olah “melupakan” cara berbicara secara normal karena terlalu fokus pada pola sempit dalam dataset baru.
Teknik Early Stopping untuk Menjaga Generalisasi
Untuk mencegah hal tersebut, Anda wajib mengimplementasikan Early Stopping. Teknik ini bekerja dengan memantau validation loss secara berkala. Jika dalam beberapa epoch nilai loss validasi tidak menunjukkan penurunan atau justru meningkat, sistem akan secara otomatis menghentikan proses training.
Implementasikan strategi pemantauan yang ketat. Simpanlah hanya best checkpoint berdasarkan performa pada data validasi untuk memastikan model tetap memiliki kemampuan generalisasi yang optimal.
FAQ
Kapan saya harus menggunakan RAG alih-alih Fine-tuning?
Gunakan RAG jika Anda perlu memberikan pengetahuan terbaru atau data eksternal yang sering berubah tanpa melatih ulang model (seperti yang diperkenalkan Meta AI pada 2020). Gunakan fine-tuning untuk mengubah gaya bicara atau format output model.
Apakah QLoRA lebih baik dari LoRA?
Tidak selalu. Meskipun QLoRA jauh lebih hemat memori (0.5+ GB per 1GB model), ia memiliki risiko penurunan akurasi dibandingkan LoRA yang lebih stabil.
Apa itu LoRA-FA?
LoRA-FA adalah teknik lanjut yang mencoba menutup celah performa dengan LoRA dengan menggunakan struktur asimetris (melatih hanya matriks projection-up BB) untuk mendekati hasil Full Fine-Tuning.



