Low-Rank Adaptation (LoRA) (ID)

From Systems analysis wiki
Jump to navigation Jump to search

Low-Rank Adaptation (LoRA) — adalah metode fine-tuning yang hemat parameter (PEFT), yang memungkinkan adaptasi model bahasa besar (LLM) ke tugas-tugas baru dengan biaya komputasi minimal. Teknologi ini pertama kali diperkenalkan dalam karya Edward Hu dan rekan-rekannya pada tahun 2021[1].

Fine-tuning penuh (full fine-tuning) model-model besar seperti LLaMA atau GPT memerlukan sumber daya yang sangat besar, sehingga tidak terjangkau bagi sebagian besar peneliti dan pengembang. LoRA mengatasi masalah ini dengan memungkinkan pelatihan hanya sebagian kecil parameter model, sekaligus mempertahankan kualitas dan performa tinggi yang sebanding dengan fine-tuning penuh[2].

Prinsip Kerja

Ide utama LoRA adalah tidak mengubah bobot asli model yang telah dilatih sebelumnya, melainkan menambahkan matriks "koreksi" kecil pada bobot tersebut. Alih-alih melatih langsung matriks bobot yang sangat besar `W`, LoRA merepresentasikan perubahannya sebagai hasil kali dua matriks kecil berperingkat rendah.

Secara formal, jika matriks bobot asli lapisan `W_0` berukuran `d × k`, maka pembaruannya direpresentasikan sebagai `ΔW = BA`, di mana `B` adalah matriks berdimensi `d × r`, dan `A` adalah matriks berdimensi `r × k`. Peringkat `r` merupakan hiperparameter dan jauh lebih kecil (`r << d, k`). Selama proses fine-tuning, bobot asli `W_0` dibekukan, sedangkan hanya matriks `A` dan `B` yang dilatih. Matriks bobot akhir dihitung sebagai `W = W_0 + BA`.

Hal ini memungkinkan pengurangan jumlah parameter yang dapat dilatih hingga ribuan kali lipat. Misalnya, saat melakukan fine-tuning pada GPT-3 (175 miliar parameter), LoRA mengurangi jumlah parameter yang dapat dilatih sebanyak 10.000 kali dan menurunkan kebutuhan memori GPU sebanyak 3 kali[1].

Keunggulan Utama

  • Penghematan sumber daya: Jumlah parameter yang dapat dilatih berkurang drastis (hingga 90% atau lebih), yang secara signifikan mengurangi konsumsi memori video (VRAM) dan mempercepat proses pelatihan.
  • Tidak ada latensi saat inferensi (inference): Setelah pelatihan, matriks `B` dan `A` dapat "digabungkan" dengan matriks utama `W_0` dengan menghitung `W = W_0 + BA`. Dengan demikian, saat model digunakan, tidak ada komputasi atau latensi tambahan yang ditambahkan[1].
  • Modularitas dan pergantian tugas yang cepat: Adapter LoRA yang telah dilatih berupa berkas-berkas kecil (beberapa megabyte). Hal ini memungkinkan penyimpanan puluhan adapter untuk berbagai tugas dengan mudah dan pergantian di antara mereka secara cepat tanpa mengubah model utama[3].

Keterbatasan dan Modifikasi

Meskipun LoRA sangat efisien, sifat peringkat rendahnya dapat menjadi keterbatasan untuk tugas-tugas yang memerlukan penyimpanan sejumlah besar informasi baru. Untuk mengatasi masalah ini dan masalah lainnya, berbagai modifikasi telah diusulkan.

QLoRA

QLoRA (Quantized Low-Rank Adaptation) — salah satu modifikasi paling populer yang diusulkan pada tahun 2023. Modifikasi ini menggabungkan LoRA dengan kuantisasi 4-bit pada model dasar[4]. Hal ini memungkinkan pengurangan kebutuhan memori lebih lanjut, sehingga fine-tuning model dengan puluhan miliar parameter (misalnya, model 65B) dapat dilakukan pada satu GPU konsumen. Berdasarkan QLoRA, model Guanaco antara lain berhasil dibuat, yang menunjukkan hasil yang sebanding dengan ChatGPT.

Modifikasi Lainnya

  • MoRA (High-Rank Updating): Diusulkan untuk tugas-tugas di mana LoRA menunjukkan performa yang kurang memadai karena keterbatasan peringkat. MoRA menggunakan metode yang memungkinkan pembaruan bobot dengan peringkat tinggi, sekaligus mempertahankan efisiensi parameter[5].

Implementasi dan Penerapan

Teknologi LoRA telah mendapatkan penyebaran luas berkat efisiensi dan kemudahan integrasinya. Peran kunci dalam mempopulerkannya dimainkan oleh pustaka PEFT (Parameter-Efficient Fine-Tuning) dari perusahaan Hugging Face. PEFT menyediakan antarmuka terpadu untuk menerapkan LoRA dan metode PEFT lainnya pada model dari ekosistem Transformers[6].

LoRA secara aktif digunakan untuk:

  • Adaptasi chatbot dan sistem dialog (misalnya, fine-tuning LLaMA, Mistral).
  • Pembuatan model untuk klasifikasi dan generasi teks di bidang-bidang yang sangat terspesialisasi.
  • Personalisasi model sesuai gaya atau format data tertentu.

Tautan

  • Dokumentasi resmi pustaka PEFT dari Hugging Face

Literatur

  • Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
  • Zhang, Q. et al. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. arXiv:2303.10512.
  • Chen, Y. et al. (2023). LongLoRA: Efficient Fine-Tuning of Long-Context Large Language Models. arXiv:2309.12307.
  • Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
  • Jiang, T. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
  • Liu, Z. et al. (2024). ALoRA: Allocating Low-Rank Adaptation for Fine-Tuning Large Language Models. arXiv:2403.16187.
  • Liu, J. et al. (2025). RoRA: Efficient Fine-Tuning of LLM with Reliability Optimization for Rank Adaptation. arXiv:2501.04315.
  • Albert, P. et al. (2025). RandLoRA: Full-Rank Parameter-Efficient Fine-Tuning of Large Models. arXiv:2502.00987.
  • Tastan, N. et al. (2025). LoFT: Low-Rank Adaptation That Behaves Like Full Fine-Tuning. arXiv:2505.21289.

Catatan

  1. 1.0 1.1 1.2 Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [1]
  2. Mao, K., et al. «A Survey on LoRA of Large Language Models». arXiv:2407.11046. [2]
  3. Noble, Joshua. «What is LoRA (Low-Rank Adaption)?». IBM Technology. [3]
  4. Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [4]
  5. Jiang, Z., et al. «MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning». arXiv:2405.12130. [5]
  6. «LoRA (Low-Rank Adaptation)». Hugging Face LLM Course. [6]