Menetapkan apa yang dianggap sebagai hasil yang diterima
Tuliskan keputusan sebelum pengujian: "Konfigurasi mana yang memproses semua dokumen saya, memenuhi kualitas minimum saya, dan selesai sebelum tenggat saya, dengan anggaran terpakai paling rendah?" Tetapkan skenarionya: di sini, korpus yang diproses secara offline. Aplikasi interaktif juga menuntut penetapan kedatangan permintaan, konkurensinya, dan latensi yang dapat diterima; peringkatnya tidak dapat disimpulkan hanya dari pengujian ini.
Sebut korpus tervalidasi sebagai himpunan keluaran lengkap yang lolos semua pemeriksaan Anda. File yang terbentuk belum merupakan hasil yang diterima. Periksa pengenal, format, cakupan, dan metrik yang terkait dengan penggunaan Anda. Tuliskan ambang batas dan toleransi terhadap referensi sebelum melihat waktu. Dengan demikian, dua konfigurasi dapat setara untuk keputusan tanpa menghasilkan angka yang identik bit per bit.
Pemisahan antara kumpulan data, target kualitas, dan skenario ini juga terdapat dalam prinsip MLPerf Inference. Protokol di bawah ini adalah metode kerja kami yang dapat disesuaikan dengan proyek Anda; ini bukan merupakan eksekusi maupun sertifikasi MLPerf.
Sumber teknis: MLCommons — skenario, metrik, dan target kualitas
Menyiapkan masukan, referensi, dan manifes
Anda memerlukan korpus yang berhak Anda gunakan, jawaban referensi atau prosedur evaluasi, kode inferensi, dan lingkungan yang mampu menjalankan model yang dipilih. Pisahkan data yang digunakan untuk menyetel konfigurasi dari korpus akhir untuk perbandingan. Jika Anda menyesuaikan ambang batas setelah melihat korpus akhir, siapkan evaluasi independen baru untuk mendukung kesimpulan.
Berikan pengenal yang stabil untuk setiap masukan. Simpan sidik jari korpus, urutan pemrosesan, revisi model dan tokenizer, versi kode dan dependensi. Manifes juga menjelaskan GPU yang digunakan, presisi, kuantisasi, kompilasi, backend atensi, kebijakan padding, dan panjang maksimum. Pemotongan yang berbeda akan mengubah pekerjaan yang dibandingkan.
Catat driver dan backend yang benar-benar terpasang. Untuk varian AMD, periksa kombinasi sistem, GPU, ROCm, dan framework dalam matriks resmi. Dokumentasi yang dibaca atau nama kartu tidak membuktikan bahwa lingkungan tersebut sudah terpasang. Jika tumpukan perangkat lunak berbeda antara dua uji, kesimpulannya akan berlaku untuk konfigurasi lengkap yang diuji.
Sumber teknis: AMD — matriks kompatibilitas ROCm
Contoh: mengklasifikasikan 1.000 teks yang sama
Berikut adalah eksperimen yang dapat Anda bangun dengan data Anda, tanpa anggapan hasil performa. Anda ingin mengklasifikasikan 1.000 teks ke dalam kategori proyek Anda. Sediakan 600 entri pendek, 300 sedang, dan 100 panjang; tentukan batasnya dengan tokenizer yang dipilih dan pertahankan distribusi kelas yang representatif. Pembagian ini adalah contoh protokol, bukan korpus yang disediakan maupun rekomendasi proporsi yang universal.
Bandingkan batch berukuran 1, 4, dan 8 dengan model yang sama, presisi yang sama, urutan yang sama, dan aturan padding yang sama. Satu-satunya variabel pada rangkaian pertama ini adalah batch. Rangkaian kedua dapat mengubah presisi atau perangkat keras, dengan pilihan lain yang ditetapkan secara eksplisit. Pengelompokan berdasarkan panjang adalah varian baru yang harus dideklarasikan, karena mengubah organisasi kerja.
Untuk setiap proses, ekspor 1.000 prediksi beserta identifikasinya. Pemeriksaan harus menemukan persis identifikasi yang diharapkan, tanpa duplikat maupun kelalaian. Simpan prediksi yang salah: prediksi tersebut digunakan untuk perhitungan kualitas. Menghapus contoh yang sulit akan meningkatkan skor secara artifisial dan mengurangi korpus yang benar-benar diproses.
| Pemeriksaan | Aturan contoh | Keputusan yang harus dicatat |
|---|---|---|
| Cakupan | 1.000 identifikasi yang diharapkan muncul tepat satu kali | Kekurangan atau duplikat apa pun membatalkan korpus |
| Format | Satu kelas yang diizinkan per teks; nilai numerik berhingga jika diekspor | Skema dan kelas yang diizinkan |
| Kualitas keseluruhan | Satu metrik utama, misalnya macro-F1 | Ambang batas minimal dan toleransi terhadap referensi |
| Kasus penting | Verifikasi kelas atau panjang yang kritis untuk proyek | Subkelompok dan kriteria yang ditetapkan sebelumnya |
| Tenggat waktu | Prediksi dievaluasi dan berkas diambil sebelum tenggat | Tanggal, waktu, dan zona waktu akhir |
Pisahkan penyalaan, pemanasan, dan proses yang diukur
Catat pengunduhan yang diperlukan, instalasi, pemuatan, dan kompilasi secara terpisah dari pemrosesan yang sudah stabil. Semua itu dapat dikeluarkan dari pencatat waktu suatu proses meskipun tetap memakan sebagian waktu sewa. Tetapkan aturan pemanasan yang sama untuk semua varian: masukan yang tercakup, jumlah proses, dan penanganan kompilasi ulang. Jangan menyesuaikan aturan ini setelah melihat varian mana yang diuntungkan.
Tentukan batas waktu utama. Untuk contoh luring ini, ukur pembacaan korpus, tokenisasi, transfer, inferensi, dan pewujudan prediksi di host. Selanjutnya catat waktu evaluasi dan penulisan hasil secara terpisah untuk menetapkan kampanye lengkap. Durasi yang terbatas pada komputasi GPU tidak dapat dibandingkan langsung dengan waktu pemrosesan ini.
Operasi CUDA bersifat asinkron: pencatat waktu host harus menunggu selesainya operasi sebelumnya sebelum mulai dan selesainya pekerjaan yang diukur sebelum berhenti. Peristiwa CUDA cocok untuk cakupan GPU yang didefinisikan dengan benar. Untuk operasi tunggal, torch.utils.benchmark.Timer menangani pemanasan dan sinkronisasi. Pertahankan batas pengukuran yang sama antarvarian.
Sumber teknis: PyTorch 2.14 — eksekusi CUDA asinkron · PyTorch — mengukur dengan torch.utils.benchmark
Ulangi dan simpan kegagalan
Sediakan lima proses lengkap per varian untuk perbandingan pertama ini. Bergantianlah urutannya, misalnya 1–4–8 lalu 4–8–1 lalu 8–1–4, agar satu varian tidak selalu menjadi yang pertama. Pertahankan kebijakan proses, cache, dan pemanasan. Kelima proses ini menggambarkan rangkaian kecil Anda; kelimanya tidak dengan sendirinya membuktikan kestabilan dalam jangka panjang.
Satu baris tabel mentah mewakili satu percobaan yang dijalankan, termasuk penghentian. Baris itu menghubungkan varian dan korpus dengan parameter, durasi, dan verdikt kualitas. Kolom expected_ids dan observed_ids mencatat jumlah entri; ids_match memastikan kesamaan himpunan, yang diperiksa pada file prediksi yang disimpan terpisah. corpus_accepted berisi verdikt percobaan tersebut. Catat kesalahan dan jalur keluaran di notes. Jika suatu pengukuran tidak ada, biarkan selnya kosong dan jelaskan alasannya. Ketiadaan GPU bukanlah pengukuran nol detik atau nol byte.
Jika batch 8 melebihi memori pada entri panjang, pertahankan baris kegagalan dan jumlah entri yang selesai. Jangan diam-diam mengganti percobaan ini dengan batch yang lebih kecil. Pengaturan lanjutan menjadi varian tersendiri; waktunya dan percobaannya merupakan bagian dari rekap. Interupsi atau kesalahan format tidak pernah menjadi keberhasilan ekonomis hanya karena berlangsung cepat.
Membaca durasi tanpa berlebihan menafsirkan lima percobaan
Sajikan lima durasi mentah, median, minimum, dan maksimumnya, beserta jumlah keberhasilan dan kegagalan. Median menggambarkan pusat observasi tersebut; ia tidak menghapus insiden. Jika suatu percobaan dikecualikan karena sebab eksternal yang terdokumentasi, simpan jejaknya dan terapkan aturan pengecualian yang sama pada semua varian.
Jangan sajikan p95 yang dihitung dari lima percobaan sebagai estimasi yang kokoh untuk kasus lambat. Untuk mempelajari latensi permintaan, kumpulkan himpunan waktu individual yang sesuai beserta skenario kedatangan dan konkurensinya. Lima durasi korpus dan latensi 1.000 permintaan bukanlah populasi yang sama.
Jika dispersi yang teramati sebanding dengan selisih antar median, rangkaian tersebut belum memisahkan opsi-opsinya. Tambahkan pengulangan dalam protokol yang sama atau periksa penyebab yang spesifik: pemuatan, bentuk masukan, kompilasi, aktivitas bersamaan. Hindari hanya mengambil percobaan terbaik dari setiap kartu.
Memeriksa kualitas setelah perubahan presisi
Untuk membandingkan FP32, BF16, atau kuantisasi, mulailah kembali dari masukan dan referensi yang sama. Evaluasi format, metrik utama, dan subkelompok yang direncanakan. Varian yang melampaui toleransi Anda mungkin menarik untuk tujuan lain; ia tidak masuk ke perbandingan setara kualitas dengan menurunkan ambang batas setelah fakta.
Catat seed dan opsi deterministik yang digunakan. PyTorch tidak menjamin reproduktibilitas penuh antar versi, platform, atau eksekusi CPU dan GPU, bahkan dengan seed yang sama. Karena itu, jelaskan apa yang ingin Anda reproduksi: keluaran identik, selisih numerik yang terbatas, atau kualitas bisnis yang dapat diterima. Untuk protokol stokastik, siapkan beberapa seed bersama dan simpan hasilnya secara terpisah.
Sumber teknis: PyTorch 2.14 — cakupan dan batas reproduktibilitas
Menggunakan memori sebagai kriteria kelayakan
Suatu opsi harus menyelesaikan korpus dengan entri panjangnya sebelum biayanya dibandingkan. Catat puncak memori per perangkat dan cakupan penghitungnya. Dengan PyTorch, memory_allocated mengikuti tensor dan memory_reserved mengikuti memori yang dikelola alokator: nilai-nilai ini tidak dijumlahkan. Puncak yang bersesuaian dapat terjadi pada waktu yang berbeda.
Notebook di folder memori membantu membedakan estimasi dan observasi. Latihannya tidak menggantikan pengukuran model Anda: muat lingkungan Anda, pertahankan parameternya, dan jalankan ulang beban kerja Anda. Kapasitas yang diumumkan per kartu dan harga per lot tidak memungkinkan Anda menyimpulkan throughput, interkoneksi, atau pembagian model otomatis ke beberapa GPU.
Sumber teknis: PyTorch 2.14 — penghitung dan alokator memori
Memilih durasi dengan jadwal lengkap
Durasi yang dibutuhkan bukan hanya jumlah kernel GPU. Susun jendela akses mulai dari persiapan pada sewa hingga pengambilan hasil: instalasi, pemeriksaan, pemanasan, perbandingan, kelanjutan yang direncanakan, evaluasi, dan ekspor. Tambahkan periode tunggu selama Anda masih perlu mempertahankan sewa. Ketika tugas-tugas saling tumpang tindih, penalaranlah berdasarkan jadwal nyata alih-alih menjumlahkan durasinya dua kali.
Contoh jadwal, tanpa asumsi kecepatan: Anda ingin mempertahankan akses dari Senin pukul 9.00 hingga Jumat pukul 9.00, pada zona waktu yang sama dan tanpa perubahan waktu. Jendela ini mencakup 96 jam. Ini melebihi 72 jam paket 3 hari dan cukup dalam 168 jam paket 7 hari. Ini tidak membuktikan bahwa pemrosesan Anda akan selesai tepat waktu: durasinya masih harus diukur.
Kalkulator memungkinkan Anda mengisi jendela total dan menampilkan paket 3, 7, dan 30 hari. Paket yang mencakup kalender menjadi kandidat. Jika kampanye melebihi periode yang dipilih, ubah program atau perhitungkan secara eksplisit periode tambahan yang diperlukan; jangan mengasumsikan perpanjangan otomatis.
| Langkah | Akhir yang dapat diamati | Durasi |
|---|---|---|
| Persiapan | Lingkungan dimuat dan uji minimal berhasil | Harus diukur atau direncanakan |
| Perbandingan | Semua proses yang direncanakan memiliki status yang tercatat | Harus diukur |
| Evaluasi dan pengulangan | Setiap keluaran memiliki putusan, setiap kegagalan memiliki keputusan | Harus diukur atau direncanakan |
| Ekspor | File diambil, dibuka, dan diperiksa di tujuan | Harus diukur |
| Ekspektasi | Peninjauan ulang dan ketersediaan tim terintegrasi dalam kalender | Harus direncanakan |
Hitung biaya yang dikeluarkan dengan paket kami
Anggaran sewa adalah harga paket per lot, dikalikan jumlah lot. Biaya per korpus tervalidasi kemudian membagi jumlah keseluruhan ini dengan korpus berguna yang benar-benar diterima pada cakupan yang diumumkan. Jika tidak ada korpus yang diterima, rasio ini tidak terdefinisi. Adapun pengeluaran yang dikeluarkan tetap ada dalam laporan.
Harga di bawah ini berasal dari katalog kami, versi 24 September 2026. Harga-harga ini mengilustrasikan aturan perhitungan, tanpa menetapkan GPU mana yang menyelesaikan beban Anda paling cepat. Satu lot B200 sudah mencakup dua kartu: mengalikan harganya sekali lagi dengan dua akan menghitung kartu-kartu ini dua kali. Dua lot RTX 4090 untuk 7 hari karenanya berbiaya 220 USD; satu lot dua B200 untuk 7 hari berbiaya 2.071 USD.
Proses singkat tidak mengubah paket menjadi tagihan per jam. Kalkulator menggunakan total paket, bahkan jika sebagian periode tetap tidak terpakai. Untuk anggaran proyek yang lebih luas, catat secara terpisah pengeluaran lain yang benar-benar berlaku dan justifikasinya. Jangan mencampur biaya yang diukur pada salah satu varian dengan pos yang terlupakan pada varian lain.
| Konfigurasi lot | 3 hari | 7 hari | 30 hari |
|---|---|---|---|
| 1 × NVIDIA GeForce RTX 4090 24 GB | 47,14 | 110,00 | 390,00 |
| 2 × NVIDIA B200 SXM, 180 GB per kartu | 887,57 | 2 071,00 | 7 391,00 |
Sumber teknis: IteraGPU — paket katalog
Hitung deliverable yang berguna, bukan pengulangan pengukuran
Lima pengulangan benchmark yang sama berfungsi untuk mengamati dispersi. Kelimanya tidak menjadi lima korpus produksi yang berguna hanya karena lima file telah ditulis. Tentukan deliverable yang diharapkan sebelum kampanye dan hitung setiap deliverable yang diterima hanya sekali. Jika pekerjaan sebenarnya mencakup beberapa korpus, setiap konfigurasi harus memproses korpus yang sama dan menerapkan aturan kualitas yang sama.
Dalam kalkulator, biarkan jumlah korpus kosong selama deliverable berguna belum benar-benar selesai dan tervalidasi. Kotak kualitas mengonfirmasi pemeriksaan Anda sendiri; alat ini tidak membaca prediksi maupun metrik Anda. Isi hanya jumlah yang teramati. Jendela kampanye boleh merupakan asumsi perencanaan, tetapi perkiraan kapasitas tidak menggantikan hasil yang diterima.
Laporan akhir menyatukan, untuk setiap konfigurasi yang layak, putusan kualitas, durasi mentah, jendela kampanye, paket yang dikeluarkan, dan jumlah deliverable yang diterima. Opsi cepat bisa berguna untuk tenggat yang ketat tanpa menjadi yang termurah. Dua opsi yang masuk dalam kalender yang sama dapat dibedakan berdasarkan biaya yang dikeluarkan, kegagalannya, atau ketidakpastian yang tersisa.
Unduh protokol dan simpan bukti yang dapat digunakan kembali
Folder IteraGPU Lab v1 mengumpulkan materi pendukung perbandingan ini dan pengukuran memori. Mulailah dengan README dan protokol kualitas, lalu lengkapi tabel mentah dengan proses Anda. Sel performa tetap kosong sebelum eksekusi; tarif adalah data katalog, terpisah dari pengukuran.
Untuk menghitung biaya dua lot RTX 4090 selama 7 hari, letakkan calcul_forfaits.py dan tarifs-forfaits.csv di folder yang sama, buka terminal di folder tersebut dan jalankan perintah di bawah ini dengan Python 3.10 atau lebih baru. Perintah ini menampilkan tarif paket sebesar 220,00 USD untuk dua GPU. Opsi opsional --accepted-results menerima jumlah bilangan bulat korpus berguna berbeda Anda yang benar-benar telah selesai dan tervalidasi. Abaikan opsi ini selama temuan tersebut belum ada: skrip kemudian hanya menghitung tarif paket, tanpa mengarang biaya per hasil.
Simpan bersama-sama manifes, sidik jari masukan, prediksi, putusan, dan tabel percobaan. Catatan keputusan mencantumkan pengaturan yang dipilih, beban yang tercakup, dan alasan pemilihannya. Anda dapat mencocokkannya dengan sewa Anda di buku IteraGPU dan menjalankan kembali pertanyaan eksperimental yang sama persis saat terjadi perubahan model atau versi.
Protokol offline ini tidak dengan sendirinya memenuhi syarat untuk layanan interaktif, pelatihan hingga konvergensi, atau himpunan data lain. Untuk penggunaan tersebut, definisikan ulang unit berguna dan kontrolnya sebelum membandingkan. Berkas yang disediakan berfungsi untuk menyiapkan dan mencatat uji coba Anda; folder ini tidak menyajikan perbandingan terukur antara konfigurasi katalog maupun penghematan yang teramati.
python calcul_forfaits.py --gpu rtx-4090 --days 7 --lots 2- IteraGPU Lab v1 — folder lengkap
Arsip skrip, notebook, tabel, dan instruksi.
- Protokol kualitas
Masukan, kriteria penerimaan, dan aturan perbandingan yang harus ditetapkan sebelum uji coba.
- Tabel hasil mentah
Lembar kosong untuk menyimpan parameter, pengukuran, putusan, dan kegagalan.
- Perhitungan tarif paket
Perhitungan anggaran dengan harga per lot, durasi 3, 7, dan 30 hari, serta korpus tervalidasi.
- Tarif paket
Cuplikan harga katalog kami yang digunakan oleh perhitungan yang disediakan.
- Notebook pengukuran memori
Perhitungan dan latihan pengukuran yang harus ditafsirkan bersama folder memori.
- Skrip pengukuran memori
Versi Python dari latihan, dengan pemeriksaan lingkungan.
- Instruksi dan prasyarat
Cakupan alat dan prosedur untuk menjalankannya serta menyimpan keluarannya.
- Lisensi sumber daya
Ketentuan penggunaan ulang sumber daya asli dalam folder ini.
Hitung anggaran kampanye Anda
Pilih konfigurasi dan jumlah lot Anda. Tabel ini menggunakan harga dari katalog kami. Selanjutnya masukkan asumsi jadwal Anda sendiri; tidak ada waktu komputasi yang diprediksi.
1 GPU total · 24 GB per GPU · 1 GPU termasuk dalam harga setiap lot.
Sertakan persiapan pada sewa, komputasi, evaluasi, gangguan yang direncanakan, dan ekspor. Jendela yang cukup dalam paket tidak menjamin keberhasilan pemrosesan.
Sebuah korpus adalah keseluruhan batch kerja yang ditentukan oleh protokol Anda. Hitung hanya korpus berguna yang selesai dan tervalidasi; pengulangan benchmark tidak dianggap korpus berguna baru. Kalkulator ini tidak mengukur kualitas.
| Durasi | Total paket | Jendela yang dimasukkan | USD / korpus tervalidasi |
|---|---|---|---|
| 3 hari · 72 jam | USD 47,14 | Perlu diisi | Kualitas dan kuantitas wajib |
| 7 hari · 168 jam | USD 110,00 | Perlu diisi | Kualitas dan kuantitas wajib |
| 30 hari · 720 jam | USD 390,00 | Perlu diisi | Kualitas dan kuantitas wajib |
Biaya per korpus = total paket ÷ jumlah korpus lengkap yang tervalidasi. Paket dibayar penuh; rasio ini bukan tarif per jam maupun pembayaran sesuai pemakaian.
Jika jendela melebihi 30 hari, tentukan kalender baru atau beberapa periode penyewaan dan periksa ketersediaannya. Kalkulator tidak mengasumsikan perpanjangan otomatis maupun kesinambungan kapasitas.