Peneliti dari Princeton Perkenalkan MeZO: Optimizer Nol-urutan yang Hemat Memori untuk Memperbaiki Model Bahasa Besar (LLMs)

Memori Adalah Tantangan untuk Fine-Tuning di Large Language Models

Large Language Models (LLMs) semakin berkembang pesat dalam beberapa bulan terakhir. Model-model ini memberikan kontribusi untuk transformasi ekonomi dan sosial yang luar biasa, contohnya adalah ChatGPT yang terkenal dikembangkan oleh OpenAI. Chatbot ini berbasis Natural Language Processing (NLP) dan Natural Language Understanding (NLU), memungkinkan pengguna untuk menghasilkan teks yang bermakna seperti layaknya manusia. Selain ChatGPT, terdapat beberapa LLMs seperti PaLM, Chinchilla, BERT, dan lainnya, yang sudah menunjukkan performa yang sangat baik di domain kecerdasan buatan.

Fine-tuning di LLMs sudah menjadi pendekatan populer untuk banyak tugas yang berkaitan dengan bahasa. Fine-tuning memungkinkan model-model ini untuk beradaptasi dengan domain khusus, menggabungkan instruksi manusia, dan menyesuaikan preferensi individu. Namun, ketika model-model bahasa semakin besar dengan lebih banyak parameter, fine-tuning menjadi komputasi yang cukup menuntut dan menghabiskan memori untuk proses perhitungan gradien selama backpropagation.

Baru-baru ini, sebuah tim peneliti dari Universitas Princeton memperkenalkan solusi untuk masalah memori tersebut. Diberi nama MeZO, yaitu optimasi zeroth-order yang efisien memori, ini adalah adaptasi dari metode tradisional ZO-SGD yang mengestimasi gradien hanya menggunakan perbedaan nilai kerugian dan beroperasi in-place, memungkinkan fine-tuning pada language models dengan jejak memori yang sama seperti inference.

Topik Pertama: Solusi Untuk Masalah Memori di Fine-Tuning LLMs

Algoritma MeZO dirancang khusus untuk mengoptimalkan Large Language Models dengan miliaran parameter. Beberapa kontribusi utama yang disebutkan oleh tim adalah:

1. MeZO telah dikembangkan dengan memodifikasi metode ZO-SGD dan beberapa variasi untuk berjalan di tempat pada model berukuran sembarang dengan sepengetahuan margin memori.
2. MeZO telah terbukti kompatibel dengan PEFT dan penyelarasan parameter komprehensif, seperti LoRA dan prefix tuning.
3. MeZO dapat meningkatkan tujuan non-diferensial seperti akurasi atau skor F1 sambil tetap menggunakan jumlah memori yang sama seperti inference.
4. Pre-training yang memadai memastikan bahwa laju optimasi perlangkah MeZO dan laju konvergensi global tergantung pada bilangan kondisi yang spesifik pada lanskap, yakni peringkat lokal yang efektif daripada jumlah parameter yang besar, yang berbeda dengan batas bawah ZO sebelumnya yang menyiratkan laju konvergensi dapat lambat sesuai dengan jumlah parameter.
5. Eksperimen menunjukkan bahwa pada tes pada berbagai jenis model seperti masked LM dan autoregressive LM, model berukuran dari 350M hingga 66B, dan tugas downstream seperti klasifikasi, pilihan ganda, dan generasi.
6. MeZO mengungguli zero-shot, ICL, dan penyelidikan linear dalam eksperimen dan bahkan tampil lebih baik atau serupa dengan fine-tuning pada 7 dari 11 tes dengan OPT-13B, meskipun mengkonsumsi sekitar 12 kurang memori dari RoBERTa-large atau fine-tuning normal, masing-masing.

Pada saat evaluasi, MeZO mampu melatih model 30 miliar parameter menggunakan satu GPU Nvidia A100 80GB, sementara backpropagation hanya dapat melatih LM 2,7 miliar parameter dalam batas memori yang sama. Dengan demikian, MeZO adalah optimasi zeroth-order yang efisien memori yang dapat secara efektif melakukan fine-tuning pada Large Language Models.

Topik Kedua: Fine-tuning dalam Large Language Models

Fine-tuning di Large Language Models (LLMs) adalah proses penyesuaian parameter dari model yang sudah dilatih sebelumnya dengan menggunakan dataset yang lebih kecil dan domain-spesifik. Hal ini memungkinkan model untuk menjadi lebih akurat dan mampu menangani tugas-tugas bahasa tertentu dengan lebih baik.

Namun, dengan semakin banyaknya parameter pada model, fine-tuning menjadi lebih menuntut secara komputasi dan memori. Salah satu solusinya adalah dengan menggunakan MeZO, sebuah optimasi zeroth-order yang efisien memori yang memungkinkan fine-tuning dengan jejak memori yang sama seperti inference.

Meskipun begitu, fine-tuning tetap menjadi pendekatan yang populer di LLMs karena kemampuannya untuk mempelajari fitur-fitur domain-spesifik yang tidak dapat dipelajari oleh model-model yang sudah dilatih sebelumnya. Selain itu, fine-tuning juga dapat meningkatkan performa model pada tugas-tugas yang spesifik.

Dalam hal ini, MeZO dapat menjadi solusi untuk masalah memori pada fine-tuning. Dalam eksperimen, MeZO bahkan mampu melatih model dengan 30 miliar parameter menggunakan satu GPU, sementara backpropagation hanya dapat melatih model dengan 2,7 miliar parameter dalam batas memori yang sama. Dengan solusi ini, fine-tuning dapat dilakukan pada Large Language Models tanpa harus khawatir tentang masalah memori.

Disarikan dari: Source