Model dan platform AI
MoRA: Pembaruan Berperingkat Tinggi untuk PEFT
Berkat kinerja yang kuat dan kemampuan yang luas dibandingkan dengan metode lain, LoRA atau Low-Rank Adaption adalah salah satu metode PEFT atau Parameter Efficient Fine-Tuning yang paling populer untuk fine-tuning model bahasa besar. Kerangka LoRA menggunakan dua matriks berperingkat rendah untuk dekomposisi dan aproksimasi bobot yang diperbarui dalam FFT atau Full Fine Tuning, dan kerangka LoRA memodifikasi parameter yang dapat dilatih ini dengan menyesuaikan peringkat matriks. Keuntungan utama dari implementasi proses ini adalah bahwa itu memfasilitasi kerangka LoRA untuk menggabungkan matriks ini tanpa keterlambatan inferensi setelah fine-tuning. Selain itu, meskipun model bahasa besar terbaru memberikan kinerja yang luar biasa pada tugas pembelajaran konteks, beberapa skenario masih memerlukan fine-tuning, dan dapat dikategorikan secara luas menjadi tiga jenis. Jenis pertama, penyetelan instruksi, bertujuan untuk mempertandingkan LLM dengan tugas akhir dan preferensi pengguna tanpa meningkatkan pengetahuan dan kemampuan LLM, pendekatan yang memudahkan proses untuk menangani tugas yang beragam dan instruksi yang kompleks. Jenis kedua termasuk tugas penalaran kompleks seperti pemecahan masalah matematika. Terakhir, jenis ketiga adalah pelatihan berkelanjutan, pendekatan yang berusaha untuk meningkatkan kemampuan domain-spesifik model bahasa besar.
Dalam artikel ini, kita akan membahas apakah pembaruan berperingkat rendah mempengaruhi kinerja kerangka LoRA karena telah diamati bahwa mekanisme pembaruan berperingkat rendah mungkin menghambat kemampuan model bahasa besar untuk belajar dan mengingat pengetahuan baru. Berdasarkan hal ini, dalam artikel ini kita akan membahas MoRA, metode baru yang mencapai pembaruan berperingkat tinggi sambil mempertahankan jumlah parameter yang dapat dilatih, dengan menggunakan matriks persegi. Untuk mencapai ini, kerangka MoRA mengurangi dimensi input dan meningkatkan dimensi output untuk matriks persegi dengan memperkenalkan operator non-parameter yang sesuai. Selain itu, operator ini memastikan bahwa bobot dapat digabungkan kembali ke dalam LLM, yang membuat kerangka MoRA dapat diterapkan seperti LoRA.
Artikel ini bertujuan untuk membahas kerangka MoRA secara mendalam, dan kita menjelajahi mekanisme, metodologi, arsitektur kerangka ini bersama dengan perbandingannya dengan kerangka state-of-the-art. Jadi mari kita mulai.
MoRA: Pembaruan Berperingkat Tinggi untuk PEFT
Karena ukuran dan kemampuan model bahasa meningkat, PEFT atau Parameter Efficient Fine-Tuning muncul sebagai salah satu metode paling populer dan efisien untuk menyesuaikan LLM dengan tugas downstream spesifik. Dibandingkan dengan FFT atau Full Fine Tuning, yang memperbarui semua parameter, PEFT hanya memodifikasi sebagian kecil dari total parameter karena pada beberapa tugas dapat mencapai kinerja yang sama dengan FFT dengan memperbarui kurang dari 1% dari total parameter, sehingga mengurangi kebutuhan memori untuk optimizer secara signifikan sambil memfasilitasi penyimpanan dan penerapan model. Selain itu, di antara semua metode PEFT yang ada, LoRA adalah yang paling populer saat ini, terutama untuk LLM. Salah satu alasan utama mengapa metode LoRA memberikan kinerja yang lebih baik dibandingkan dengan metode PEFT seperti adapter atau penyetelan prompt adalah bahwa LoRA menggunakan matriks berperingkat rendah untuk memperbarui parameter, dengan kerangka memiliki kontrol untuk menggabungkan matriks ini ke dalam parameter model asli, tanpa menambahkan kebutuhan komputasi selama inferensi. Meskipun ada banyak metode yang berusaha untuk meningkatkan LoRA untuk model bahasa besar, sebagian besar model ini bergantung pada GLUE untuk memvalidasi efisiensi mereka, baik dengan memerlukan parameter yang dapat dilatih yang sedikit, atau dengan mencapai kinerja yang lebih baik.
Selain itu, eksperimen yang dilakukan pada LoRA di berbagai tugas, termasuk pelatihan berkelanjutan, penalaran matematika, dan penyetelan instruksi, menunjukkan bahwa meskipun kerangka LoRA berbasis menunjukkan kinerja yang sama di seluruh tugas ini, dan memberikan kinerja pada tugas penyetelan instruksi yang setara dengan metode FFT, model LoRA tidak dapat mereplikasi kinerja pada tugas pelatihan berkelanjutan dan penalaran matematika. Penjelasan yang mungkin untuk kekurangan kinerja ini adalah ketergantungan LoRA pada pembaruan matriks berperingkat rendah, karena matriks pembaruan berperingkat rendah mungkin berjuang untuk memperkirakan pembaruan berperingkat penuh dalam FFT, terutama dalam tugas yang intensif memori yang memerlukan mengingat pengetahuan domain-spesifik seperti pelatihan berkelanjutan. Karena peringkat matriks pembaruan berperingkat rendah lebih kecil dari peringkat penuh, itu membatasi kemampuan untuk menyimpan informasi baru menggunakan fine-tuning. Berdasarkan pengamatan ini, MoRA berusaha untuk memaksimalkan peringkat dalam matriks pembaruan berperingkat rendah sambil mempertahankan jumlah parameter yang dapat dilatih, dengan menggunakan matriks persegi sebagai lawan dari penggunaan matriks berperingkat rendah dalam model LoRA tradisional. Gambar berikut membandingkan kerangka MoRA dengan LoRA di bawah jumlah parameter yang dapat dilatih yang sama.

