Kuantisasi Model pada GPU Laptop 6 GB

Saya mencoba memasukkan large language models ke dalam GPU laptop RTX 3050. Kartu ini hanya memiliki 6 GB VRAM. Saya ingin melihat model mana yang berfungsi dengan kuantisasi 4-bit dan mana yang gagal.

Saya menggunakan satu skrip untuk mengkuantisasi tiga model:

  • Phi-3.5-mini (3.8B)
  • Llama-3.2-3B
  • Qwen2.5-3B (VibeThinker)

Hasilnya: Phi dan Llama berjalan dengan baik. Phi berkurang dari 7,6 GB menjadi 2,2 GB dalam 34 menit. Llama dan VibeThinker mengikuti pola yang serupa. Model-model ini dapat masuk dengan mudah.

Kemudian saya mencoba Qwen2.5-7B. Hasilnya gagal. Prosesnya crash pada layer kedua dengan error Out of Memory.

Mengapa gagal: Kuantisasi GPTQ membangun matriks Hessian untuk setiap layer. Untuk model 7B, perhitungan matematika ini membutuhkan memori lebih besar daripada yang disediakan kartu 6 GB. Saya mencoba beberapa perbaikan:

  • Dataset kalibrasi yang lebih kecil: Tidak ada perubahan.
  • Offloading Hessians ke CPU: Bertahan lebih lama tetapi tetap crash.
  • Menggunakan AWQ alih-alih GPTQ: Crash di tempat yang sama.
  • Hanya menggunakan CPU: Berhasil tetapi terlalu lambat. Membutuhkan waktu sekitar 16 menit per layer.

Poin Penting untuk GPU Kecil:

  • Harapkan pengurangan ukuran model sebesar 3x.
  • Targetkan batas 3 hingga 4 miliar parameter untuk kuantisasi GPU.
  • Perhatikan budget KV Anda. Meskipun ukuran file serupa, memori yang digunakan selama inferensi bervariasi.
  • Kuantisasi menggunakan lebih banyak memori daripada serving. Pantau RAM sistem Anda selama proses berlangsung.

Perbandingan Model (W4A16): • Phi-3.5-mini: 2.27 GB | 68.7 tok/s • Llama-3.2-3B: 2.26 GB | 66.0 tok/s • VibeThinker-3B: 2.07 GB | 43.9 tok/s

Ketiga model tersebut menangani matematika dasar dan logika bilangan prima dengan benar setelah kuantisasi.

Sumber: https://dev.to/syedazeez/quantizing-three-models-to-fit-a-6-gb-laptop-gpu-and-the-one-that-wouldnt-4pjl

Komunitas belajar opsional: https://t.me/GyaanSetuAi