Rekomendasi LoRA dan QLoRA untuk LLM

Panduan ini memberikan rekomendasi konfigurasi untuk menyesuaikan model bahasa besar (LLM) di Vertex AI menggunakan LoRA dan QLoRA.

Memilih metode penyetelan

LoRA dan QLoRA adalah metode penyesuaian yang efisien parameter (PEFT) yang memungkinkan Anda menyesuaikan model bahasa besar dengan tugas spesifik Anda tanpa biaya komputasi yang tinggi untuk penyesuaian penuh. Tabel berikut membandingkan LoRA dan QLoRA untuk membantu Anda memilih metode terbaik untuk kasus penggunaan Anda.

Metode Deskripsi Kelebihan Kekurangan
LoRA Metode penyesuaian yang membekukan bobot model asli dan menyuntikkan matriks berperingkat rendah yang dapat dilatih ke dalam lapisan Transformer. Hal ini secara signifikan mengurangi jumlah parameter yang dapat dilatih. Kecepatan penyesuaian yang lebih cepat dan biaya yang lebih rendah dibandingkan dengan QLoRA. Penggunaan memori GPU yang lebih tinggi, yang membatasi ukuran batch dan panjang urutan maksimum. Mungkin tidak dapat dilakukan pada GPU dengan memori yang lebih rendah.
QLoRA Versi LoRA yang dioptimalkan yang menggunakan kuantisasi 4-bit dan teknik penghematan memori lainnya untuk lebih mengurangi penggunaan memori. Penggunaan memori GPU yang jauh lebih rendah, sehingga memungkinkan model yang lebih besar, ukuran batch yang lebih besar, dan panjang urutan yang lebih panjang pada hardware yang sama. Kecepatan penyesuaian yang lebih lambat dan biaya yang sedikit lebih tinggi dibandingkan dengan LoRA.

Menyesuaikan rekomendasi

Tabel berikut merangkum rekomendasi untuk menyesuaikan LLM menggunakan LoRA atau QLoRA.

Spesifikasi Disarankan Detail
Efisiensi memori GPU QLoRA QLoRA memiliki penggunaan memori GPU puncak yang sekitar 75% lebih kecil dibandingkan dengan LoRA.
Kecepatan LoRA LoRA sekitar 66% lebih cepat daripada QLoRA dalam hal kecepatan penyesuaian.
Efisiensi biaya LoRA Meskipun kedua metode ini relatif tidak mahal, LoRA hingga 40% lebih murah daripada QLoRA.
Panjang urutan maksimal yang lebih tinggi QLoRA Panjang urutan maksimum yang lebih tinggi akan meningkatkan konsumsi memori GPU. QLoRA menggunakan lebih sedikit memori GPU, sehingga dapat mendukung panjang urutan maksimum yang lebih tinggi.
Peningkatan akurasi Sama Kedua metode ini menawarkan peningkatan akurasi yang serupa.
Ukuran batch yang lebih tinggi QLoRA QLoRA mendukung ukuran batch yang jauh lebih tinggi. Misalnya, berikut adalah rekomendasi ukuran batch untuk menyetel openLLaMA-7B di GPU berikut:
  • 1 x A100 40G:
    • LoRA: Ukuran batch 2 direkomendasikan.
    • QLoRA: Ukuran batch 24 direkomendasikan.
  • 1 x L4:
    • LoRA: Ukuran batch 1 gagal dengan error kehabisan memori (OOM).
    • QLoRA: Ukuran batch 12 direkomendasikan.
  • 1 x V100:
    • LoRA: Ukuran batch 1 gagal dengan error kehabisan memori (OOM).
    • QLoRA: Ukuran batch 8 direkomendasikan.