Optimisasi dengan Memori Rendah: LOMO, Optimizer Kecerdasan Buatan yang Baru
Dalam beberapa tahun terakhir, Model Bahasa Besar (Large Language Models/LLM) telah mengubah cara pemrosesan bahasa alami dengan kemampuan yang luar biasa, seperti kemampuan untuk memahami dan mempelajari bahasa secara mendalam, serta meningkatkan ukuran model secara terus-menerus. Bar untuk penelitian dalam bidang pemrosesan bahasa alami (Natural Language Processing/NLP) telah ditingkatkan dengan melatih model-model ini dengan miliaran parameter, seperti model dengan 30 miliar hingga 175 miliar parameter. Namun, bagi laboratorium dan bisnis kecil, berpartisipasi dalam penelitian ini menjadi tantangan karena pengaturan yang sering membutuhkan sumber daya GPU yang mahal, seperti mesin dengan kapasitas 880GB. Namun, baru-baru ini, teknik optimisasi yang hemat parameter, seperti LoRA dan Prefix-tuning, telah membuat optimisasi LLM yang terbatas sumber daya menjadi memungkinkan.
Penemuan Penting dalam Optimisasi LLM
Dalam sebuah penelitian, para peneliti dari Universitas Fudan menyelidiki metode untuk melakukan optimisasi parameter yang komprehensif dalam kondisi sumber daya terbatas. Mereka melakukan optimisasi pada empat karakteristik penggunaan memori dalam LLM, yaitu aktivasi, keadaan optimizer, tensor gradien, dan parameter. Mereka mengoptimalkan proses pelatihan dalam tiga cara:
1) Mereka mengevaluasi ulang fungsionalitas algoritme dari optimizer dan menemukan bahwa SGD (Stochastic Gradient Descent) adalah pengganti yang cocok untuk melakukan optimisasi parameter lengkap pada LLM. Karena SGD tidak menyimpan tahap-tahap antara, mereka dapat menghapus seluruh bagian dari keadaan optimizer.
2) Mereka mengusulkan optimizer bernama LOMO (Low-Memory Optimization) yang mengurangi penggunaan memori dari tensor gradien ke O, yang sama dengan konsumsi memori dari tensor gradien terbesar.
3) Mereka menggabungkan normalisasi gradien dan penyesuaian kerugian dengan presisi penuh selama pelatihan untuk menstabilkan pelatihan dengan presisi campuran menggunakan LOMO. Metode mereka menggabungkan jumlah memori yang sama dengan parameter, aktivasi, dan tensor gradien terbesar.
Hasilnya, mereka dapat mengurangi konsumsi memori dari optimisasi parameter lengkap sehingga menjadi setara dengan konsumsi memori pada tahap inferensi. Mereka memastikan bahwa fungsi fine-tuning tidak terganggu saat menggunakan LOMO untuk menghemat memori karena proses pembaruan parameter serupa dengan SGD. Para peneliti dari Universitas Fudan berhasil melatih model dengan 65 miliar parameter menggunakan hanya 8 GPU RTX 3090 dengan menggunakan LOMO. Selain itu, mereka menggunakan LOMO untuk melakukan penyesuaian pada semua parameter LLM pada koleksi dataset SuperGLUE untuk memvalidasi kinerja dari pendekatan yang mereka usulkan. Temuan empiris menunjukkan bahwa LOMO sangat efektif dalam mengoptimalkan LLM dengan banyak parameter.
Kesimpulan
Secara keseluruhan, penelitian ini telah memberikan beberapa kontribusi penting dalam mengoptimalkan LLM dengan sumber daya terbatas. Mereka menunjukkan bahwa SGD dapat berhasil melakukan penyesuaian pada semua parameter LLM, meskipun ada kendala-kendala yang menyebabkan SGD tidak banyak digunakan sebelumnya. Selain itu, mereka mengusulkan LOMO sebagai optimisasi dengan memori rendah yang dapat mengurangi penggunaan memori GPU secara signifikan tanpa mengganggu proses fine-tuning. Dengan melakukan analisis memori dan kinerja throughput, mereka berhasil membuktikan efisiensi LOMO dalam mengoptimalkan LLM dalam kondisi sumber daya terbatas. Hasil penilaian kinerja pada tugas-tugas downstream juga memberikan justifikasi tambahan untuk pendekatan yang mereka usulkan.
Penelitian ini memberikan kontribusi penting dalam mengatasi masalah optimisasi pada LLM dengan sumber daya terbatas. Metode yang mereka usulkan, termasuk penggunaan SGD dan LOMO, dapat membuka peluang bagi laboratorium dan bisnis kecil untuk berpartisipasi dalam penelitian di bidang pemrosesan bahasa alami.
Disarikan dari: Source