Perangkat on-prem yang kehabisan VRAM pada bulan kedua
Perencanaan kapasitas untuk inferensi self-hosted biasanya menghitung bobot dan melupakan semua hal lain yang harus ada di kartu yang sama. Celah antara kedua angka tersebutlah yang pertama kali habis.
Bagaimana Hal Ini Ditampilkan
Model self-hosted diterapkan pada perangkat keras yang ukurannya ditentukan dari perhitungan sederhana: jumlah parameter dikalikan dengan byte per parameter, dengan ruang yang tersisa. Ini berfungsi dalam pengujian. Dua bulan kemudian mulai mengembalikan kesalahan di bawah beban, kemudian jatuh kembali ke model yang jauh lebih kecil, kemudian melayani satu permintaan pada satu waktu.
Kartu belum berubah. Yang berubah adalah semua yang lain bersaing untuk memori yang sama.
Apa yang Sebenarnya Mengisi Kartu
Bobot adalah istilah yang semua orang rencanakan dan, pada server sibuk, sering tidak menjadi konsumen terbesar.
Cache key-value. Ini tumbuh dengan permintaan bersamaan dan dengan panjang konteks, dan ini adalah istilah yang mengubah model tetap menjadi jejak variabel. Percakapan panjang dan konteks yang diperoleh besar mengalikan ini. Ini adalah pelaku utama dan pengabaian biasa.
Memori aktivasi dan overhead runtime. Alokasi framework, optimisasi grafik, dan kolam memori tidak gratis, dan mereka bervariasi dengan mode eksekusi, ukuran batch, dan jumlah urutan bersamaan dalam penerbangan.
Fragmentasi. Mengalokasikan dan membebaskan blok ukuran variabel selama beberapa minggu meninggalkan celah yang tidak dapat digunakan kembali. Server yang berjalan nyaman pada hari pertama dapat gagal mengalokasikan permintaan yang identik pada hari keenam puluh dengan tidak ada perubahan pada profil beban.
Segala Sesuatu Lain di Host. Model embedding, reranker, pengkode visi, agen pemantau, penerapan eksperimental. Masing-masing kecil dalam isolasi dan himpunan mereka tidak.
Mengukur Tanpa Kejutan
- Ukuran untuk puncak yang dapat Anda benar-benarkan, bukan rata-rata. Mode kegagalan adalah puncak, dan puncak adalah apa yang diingat pengguna.
- Batasi panjang konteks di server daripada dengan konvensi. Konteks tak terbatas adalah cache tak terbatas, dan satu klien yang mengirim ulang riwayat setiap giliran akan menemukan batas untuk Anda.
- Kuantisasi secara sengaja daripada secara default. Ini adalah tuas nyata pada perangkat keras yang Anda miliki, tetapi ukur kualitas pada set evaluasi Anda sendiri sebelum dan sesudah — perdagangan tidak seragam di seluruh tugas.
- Simpan headroom untuk beban kerja non-model dan tulis reservasi, sehingga reranker yang direncanakan untuk kuartal depan memiliki tempat untuk hidup.
- Lacak memori dari waktu ke waktu, bukan hanya pada startup. Drift ke atas yang lambat adalah fragmentasi atau kebocoran, dan itu akan ditemukan oleh pemadaman jika tidak ada yang melihat.
- Definisikan mode yang terdegradasi sebelumnya — permintaan bersamaan yang lebih sedikit, konteks yang lebih pendek, model yang lebih kecil — dan lampirkan ke ambang batas eksplisit daripada berimprovisasi selama insiden.
Perhitungan yang Tidak Pernah Ditulis
Artefak yang berguna bukanlah lembar ukuran awal, melainkan catatan tentang apa yang digunakan headroom. Perangkat keras yang diprovisi dengan ruang yang cukup berhenti memiliki ruang yang cukup satu eksperimen pada satu waktu, dan setiap keputusan individu terlihat masuk akal ketika dibuat. Menjaga daftar reservasi di samping penerapan mengubah serangkaian persetujuan kecil menjadi anggaran yang terlihat.
Yang bisa Anda lakukan sekarang
- Ukuran cache key-value, bukan hanya bobot
- Konteks tak terbatas adalah jejak memori tak terbatas
- Pantau memori selama beberapa minggu — fragmentasi muncul sebagai gangguan, bukan peringatan