GPU untuk riset ML · Pembayaran kripto tanpa KYC
IteraGPU
Metode 02 · Kualitas, pengukuran, dan biaya

GPU mana yang paling murah untuk hasil ML yang sama?

Bandingkan dahulu hasil yang memenuhi persyaratan kualitas yang sama, lalu anggaran yang diperlukan untuk memperolehnya sesuai jadwal Anda. Throughput yang lebih tinggi tidak cukup: korpus harus lengkap, keluaran dapat diterima, dan ekspor selesai. Berkas ini menyajikan protokol inferensi, lembar hasil kosong, dan perhitungan paket; berkas ini tidak menerbitkan peringkat kinerja GPU apa pun.

01 /

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

02 /

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

03 /

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.

Kontrak kualitas yang harus dilengkapi sebelum pengukuran pertama
PemeriksaanAturan contohKeputusan yang harus dicatat
Cakupan1.000 identifikasi yang diharapkan muncul tepat satu kaliKekurangan atau duplikat apa pun membatalkan korpus
FormatSatu kelas yang diizinkan per teks; nilai numerik berhingga jika dieksporSkema dan kelas yang diizinkan
Kualitas keseluruhanSatu metrik utama, misalnya macro-F1Ambang batas minimal dan toleransi terhadap referensi
Kasus pentingVerifikasi kelas atau panjang yang kritis untuk proyekSubkelompok dan kriteria yang ditetapkan sebelumnya
Tenggat waktuPrediksi dievaluasi dan berkas diambil sebelum tenggatTanggal, waktu, dan zona waktu akhir
04 /

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

05 /

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.

Throughput satu percobaan penuh = jumlah entri yang diproses ÷ durasi cakupan yang dideklarasikan. Verdikt kualitas tetap menjadi pemeriksaan terpisah.
06 /

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.

07 /

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

08 /

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

09 /

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.

Batas yang harus dicatat dalam rencana Anda
LangkahAkhir yang dapat diamatiDurasi
PersiapanLingkungan dimuat dan uji minimal berhasilHarus diukur atau direncanakan
PerbandinganSemua proses yang direncanakan memiliki status yang tercatatHarus diukur
Evaluasi dan pengulanganSetiap keluaran memiliki putusan, setiap kegagalan memiliki keputusanHarus diukur atau direncanakan
EksporFile diambil, dibuka, dan diperiksa di tujuanHarus diukur
EkspektasiPeninjauan ulang dan ketersediaan tim terintegrasi dalam kalenderHarus direncanakan
10 /

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.

Biaya yang dikeluarkan = harga paket per lot × jumlah lot. Biaya per korpus berguna tervalidasi = biaya yang dikeluarkan ÷ jumlah korpus berguna tervalidasi, yang harus positif.
Contoh harga IteraGPU per lot, dalam USD — katalog 24 September 2026
Konfigurasi lot3 hari7 hari30 hari
1 × NVIDIA GeForce RTX 4090 24 GB47,14110,00390,00
2 × NVIDIA B200 SXM, 180 GB per kartu887,572 071,007 391,00

Sumber teknis: IteraGPU — paket katalog

11 /

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.

12 /

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.

shell
python calcul_forfaits.py --gpu rtx-4090 --days 7 --lots 2
ALAT / PAKET

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.

Paket NVIDIA GeForce RTX 4090 24GB · 1 lot · USD
DurasiTotal paketJendela yang dimasukkanUSD / korpus tervalidasi
3 hari · 72 jamUSD 47,14Perlu diisiKualitas dan kuantitas wajib
7 hari · 168 jamUSD 110,00Perlu diisiKualitas dan kuantitas wajib
30 hari · 720 jamUSD 390,00Perlu diisiKualitas 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.