Dalam gambar di atas, (a) mewakili LoRA, dan (b) mewakili MoRA. W adalah bobot yang dibekukan dari model, M adalah matriks yang dapat dilatih dalam MoRA, A dan B adalah matriks berperingkat rendah yang dapat dilatih dalam LoRA, dan r mewakili peringkat dalam LoRA dan MoRA. Seperti yang dapat dilihat, kerangka MoRA menunjukkan kemampuan yang lebih besar daripada model LoRA dengan peringkat yang besar. Selain itu, kerangka MoRA mengembangkan operator non-parameter yang sesuai untuk mengurangi dimensi input dan meningkatkan dimensi output untuk matriks yang dapat dilatih M. Selain itu, kerangka MoRA memberikan fleksibilitas untuk menggunakan matriks pembaruan berperingkat rendah untuk menggantikan matriks yang dapat dilatih M dan operator, memastikan metode MoRA dapat digabungkan kembali ke dalam model bahasa besar seperti LoRA. Tabel berikut membandingkan kinerja FFT, LoRA, varian LoRA, dan metode kami pada tugas penyetelan instruksi, penalaran matematika, dan pelatihan berkelanjutan.

MoRA: Metodologi dan Arsitektur
Pengaruh Pembaruan Berperingkat Rendah
Prinsip utama model LoRA adalah untuk memperkirakan pembaruan berperingkat penuh dalam FFT dengan menggunakan pembaruan berperingkat rendah. Secara tradisional, untuk matriks parameter pra-dilatih yang diberikan, LoRA menggunakan dua matriks berperingkat rendah untuk menghitung pembaruan bobot. Untuk memastikan pembaruan bobot adalah 0 ketika pelatihan dimulai, kerangka LoRA menginisialisasi salah satu matriks berperingkat rendah dengan distribusi Gaussian sementara yang lain dengan 0. Pembaruan bobot secara keseluruhan dalam LoRA menunjukkan peringkat yang rendah dibandingkan dengan fine-tuning dalam FFT, meskipun pembaruan berperingkat rendah dalam LoRA memberikan kinerja yang setara dengan pembaruan berperingkat penuh pada tugas tertentu, termasuk penyetelan instruksi dan klasifikasi teks. Namun, kinerja kerangka LoRA mulai menurun untuk tugas seperti pelatihan berkelanjutan dan penalaran kompleks. Berdasarkan pengamatan ini, MoRA mengusulkan bahwa lebih mudah untuk memanfaatkan kemampuan dan pengetahuan asli LLM untuk menyelesaikan tugas dengan menggunakan pembaruan berperingkat rendah, tetapi model tersebut berjuang untuk menyelesaikan tugas yang memerlukan peningkatan kemampuan dan pengetahuan model bahasa besar.
Metodologi
Meskipun LLM dengan pembelajaran konteks adalah peningkatan kinerja yang signifikan dibandingkan dengan pendekatan sebelumnya, masih ada konteks yang bergantung pada fine-tuning yang secara luas jatuh ke dalam tiga kategori. Ada LLM yang disetel untuk instruksi, dengan mempertandingkan tugas pengguna dan preferensi, yang tidak secara signifikan meningkatkan pengetahuan dan kemampuan LLM, membuatnya lebih mudah untuk bekerja dengan beberapa tugas dan memahami instruksi yang kompleks. Jenis lainnya adalah tentang tugas penalaran kompleks seperti pemecahan masalah matematika, untuk yang penyetelan instruksi umum tidak cukup untuk menangani penalaran simbolik multi-langkah yang kompleks. Sebagian besar penelitian terkait berusaha untuk meningkatkan kapasitas penalaran LLM, dan itu memerlukan merancang dataset pelatihan yang sesuai berdasarkan model guru yang lebih besar seperti GPT-4 atau merubah pertanyaan yang sesuai dengan jalur penalaran. Jenis ketiga, pelatihan berkelanjutan, dirancang untuk meningkatkan kemampuan domain-spesifik LLM. Tidak seperti penyetelan instruksi, fine-tuning diperlukan untuk memperkaya pengetahuan dan keterampilan domain-spesifik yang terkait.
Namun, sebagian besar varian LoRA hampir secara eksklusif menggunakan tugas penyetelan instruksi GLUE atau klasifikasi teks untuk mengevaluasi efektivitasnya dalam konteks LLM. Karena fine-tuning untuk penyetelan instruksi memerlukan sumber daya yang paling sedikit dibandingkan dengan tugas lain, itu mungkin tidak mewakili perbandingan yang tepat di antara varian LoRA. Menambahkan tugas penalaran untuk mengevaluasi metode mereka dengan lebih baik telah menjadi praktik yang umum dalam karya yang lebih baru. Namun, kita umumnya menggunakan set pelatihan kecil (bahkan pada 1M contoh, yang cukup besar). LLM berjuang untuk belajar penalaran yang tepat dari contoh dengan ukuran ini. Misalnya, beberapa pendekatan menggunakan GSM8K dengan hanya 7,5K episode pelatihan. Namun, angka-angka ini jatuh pendek dari metode SOTA yang dilatih pada 395K sampel dan mereka membuatnya sulit untuk menilai kemampuan metode ini untuk belajar kekuatan penalaran NLP.
Berdasarkan pengamatan dari pengaruh pembaruan berperingkat rendah, kerangka MoRA mengusulkan metode baru untuk memitigasi efek negatif pembaruan berperingkat rendah. Prinsip dasar kerangka MoRA adalah untuk menggunakan parameter yang dapat dilatih yang sama untuk mencapai peringkat yang lebih tinggi dalam matriks pembaruan berperingkat rendah. Setelah mempertimbangkan bobot pra-dilatih, kerangka LoRA menggunakan dua matriks berperingkat rendah A dan B dengan total parameter yang dapat dilatih untuk peringkat r. Namun, untuk jumlah parameter yang dapat dilatih yang sama, matriks persegi dapat mencapai peringkat tertinggi, dan kerangka MoRA mencapai ini dengan mengurangi dimensi input dan meningkatkan dimensi output untuk matriks persegi yang dapat dilatih. Selain itu, dua fungsi ini harus menjadi operator non-parameter dan diharapkan untuk dieksekusi dalam waktu linier sesuai dengan dimensi.
MoRA: Eksperimen dan Hasil
Untuk mengevaluasi kinerjanya, kerangka MoRA dievaluasi pada berbagai tugas untuk memahami pengaruh pembaruan berperingkat tinggi pada tiga tugas: mengingat pasangan UUID, tugas fine-tuning, dan pelatihan.
Mengingat Pasangan UUID
Untuk menunjukkan perbaikan kinerja, kerangka MoRA dibandingkan dengan FFT dan LoRA pada tugas mengingat pasangan UUID. Kerugian pelatihan dari eksperimen ini tercermin dalam gambar berikut.

