Baru-baru ini saya mencoba melakukan fine-tuning SFT dan LoRA dengan memanfaatkan model kecil Gemma 3 untuk domain rekomendasi film. Dalam proses eksperimen, saya merasakan beberapa keterbatasan pada kemampuan model kecil (SLM) dalam menyerap pengetahuan, sehingga saya mengajukan pertanyaan ini.
[Eksperimen]
- Model yang digunakan: gemma-3-270m-it, gemma-3-1b-it
- Metode pelatihan: LoRA dan SFT
- Hasil eksperimen: model 1B masih mampu melakukan penalaran sampai tingkat tertentu berdasarkan pengetahuan yang sudah ada, tetapi model 270M memberi kesan bahwa karena keterbatasan jumlah parameter, bahkan "wadah" untuk menerima pengetahuan domain baru itu sendiri terasa kurang memadai.
Seluruh proses tuning saya catat dalam beberapa posting di blog berikut.
https://seungsang.tistory.com/entry/…
[Masalah yang dihadapi]
- Batas kapasitas LoRA: karena parameter yang dilatih hanya sekitar 1% dari keseluruhan, ada keterbatasan untuk injeksi pengetahuan yang melampaui sekadar adaptasi tugas (Task Adaptation).
- Kekhawatiran soal full fine-tuning: jika seluruh bobot model diperbarui, injeksi pengetahuan memang menguntungkan, tetapi saya merasa kemampuan penalaran umum (Reasoning) yang sudah dimiliki model bisa hilang. Saya ingin mencampurkan data replay untuk mencegah hal ini, tetapi data pelatihan model dasar tidak dibuka, sehingga situasinya sulit.
Untuk film, saya rasa fine-tuning bisa dilakukan karena model memang sudah memiliki pengetahuan terkait.
Namun, bagaimana jika saya ingin berbasis pada domain tertentu?
Jika ingin mengkhususkan model kecil pada domain tertentu, strategi apa yang bisa digunakan untuk mengatasi keterbatasan kapasitas parameter dan menyuntikkan pengetahuan domain secara efektif?
Mohon banyak saran. Saya juga akan sangat berterima kasih jika bisa berbagi berbagai pengalaman, termasuk CPT (Continue Pre-training).
5 komentar
Saya juga sempat hampir gila karena fine-tuning dengan 7B tidak berhasil. PTSD jadi kambuh.
Apakah Anda masih melakukannya sekarang?
Kalau boleh tahu, apakah ada hal yang Anda rasakan saat mencobanya serta tip semacam itu?
LoRA dan fine-tuning kurang cocok untuk injeksi pengetahuan. LoRA dan fine-tuning paling optimal untuk menyesuaikan gaya/nada keluaran. Akan jauh lebih efektif jika Anda memasukkan informasi terkait pengetahuan ke dalam prompt input dalam bentuk RAG, lalu mengevaluasi recall/akurasi data keluaran sebelum melanjutkan ke LoRA/fine-tuning.
Saya juga ingin menambahkan satu suara lagi untuk penggunaan RAG.
Terima kasih atas jawabannya.
Kalau menggunakan RAG, saya agak bingung soal bagaimana mengambil data yang relevan dengan domain secara tepat.
Apakah model embedding-nya sendiri juga perlu dilatih...
Saya juga ingin mengurangi jumlah token pada model kecil, jadi saya ingin menginternalisasi pengetahuan, tetapi sepertinya ada batasannya dengan LoRA.
Saya akan mempertimbangkan hal-hal yang Anda sebutkan. Terima kasih.