Connect with us

Kecerdasan buatan

LoRa, QLoRA dan QA-LoRA: Adaptabilitas Efisien dalam Model Bahasa Besar Melalui Faktorisasi Matriks Rank-Rendah

mm
LoRA : Low-Rank Adaptation of Large Language Models

Large Language Models (LLMs) telah mengukir ceruk yang unik, menawarkan kemampuan yang tak tertandingi dalam memahami dan menghasilkan teks seperti manusia. Kekuatan LLMs dapat ditelusuri kembali ke ukurannya yang sangat besar, sering kali memiliki miliaran parameter. Sementara skala yang sangat besar ini mendorong kinerjanya, secara bersamaan juga melahirkan tantangan, terutama ketika menyangkut adaptasi model untuk tugas atau domain tertentu. Jalur konvensional dalam mengelola LLMs, seperti fine-tuning semua parameter, menimbulkan beban komputasi dan finansial yang berat, sehingga menimbulkan hambatan signifikan bagi adopsi luasnya dalam aplikasi dunia nyata. Dalam artikel sebelumnya, kami menyelami fine-tuning Large Language Models (LLMs) untuk menyesuaikannya dengan kebutuhan spesifik. Kami mengeksplorasi berbagai metodologi fine-tuning seperti Instruction-Based Fine-Tuning, Single-Task Fine-Tuning, dan Parameter Efficient Fine-Tuning (PEFT), masing-masing dengan pendekatan uniknya dalam mengoptimalkan LLMs untuk tugas yang berbeda. Inti dari pembahasan adalah arsitektur transformer, tulang punggung LLMs, dan tantangan yang ditimbulkan oleh tuntutan komputasi dan memori dalam menangani sejumlah besar parameter selama fine-tuning.

Parameters in LLM

https://huggingface.co/blog/hf-bitsandbytes-integration

Gambar di atas mewakili skala berbagai model bahasa besar, diurutkan berdasarkan jumlah parameternya. Yang patut diperhatikan: PaLM, BLOOM, dll. Hingga tahun ini, telah ada kemajuan yang mengarah pada model yang bahkan jauh lebih besar. Namun, menyesuaikan model sumber terbuka yang sangat besar tersebut pada sistem standar tidaklah mungkin tanpa teknik optimasi khusus. Masuklah Low-Rank Adaptation (LoRA) yang diperkenalkan oleh Microsoft dalam makalah ini, bertujuan untuk mengurangi tantangan-tantangan ini dan membuat LLMs lebih mudah diakses dan diadaptasi. Inti dari LoRA terletak pada pendekatannya terhadap adaptasi model tanpa menyelami kerumitan pelatihan ulang seluruh model. Tidak seperti fine-tuning tradisional, di mana setiap parameter dapat berubah, LoRA mengadopsi rute yang lebih cerdas. Ini membekukan bobot model yang telah dilatih sebelumnya dan memperkenalkan matriks dekomposisi rank yang dapat dilatih ke dalam setiap lapisan arsitektur Transformer. Pendekatan ini secara drastis mengurangi jumlah parameter yang dapat dilatih, memastikan proses adaptasi yang lebih efisien.

Evolusi Strategi Penyesuaian LLM

Merefleksikan perjalanan penyesuaian LLM, seseorang dapat mengidentifikasi beberapa strategi yang digunakan oleh praktisi selama bertahun-tahun. Awalnya, sorotan difokuskan pada fine-tuning model yang telah dilatih sebelumnya, sebuah strategi yang memerlukan perubahan komprehensif parameter model agar sesuai dengan tugas spesifik yang dihadapi. Namun, seiring model tumbuh dalam ukuran dan kompleksitas, begitu pula tuntutan komputasi dari pendekatan ini. Strategi berikutnya yang mendapatkan daya tarik adalah subset fine-tuning, versi yang lebih terkendali dari pendahulunya. Di sini, hanya subset dari parameter model yang disesuaikan, mengurangi beban komputasi sampai batas tertentu. Meskipun memiliki kelebihan, subset fine-tuning masih belum mampu mengikuti laju pertumbuhan ukuran LLMs. Saat praktisi menjelajahi jalan yang lebih efisien, full fine-tuning muncul sebagai pendekatan yang ketat namun bermanfaat.

Pengenalan LoRA

Rank dari sebuah matriks memberi kita gambaran sekilas tentang dimensi yang dibuat oleh kolom-kolomnya, ditentukan oleh jumlah baris atau kolom unik yang dimilikinya.

  • Matriks Rank-Penuh: Ranknya sesuai dengan angka yang lebih kecil antara baris atau kolomnya.
  • Matriks Rank-Rendah: Dengan rank yang jauh lebih kecil daripada jumlah baris dan kolomnya, ia menangkap lebih sedikit fitur.

Sekarang, model besar memahami pemahaman luas tentang domainnya, seperti bahasa dalam model bahasa. Namun, fine-tuning mereka untuk tugas spesifik seringkali hanya perlu menyoroti sebagian kecil dari pemahaman ini. Di sinilah LoRA bersinar. Ini menyarankan bahwa matriks yang menunjukkan penyesuaian bobot ini dapat berupa matriks rank-rendah, sehingga menangkap lebih sedikit fitur. LoRA dengan cerdas membatasi rank dari matriks pembaruan ini dengan membaginya menjadi dua matriks rank yang lebih kecil. Jadi alih-alih mengubah seluruh matriks bobot, ia hanya mengubah sebagiannya, membuat tugas fine-tuning menjadi lebih efisien.

Menerapkan LoRA pada Transformers

LoRA membantu meminimalkan beban pelatihan dalam jaringan saraf dengan berfokus pada matriks bobot tertentu. Di bawah arsitektur Transformer, matriks bobot tertentu terkait dengan mekanisme self-attention, yaitu Wq, Wk, Wv, dan Wo, selain dua lagi di modul Multi-Layer Perceptron (MLP).

Transformers-architecture

Transformers Architecture

 

transformer attention heads

Transformer Attention Heads

Penjelasan Matematika di Balik LoRA

I have spent the past five years immersing myself in the fascinating world of Machine Learning and Deep Learning. My passion and expertise have led me to contribute to over 50 diverse software engineering projects, with a particular focus on AI/ML. My ongoing curiosity has also drawn me toward Natural Language Processing, a field I am eager to explore further.