Perlu diperhatikan bahwa untuk jumlah parameter yang dapat dilatih yang sama, kerangka MoRA dapat mengungguli model LoRA yang ada, menunjukkan bahwa itu mendapat manfaat dari strategi pembaruan berperingkat tinggi. Laporan akurasi pelatihan tingkat karakter pada langkah pelatihan yang berbeda diringkas dalam tabel berikut. 
Seperti yang dapat dilihat, dibandingkan dengan LoRA, kerangka MoRA membutuhkan langkah pelatihan yang lebih sedikit untuk mengingat pasangan UUID.
Tugas Fine-Tuning
Untuk mengevaluasi kinerjanya pada tugas fine-tuning, kerangka MoRA dievaluasi pada tiga tugas fine-tuning: penyetelan instruksi, penalaran matematika, dan pelatihan berkelanjutan, yang dirancang untuk model bahasa besar, bersama dengan dataset berkualitas tinggi yang sesuai untuk kedua model MoRA dan LoRA. Hasil tugas fine-tuning disajikan dalam tabel berikut.

Seperti yang dapat dilihat, pada tugas penalaran matematika dan penyetelan instruksi, kedua model LoRA dan MoRA memberikan kinerja yang sama. Namun, model MoRA unggul dari kerangka LoRA pada tugas pelatihan berkelanjutan untuk domain biomedis dan keuangan, mendapat manfaat dari pendekatan pembaruan berperingkat tinggi untuk mengingat pengetahuan baru. Selain itu, penting untuk memahami bahwa ketiga tugas ini berbeda satu sama lain dengan persyaratan yang berbeda, dan kemampuan fine-tuning yang berbeda.
Pelatihan
Untuk mengevaluasi pengaruh pembaruan berperingkat tinggi pada kinerja secara keseluruhan, transformer dalam kerangka MoRA dilatih dari awal pada dataset C4, dan kinerja dibandingkan dengan model LoRA dan ReLoRA. Kerugian pelatihan bersama dengan kompleksitas yang sesuai pada dataset C4 ditunjukkan dalam gambar berikut.


