Menetapkan hasil yang berguna sebelum mencari throughput
Dalam interaksi, ukur waktu tunggu token pertama dan waktu tunggu jawaban lengkap. Untuk korpus offline, ukur waktu yang diperlukan untuk mendapatkan semua output yang diharapkan. Dalam kedua kasus, tetapkan aturan penerimaan: ketepatan pada jawaban yang diketahui, kualitas peringkat, atau ekstraksi bidang yang terverifikasi. JSON yang valid secara sintaksis masih bisa berisi jawaban yang salah.
Pisahkan waktu tunggu dalam antrean, pemrosesan, dan perjalanan lengkap yang diamati oleh klien Anda ketika alat Anda memungkinkan. Pengukuran internal pada mesin tidak memiliki batas yang sama dengan pengukuran aplikasi. Dokumentasi metrik vLLM khususnya membedakan waktu tunggu, token pertama, dan durasi total: pertahankan pembedaan ini dalam catatan Anda, apa pun mesin yang dipilih.
Sumber teknis: vLLM — metrik permintaan dan latensi
Mengubah permintaan Anda menjadi kriteria pemilihan
Siapkan input pendek, biasa, dan panjang dengan pengenal yang stabil. Pertahankan model, tokenizer, templat percakapan, dan parameter generasi. Hitung token yang benar-benar dikirim, termasuk riwayat dan dokumen yang ditambahkan oleh aplikasi. Catat secara terpisah batch yang diminta, konkurensi yang dikirim, dan permintaan yang benar-benar diproses secara bersamaan: ini belum tentu jumlah yang sama.
| Input yang harus ditetapkan | Pengukuran dan satuan | Konsekuensi untuk pemilihan |
|---|---|---|
| Prompt lengkap dan batas output | Token input dan output per permintaan | Verifikasi kasus panjang dan jawaban yang terpotong pada batas |
| Permintaan bersamaan dan laju kedatangan | Permintaan aktif, menunggu, dan selesai | Menentukan beban yang dapat ditanggung dengan waktu tunda yang disyaratkan |
| Presisi, kuantisasi, dan cache | Puncak memori per GPU, dalam byte atau Gio | Singkirkan pengaturan yang melampaui memori pada beban yang direncanakan |
| Aturan kualitas dan referensi | Keluaran yang diterima / keluaran yang diharapkan; metrik bisnis | Bandingkan hanya varian yang memenuhi kriteria yang sama |
| Cakupan pengukuran waktu | Token pertama, respons lengkap, atau korpus: dalam detik | Bandingkan durasi dengan batas yang sama |
| Jadwal hingga berkas diambil | Jendela total, dalam jam atau hari | Selanjutnya pilih paket 3, 7, atau 30 hari |
Mengukur memori dengan konteks dan konkurensi
Untuk model autoregresif yang menghasilkan token demi token, cache KV menyimpan state atensi. Ukurannya bergantung pada model dan token yang disimpan. Cache dinamis dapat bertumbuh selama generasi; cache statis mencadangkan ukuran maksimum. Beberapa lapisan dengan jendela geser membatasi pertumbuhan ini. Karena itu, ujilah panjang dan konkurensi yang direncanakan dengan strategi yang benar-benar digunakan.
Kuantisasi bobot dan kuantisasi cache adalah dua pilihan yang berbeda. Misalnya, bitsandbytes menggantikan beberapa lapisan linear dengan versi terkuantisasi; hal ini tidak menggambarkan seluruh alokasi pada eksekusi Anda. Setelah mengubah presisi, periksa kembali memori dan kualitas alih-alih mengasumsikan bahwa seluruh puncak memori menurun dalam proporsi yang sama.
Dengan PyTorch, catat secara terpisah puncak tensor yang dialokasikan dan puncak memori yang dicadangkan oleh alokator. Jangan menjumlahkannya. Sebutkan GPU yang diukur dan satuannya: 1 GiB setara dengan 2³⁰ byte. Penghitung ini tidak selalu mewakili seluruh pemakaian perangkat. Folder memori merinci batasannya.
Sumber teknis: Hugging Face Transformers 5.17 — strategi cache KV · Hugging Face Transformers 5.17 — kuantisasi bitsandbytes · PyTorch 2.14 — manajemen dan penghitung memori CUDA
Uji terukur pada 300 dokumen
Contoh yang dapat dilakukan dengan korpus resmi Anda: ekstrak tanggal, jumlah, dan kategori dari 300 dokumen. Periksa kembali nilai yang diharapkan, tentukan penanganan bidang yang tidak ada, dan tetapkan ambang penerimaan sebelum uji. Jumlah dokumen menggambarkan protokol; tidak ada waktu, skor, atau throughput yang diasumsikan.
- Kunci 300 identitas, revisi model, prompt, batas token, dan aturan parsing. Pastikan dokumen panjang tetap dapat diidentifikasi dalam laporan.
- Jalankan referensi dengan satu permintaan pada satu waktu. Pisahkan pemuatan, pemanasan, dan pengukuran; simpan prediksi serta kesalahan per dokumen.
- Selanjutnya tingkatkan satu parameter saja: batch untuk pemrosesan berkelompok, atau konkurensi untuk mesin permintaan. Pertahankan masukan dan kriteria kualitas yang sama.
- Untuk setiap proses, catat durasi, puncak memori, jumlah identitas yang ditemukan tanpa duplikat, dan keluaran yang diterima. Ulangi pengukuran dan simpan nilai mentah beserta dispersinya.
- Jika suatu varian gagal, catat alasannya: memori, pemotongan, format, atau kualitas. Batch yang dikurangi atau pengulangan menciptakan keputusan yang perlu didokumentasikan, bukan kegagalan yang harus dihapus.
Sumber teknis: IteraGPU — protokol perbandingan terperinci pada kualitas yang setara
Menggunakan sumber daya IteraGPU Lab v1 pada cakupan yang tepat
Notebook dan skrip pendampingnya menawarkan perhitungan bobot dan pengukuran pada jaringan sintetis kecil. Kode pengukurannya telah dijalankan pada RTX 5070 lokal dengan PyTorch 2.11.0, pada konfigurasi kecil dalam float32. Uji ini memverifikasi kasus eksekusi tersebut; uji ini tidak mengukur LLM, cache KV, maupun GPU katalog pada permintaan Anda.
Gunakan notebook untuk memahami penghitung, lalu ukur beban nyata Anda dengan lingkungannya. Protokol kualitas dan tabel mentah berfungsi untuk menyiapkan perbandingan. Keluaran notebook yang dibagikan dan baris hasil CSV tetap kosong; prosedur ini tidak memasang model atau driver apa pun. Baca prasyarat di README sebelum menjalankan.
- Notebook memori IteraGPU Lab v1
Perhitungan dan jaringan sintetis kecil untuk memahami pengukuran memori.
- Protokol kualitas yang perlu dilengkapi
Masukan tetap, penerimaan keluaran, dan perbandingan uji.
- Tabel mentah kosong
Satu baris per proses nyata, dengan parameter, pengukuran, dan putusan.
- Prasyarat dan batasan IteraGPU Lab v1
Instruksi dan cakupan tepat dari uji lokal yang sudah dilakukan.
Beralih dari pengukuran ke penawaran
Lembar pemilihan Anda harus memuat lingkungan yang kompatibel, memori per kartu, konteks, konkurensi, kualitas yang dicapai, dan waktu yang terukur. Bandingkan konfigurasi yang memenuhi kriteria tersebut, lalu paket 3, 7, dan 30 hari sesuai jadwal lengkap: persiapan, pemrosesan, evaluasi, pengulangan, dan ekspor. Kalkulator pada berkas benchmarks menggunakan paket penuh dan korpus berguna yang benar-benar tervalidasi.
Simpan lembar ini dan versi kode di catatan Anda. Anda yang memilih perangkat lunak dan pemrosesan Anda; IteraGPU tidak melakukan inspeksi terhadap isi berkas, prompt, atau komputasi Anda. Pilihan lingkungan saat pemesanan menyatakan kebutuhan persiapan Anda: itu bukan bukti bahwa model Anda sudah pernah dipasang atau diuji.
Pertanyaan praktis
Apakah 24 GB cukup untuk model inferensi saya?
Kapasitas 24 GB tidak cukup untuk menjawab tanpa mengetahui model dan bebannya. Periksa bersama bobot, alokasi eksekusi, konteks, dan permintaan simultan. Konfigurasi harus menyelesaikan kasus panjang dengan kualitas yang diminta; ukuran berkas atau estimasi bobot saja tidak membuktikannya.
Throughput apa yang perlu dibandingkan untuk korpus offline?
Bandingkan lebih dulu durasi yang diperlukan untuk menyelesaikan dan mengevaluasi korpus yang sama. Jika Anda mempublikasikan throughput, sertakan jumlah keluaran berguna yang diterima, waktu yang dihitung, dan kesalahan. Throughput dalam token per detik tanpa panjang respons atau kontrol kualitas tidak cukup untuk memisahkan dua konfigurasi.
Apakah kelebihan memori memaksa saya mengganti GPU?
Kelebihan memori pertama-tama menuntut identifikasi pengaturan dan input yang menyebabkannya. Anda dapat meninjau batch, konkurensi, panjang, atau presisi, sambil mempertahankan tujuan proyek. Setiap pengurangan yang mengubah dokumen yang diproses atau respons yang diharapkan menuntut verifikasi kualitas baru; memori yang lebih besar mungkin diperlukan jika kendala tersebut harus dipertahankan.
Apakah notebook yang disediakan memvalidasi aplikasi inferensi saya?
Notebook yang disediakan tidak memvalidasi aplikasi Anda: ia mengukur jaringan sintetis kecil dan menjelaskan penghitung memori. Uji lokal yang terdokumentasi hanya mencakup kasus itu. Aplikasi Anda harus dievaluasi dengan model, input, lingkungan, dan kriteria penerimaannya sendiri sebelum menarik kesimpulan tentang kapasitas atau performa.