LoRA: Fine-Tuning Murah untuk Model Bahasa Besar
Melatih ulang seluruh parameter model bahasa besar kian sulit dilakukan. LoRA menawarkan jalan lain: bekukan model yang sudah pintar, lalu latih bagian kecil saja. Pendekatan ini membuat penyesuaian model jadi jauh lebih terjangkau.
Masalah fine-tuning penuh
Makalah "LoRA: Low-Rank Adaptation of Large Language Models" membuka dengan satu pengamatan penting. Paradigma besar dalam pemrosesan bahasa alami adalah pra-pelatihan berskala besar pada data domain umum, lalu adaptasi ke tugas atau domain tertentu. Masalahnya muncul saat model makin besar: fine-tuning penuh, yang melatih ulang semua parameter model, jadi makin tidak praktis.
Makalah itu memberi contoh model dengan 175 miliar parameter. Menerapkan instance terpisah dari model hasil fine-tuning, masing-masing dengan 175 miliar parameter, disebut sangat mahal. Bayangkan kamu punya beberapa tugas berbeda. Setiap tugas menuntut salinan penuh model. Penyimpanan, memori, dan biaya komputasi menumpuk cepat seiring bertambahnya tugas.
Ide LoRA: bekukan bobot, latih matriks kecil
Jawaban yang diajukan makalah itu bernama Low-Rank Adaptation, disingkat LoRA. Caranya sederhana untuk dijelaskan: bobot model yang sudah dilatih dibekukan, tidak diubah sama sekali. Ke dalam tiap lapisan arsitektur Transformer disuntikkan matriks dekomposisi rank rendah yang bisa dilatih. Hanya matriks tambahan inilah yang ikut diperbarui saat proses pelatihan.
Karena bobot asli tetap utuh, jumlah parameter yang benar-benar dilatih menyusut drastis. Model dasar tetap menjadi fondasi yang sama, sementara matriks kecil di tiap lapisan menyesuaikan perilakunya untuk tugas baru. Inilah alasan pendekatan ini disebut adaptasi berparameter efisien: kamu mengubah model tanpa menyentuh mayoritas parameternya.
Makalah tersebut melaporkan bahwa dibandingkan fine-tuning GPT-3 175B dengan Adam, LoRA dapat mengurangi jumlah parameter yang dilatih hingga 10.000 kali dan kebutuhan memori GPU sekitar 3 kali. Angka ini datang dari pengujian yang dilaporkan penulisnya, dan tetap menarik dicatat sebagai gambaran skala, bukan janji universal untuk semua model atau tugas.
Makalah itu juga menyajikan penyelidikan empiris terhadap rank-deficiency dalam adaptasi model bahasa. Temuan ini, menurut penulisnya, membantu menjelaskan mengapa LoRA bisa bekerja dengan baik. Gagasan intinya, penyesuaian yang dibutuhkan untuk memindahkan model ke tugas baru sering kali bisa didekati dengan matriks berdimensi rendah, sehingga matriks kecil pun cukup untuk menangkap penyesuaian yang penting.
Penulis makalah bahkan merilis sebuah paket yang memudahkan integrasi LoRA dengan model PyTorch, sekaligus menyediakan implementasi dan checkpoint untuk RoBERTa, DeBERTa, serta GPT-2. Langkah ini memperkuat posisi LoRA bukan sebagai gagasan teoretis semata, melainkan sesuatu yang bisa dicoba oleh praktisi.
Keunggulan yang ditawarkan
Keuntungan pertama adalah jumlah parameter terlatih yang jauh lebih sedikit. Karena yang disimpan hanya matriks tambahan yang kecil, biaya penyimpanan pun mengecil. Dalam praktiknya ini membuka peluang menyimpan banyak adaptasi untuk tugas berbeda di atas satu model dasar yang sama, tanpa harus menggandakan seluruh bobot model.
Keunggulan berikutnya menyangkut mutu. Makalah itu menyebut LoRA tampil setara atau lebih baik dibandingkan fine-tuning pada beberapa model yang diuji, yakni RoBERTa, DeBERTa, GPT-2, dan GPT-3, meski parameter terlatihnya lebih sedikit. Selain itu, throughput pelatihan dilaporkan lebih tinggi, dan berbeda dari metode adapter, LoRA tidak menambah latensi saat inferensi.
Poin terakhir ini penting untuk aplikasi nyata. Jika metode adaptasi memperlambat setiap permintaan jawaban, biayanya akan terasa di sisi pengguna. Menurut makalah tersebut, LoRA menghindari tambahan latensi itu, sehingga model yang sudah disesuaikan tetap bisa dijalankan secepat sebelumnya.
Kaitannya dengan pustaka PEFT
Bagi kamu yang ingin memakai gagasan ini tanpa merakit semuanya dari nol, ada pustaka pendukung. Menurut dokumentasi PEFT di Hugging Face, PEFT (Parameter-Efficient Fine-Tuning) adalah pustaka untuk mengadaptasi model pra-pelatihan besar ke berbagai aplikasi hilir secara efisien, tanpa menyetel semua parameter model, karena menyetel semuanya dinilai terlalu mahal.
Dokumentasi itu menjelaskan bahwa metode PEFT hanya menyetel sebagian kecil parameter model, sehingga biaya komputasi dan penyimpanan berkurang signifikan, sementara performanya sebanding dengan model yang dilatih penuh. Pustaka ini disebut membuat pelatihan dan penyimpanan model bahasa besar lebih terjangkau, termasuk di perangkat konsumen. PEFT juga terintegrasi dengan pustaka Transformers, Diffusers, dan Accelerate untuk memuat, melatih, dan memakai model besar.
Lebih dari sekadar satu metode, PEFT diposisikan sebagai kerangka kerja untuk beragam cara adaptasi model, misalnya mengubah bobot, membungkus lapisan, atau memanipulasi KV-cache, sekaligus menjadi implementasi rujukan bagi banyak metode fine-tuning. Jadi LoRA adalah salah satu pendekatan yang bisa kamu pakai lewat kerangka kerja ini, bukan satu-satunya.
Kenapa banyak adapter itu berguna
Bayangkan satu model dasar dipakai untuk beberapa kebutuhan: menjawab pertanyaan pelanggan, merangkum dokumen, dan menyesuaikan gaya tulisan. Alih-alih menyimpan tiga salinan penuh model, kamu bisa menyimpan tiga adaptasi kecil di atas model yang sama. Karena penyimpanan tiap adaptasi kecil, ongkos menyimpan banyak versi pun ikut tertekan. Pola "satu model dasar, banyak adaptasi" inilah yang membuat ide ini terasa masuk akal.
Kapan pendekatan ini masuk akal
LoRA paling menarik ketika kamu perlu banyak variasi model di atas satu fondasi yang sama, atau ketika sumber daya untuk melatih ulang seluruh parameter terbatas. Sebaliknya, bila tujuanmu mengubah kemampuan dasar model secara mendasar, pendekatan ini bukan pengganti semua kebutuhan pelatihan. Memahami batas itu membantu kamu memilih metode dengan lebih sadar.
Yang perlu diingat
Pertama, LoRA bukan sihir yang menghapus kebutuhan akan model dasar. Kamu tetap membutuhkan bobot pra-pelatihan yang sama. Kedua, angka efisiensi yang dilaporkan makalah berasal dari konfigurasi pengujian tertentu, jadi anggap sebagai indikasi, bukan patokan mutlak untuk semua kasus. Ketiga, pilihan rank dan detail konfigurasi memengaruhi hasil, sehingga pengujian pada datamu sendiri tetap diperlukan.
Keempat, ekosistem PEFT mempercepat adopsi, tetapi kamu masih perlu memahami metode mana yang cocok dengan kebutuhanmu. Dokumentasi PEFT menyediakan ringkasan metode untuk membantu orientasi ini. Dengan pendekatan yang tepat, adaptasi model besar tidak lagi harus berarti menggandakan biaya untuk setiap tugas.