Seperti yang dapat dilihat, model MoRA memberikan kinerja yang lebih baik pada tugas pelatihan dibandingkan dengan model LoRA dan ReLoRA dengan jumlah parameter yang dapat dilatih yang sama.
Selain itu, untuk menunjukkan dampak pembaruan berperingkat tinggi pada peringkat matriks pembaruan berperingkat rendah, kerangka MoRA menganalisis spektrum nilai singular untuk matriks pembaruan berperingkat rendah yang dipelajari dengan melatih model 250M, dan hasilnya terkandung dalam gambar berikut.

Pemikiran Akhir
Dalam artikel ini, kita telah membahas apakah pembaruan berperingkat rendah mempengaruhi kinerja kerangka LoRA karena telah diamati bahwa mekanisme pembaruan berperingkat rendah mungkin menghambat kemampuan model bahasa besar untuk belajar dan mengingat pengetahuan baru. Berdasarkan hal ini, dalam artikel ini kita akan membahas MoRA, metode baru yang mencapai pembaruan berperingkat tinggi sambil mempertahankan jumlah parameter yang dapat dilatih, dengan menggunakan matriks persegi. Untuk mencapai ini, kerangka MoRA mengurangi dimensi input dan meningkatkan dimensi output untuk matriks persegi dengan memperkenalkan operator non-parameter yang sesuai. Selain itu, operator ini memastikan bahwa bobot dapat digabungkan kembali ke dalam LLM, yang membuat kerangka MoRA dapat diterapkan seperti LoRA.












