HeadlinesBriefing favicon HeadlinesBriefing.com

Mengapa Server Inferensi LLM Kehabisan VRAM

Towards Data Science •
×

Bobot model berukuran sedang muat dengan nyaman, lalu lalu lintas simultan memicu kesalahan CUDA out-of-memory sementara penggunaan GPU tetap rendah. Cache kunci-nilai, bukan ukuran model, yang menghabiskan ruang kosong. Sebelum menambahkan GPU, penulis mengaktifkan alokasi berhalaman dan caching prefiks, meningkatkan batas dan mengekspos masalah tata letak memori.

Tumpukan layanan naif menyisakan satu blok berurutan per permintaan untuk panjang urutan maksimal. Permintaan yang menghasilkan 200 token terhadap reservasi 4.096 token membiarkan sebagian besar tidak digunakan. Analisis v LLM menemukan bahwa pengelolaan cache KV naif membuang 60 hingga 80 persen dari memori yang dialokasikan. Cache tumbuh bersama permintaan simultan, sehingga lonjakan lalu lintas — bukan prompt yang lebih panjang — yang mendorong server melebihi batas memori.

Memori GPU dibagikan antara bobot model tetap, aktivasi sementara, dan cache KV yang berubah. Setiap token membiayai sekitar 320 KB untuk Llama 3.1 70B dalam BF16, dengan 80 lapisan, 8 kepala kunci/nilai, dan dimensi kepala 128. Perhatian query yang dikelompokkan mengurangi jumlah kepala kunci/nilai dan ukuran cache.

Dengan 128 permintaan simultan yang menahan konteks 4K token, cache saja membutuhkan sekitar 160 GB. Bobot 70B membutuhkan 140 GB dalam BF16, sehingga cache dapat melebihi model. v LLM mengalokasikan cache sebagai jumlah urutan simultan maksimal dikali panjang urutan maksimal; penambahan salah satu dari keduanya mengalokasikan reservasi dan dapat memicu OOM saat startup.

Entitas Utama: Perusahaan: NVIDIA, Towards Data Science