Kabul edilmiş sonuç sayılacak şeyi tanımlayın
Kararı denemelerden önce yazın: "Hangi yapılandırma tüm belgelerimi işler, minimum kalitemi karşılar ve en düşük taahhüt edilen bütçeyle son tarihimden önce bitirir?" Senaryoyu belirleyin: burada çevrimdışı işlenen bir derlem. Etkileşimli bir uygulama ayrıca isteklerin gelişini, eşzamanlılığını ve kabul edilebilir gecikmeyi tanımlamayı gerektirir; sıralaması bu tek denemeden çıkarılamaz.
Tüm kontrollerinizden geçen eksiksiz bir çıktı kümesine doğrulanmış derlem diyin. Oluşturulmuş bir dosya henüz kabul edilmiş bir sonuç değildir. Tanımlayıcıları, biçimi, kapsamı ve kullanımınızla ilgili bir metriği doğrulayın. Sürelere bakmadan önce eşiği ve bir referansa göre toleransı kaydedin. Böylece iki yapılandırma, bit bit aynı sayıları üretmeden karar açısından eşdeğer olabilir.
Veri kümesi, kalite hedefi ve senaryo arasındaki bu ayrım MLPerf Inference ilkelerinde de vardır. Aşağıdaki protokol, projenize uyarlanacak bizim çalışma yöntemimizdir; ne bir MLPerf yürütmesi ne de bir MLPerf sertifikasıdır.
Teknik kaynaklar: MLCommons — senaryolar, metrikler ve kalite hedefleri
Girdileri, referansı ve manifestoyu hazırlayın
Kullanma hakkına sahip olduğunuz bir derlem, referans yanıtlar veya bir değerlendirme yordamı, çıkarım kodu ve seçilen modeli çalıştırabilecek bir ortam gerekir. Nihai karşılaştırma derleminin yapılandırmasını ayarlamaya yarayan verileri bundan ayırın. Eşikleri bu son derlemi gördükten sonra ayarlarsanız, sonucu desteklemek için yeni ve bağımsız bir değerlendirme hazırlayın.
Her girdiye kalıcı bir tanımlayıcı verin. Derlemin bir parmak izini, geçiş sırasını, modelin ve tokenizer'ın revizyonunu, kodun ve bağımlılıkların sürümlerini saklayın. Manifesto ayrıca kullanılan GPU'ları, hassasiyeti, nicelemeyi, derlemeyi, attention backend'ini, padding politikasını ve maksimum uzunluğu tanımlar. Farklı bir kırpma, karşılaştırılacak işi değiştirirdi.
Sürücüyü ve gerçekte mevcut olan arka ucu kaydedin. Bir AMD varyantı için sistem, GPU, ROCm ve çerçeve kombinasyonunu resmî matriste doğrulayın. Başvurulan bir dokümantasyon veya bir kartın adı, bu ortamın kurulu olduğunu kanıtlamaz. İki deneme arasında yazılım yığınları farklıysa, sonuç test edilen tam yapılandırmalara ilişkin olacaktır.
Teknik kaynaklar: AMD — ROCm uyumluluk matrisi
Örnek: aynı 1.000 metni sınıflandırma
İşte verilerinizle kuracağınız bir deney; varsayılan bir performans sonucu yok. Projenizin kategorilerinde 1.000 metni sınıflandırmak istiyorsunuz. 600 kısa, 300 orta ve 100 uzun giriş ayırın; sınırları seçilen tokenizer ile tanımlayın ve sınıfların temsili bir dağılımını koruyun. Bu bölümleme bir protokol örneğidir; sağlanan bir derlem ya da evrensel bir oran önerisi değildir.
Aynı model, aynı hassasiyet, aynı sıra ve aynı padding kuralıyla 1, 4 ve 8'lik batch'leri karşılaştırın. Bu ilk serideki tek değişken batch'tir. İkinci bir seri hassasiyeti veya donanımı değiştirebilir; diğer seçimler açıkça sabit tutulur. Uzunluğa göre gruplama, işin organizasyonunu değiştirdiği için bildirilmesi gereken yeni bir varyanttır.
Her geçiş için 1.000 tahmini kimlikleriyle dışa aktarın. Kontrol, beklenen kimlikleri tam olarak bulmalı; yinelenen veya eksik olmamalıdır. Hatalı tahminleri saklayın: kalite hesabına hizmet ederler. Zor örnekleri çıkarmak, puanı yapay olarak yükseltir ve gerçekte işlenen derlemi küçültür.
| Kontrol | Örnek kuralı | Kaydedilecek karar |
|---|---|---|
| Kapsam | Beklenen 1.000 kimlik tam olarak bir kez görünür | Herhangi bir eksiklik veya yinelenme derlemi geçersiz kılar |
| Biçim | Metin başına bir izin verilen sınıf; dışa aktarılırsa sonlu sayısal değerler | Şema ve izin verilen sınıflar |
| Genel kalite | Bir ana metrik, örneğin makro-F1 | Asgari eşik ve referansa karşı tolerans |
| Önemli durumlar | Proje için kritik sınıfların veya uzunlukların doğrulanması | Önceden sabitlenmiş alt gruplar ve ölçütler |
| Süre | Tahminler değerlendirilmiş ve dosyalar son tarihten önce alınmış | Bitiş tarihi, saati ve saat dilimi |
Başlatmayı, ısınmayı ve ölçülen geçişi ayırma
Gerekli indirmeyi, kurulumu, yüklemeyi ve derlemeyi kararlı hâle gelmiş işlemeden ayrı olarak kaydedin. Bunlar bir geçişin kronometresinden hariç tutulabilir, ancak kiralama süresinin bir kısmını kaplar. Tüm varyantlar için aynı ısınma kuralını belirleyin: kapsanan girişler, geçiş sayısı ve yeniden derlemelerin işlenmesi. Hangi varyantın bundan faydalandığını gördükten sonra bu kuralı ayarlamayın.
Ana sürenin sınırlarını tanımlayın. Bu çevrimdışı örnek için derlemin okunmasını, tokenizasyonu, transferleri, çıkarımı ve tahminlerin ana makinede somutlaştırılmasını ölçün. Ardından değerlendirmeyi ve teslimatların yazılmasını ayrı ayrı kronometreleyerek tam kampanyayı belirleyin. Yalnızca GPU hesaplamasıyla sınırlı bir süre, bu işleme süresiyle doğrudan karşılaştırılamaz.
CUDA işlemleri asenkrondur: bir ana makine kronometresi başlamadan önce önceki işlemlerin bitmesini, durmadan önce de ölçülen işin bitmesini beklemelidir. CUDA olayları, doğru tanımlanmış bir GPU kapsamı için uygundur. İzole bir işlem için torch.utils.benchmark.Timer ısınmayı ve senkronizasyonu üstlenir. Varyantlar arasında aynı ölçüm sınırlarını koruyun.
Teknik kaynaklar: PyTorch 2.14 — asenkron CUDA yürütmesi · PyTorch — torch.utils.benchmark ile ölçme
Tekrarlama ve başarısızlıkları saklama
Bu ilk karşılaştırma için varyant başına beş tam geçiş öngörün. Sıralarını değiştirin; örneğin 1–4–8, sonra 4–8–1, sonra 8–1–4; böylece tek bir varyant her zaman ilk olmasın. Süreç, önbellek ve ısınma politikasını koruyun. Bu beş geçiş küçük serinizi tanımlar; tek başına uzun bir dönem boyunca kararlılığı kanıtlamaz.
Ham tablodaki bir satır, bir durdurma da dahil olmak üzere denenmiş bir geçişi temsil eder. Varyantı ve korpusu parametrelere, süreye ve kalite kararına bağlar. expected_ids ve observed_ids alanları giriş sayılarını kaydeder; ids_match kümelerin eşitliğini doğrular ve bu kontrol ayrı olarak saklanan tahmin dosyalarında yapılır. corpus_accepted geçişin kararını içerir. Hataları ve çıktı yollarını notes içine yazın. Bir ölçüm eksikse hücresini boş bırakın ve nedenini belirtin. GPU'nun olmaması sıfır saniyelik veya sıfır baytlık bir ölçüm değildir.
Uzun girdilerde batch 8 belleği aşarsa, başarısız satırı ve tamamlanan girdi sayısını koruyun. Bu bölümü sessizce daha küçük bir batch ile değiştirmeyin. Devam ayarı ayrı bir varyant haline gelir; süresi ve denemeleri de bilançonun parçasıdır. Bir kesinti veya biçim hatası, hızlı olduğu için asla ekonomik bir başarı sayılmaz.
Beş denemeyi aşırı yorumlamadan süreleri okuyun
Beş ham süreyi, bunların medyanını, minimumunu ve maksimumunu, başarı ve başarısızlık sayılarıyla birlikte sunun. Medyan bu gözlemlerin merkezini tanımlar; olayları ortadan kaldırmaz. Bir geçiş, belgelenmiş dışsal bir nedenle hariç tutulursa, bunun kaydını tutun ve aynı hariç tutma kuralını tüm varyantlara uygulayın.
Beş tekrardan hesaplanan bir p95'i yavaş durumların sağlam bir tahmini olarak sunmayın. İstek gecikmesini incelemek için, varış senaryosu ve eşzamanlılık ile birlikte uygun bir bireysel süreler kümesi toplayın. Beş korpus süresi ve 1.000 istek gecikmesi aynı popülasyon değildir.
Gözlemlenen dağılım medyanlar arasındaki farkla karşılaştırılabilir düzeydeyse, seri seçenekler arasında henüz ayrım yapmıyor demektir. Ortak bir protokolde tekrarlar ekleyin veya belirli bir nedeni inceleyin: yükleme, giriş biçimleri, derleme, eşzamanlı etkinlik. Yalnızca her kartın en iyi bölümünü dikkate almaktan kaçının.
Hassasiyet değişikliğinden sonra kaliteyi doğrulama
FP32, BF16 veya bir niceleştirmeyi karşılaştırmak için aynı girdilerden ve aynı referanstan başlayın. Biçimi, ana metriği ve öngörülen alt grupları değerlendirin. Toleransınızı aşan bir varyant başka bir amaç için ilginç olabilir; eşiği sonradan düşürerek eşdeğer kalitedeki karşılaştırmaya katılmaz.
Kullanılan tohumları ve deterministik seçenekleri kaydedin. PyTorch, aynı tohumla bile sürümler, platformlar veya CPU ile GPU çalıştırmaları arasında tam yeniden üretilebilirliği garanti etmez. Bu nedenle neyi yeniden üretmeye çalıştığınızı belirtin: aynı çıktılar, sınırlı sayısal sapma veya kabul edilebilir iş kalitesi. Stokastik bir protokol için birkaç ortak tohum öngörün ve sonuçlarını ayrı ayrı saklayın.
Teknik kaynaklar: PyTorch 2.14 — yeniden üretilebilirliğin kapsamı ve sınırları
Belleği bir uygulanabilirlik ölçütü olarak kullanma
Bir seçenek, maliyeti karşılaştırılmadan önce uzun girdileriyle birlikte corpus'u tamamlamalıdır. Aygıt başına bellek zirvesini ve sayacın kapsamını kaydedin. PyTorch'ta memory_allocated tensörleri, memory_reserved ise ayırıcının yönettiği belleği izler: bu değerler toplanmaz. İlgili zirveler farklı anlarda ortaya çıkabilir.
Bellek klasöründeki notebook, tahmin ile gözlemi ayırt etmeye yardımcı olur. Alıştırması modelinizin ölçümünün yerini tutmaz: ortamınızı yükleyin, parametreleri koruyun ve iş yükünüzü yeniden çalıştırın. Kart başına belirtilen bir kapasite ve bir lot fiyatı; verim, ara bağlantı veya modelin birden çok GPU'ya otomatik dağıtımı hakkında bir sonuç çıkarmaya izin vermez.
Teknik kaynaklar: PyTorch 2.14 — bellek sayaçları ve ayırıcı
Süreyi tam takvimle birlikte seçme
Gereken süre yalnızca GPU kernel'lerinin toplamı değildir. Kiralamadaki hazırlıktan çıktıların alınmasına kadar uzanan bir erişim penceresi kurun: kurulum, kontroller, ısınma, karşılaştırmalar, öngörülen yeniden denemeler, değerlendirme ve dışa aktarma. Kiralamaayı hâlâ elinizde tutmanız gereken bekleme dönemlerini de ekleyin. Görevler çakıştığında, sürelerini iki kez toplamak yerine gerçek takvim üzerinden düşünün.
Hız varsayımı olmadan örnek takvim: aynı saat diliminde ve yaz saati değişimi olmadan pazartesi 9.00'dan cuma 9.00'a kadar erişimi elinizde tutmak istiyorsunuz. Bu aralık 96 saati kapsar. 3 günlük bir paketin 72 saatini aşar ve 7 günlük bir paketin 168 saatine sığar. Bu, işlemlerinizin zamanında biteceğini kanıtlamaz: süreleri hâlâ ölçülmelidir.
Hesaplayıcı, toplam zaman aralığınızı girmenizi sağlar ve 3, 7 ile 30 günlük paketleri gösterir. Takvimi kapsayan bir paket aday haline gelir. Kampanya seçilen dönemi aşıyorsa, programı değiştirin veya gereken ek dönemleri açıkça fiyatlandırın; otomatik bir uzatma varsaymayın.
| Adım | Gözlemlenebilir bitiş | Süre |
|---|---|---|
| Hazırlık | Ortam yüklendi ve asgari deneme başarılı oldu | Ölçülecek veya planlanacak |
| Karşılaştırma | Planlanan tüm çalıştırmaların kayıtlı bir durumu var | Ölçülecek |
| Değerlendirme ve yeniden çalıştırmalar | Her çıktının bir kararı, her başarısızlığın bir yanıtı var | Ölçülecek veya planlanacak |
| Dışa aktarma | Dosyalar alındı, açıldı ve hedefte kontrol edildi | Ölçülecek |
| Beklentiler | Takım incelemesi ve müsaitliği takvime entegre | Planlanacak |
Paketlerimizle taahhüt edilen maliyeti hesaplayın
Bir kiralamanın bütçesi, bir lot için paket fiyatının lot sayısıyla çarpımıdır. Doğrulanmış başına maliyet ise bu toplam tutarı, belirtilen kapsamda fiilen kabul edilen faydalı derlem sayısına böler. Hiçbir derlem kabul edilmezse oran tanımsızdır. Taahhüt edilen harcama ise bilançoda kalır.
Aşağıdaki fiyatlar 24 Eylül 2026 sürümlü kataloğumuzdan alınmıştır. Hesaplama kuralını örneklerler; iş yükünüzü hangi GPU'nun en hızlı bitireceğini göstermezler. Bir B200 lotu hâlihazırda iki kart içerir: fiyatını ikinci kez ikiyle çarpmak bu kartları iki kez saymak olur. Bu nedenle 7 günlük iki RTX 4090 lotu 220 USD tutar; 7 günlük bir lot iki B200 ise 2.071 USD tutar.
Kısa bir kullanım, paketi saatlik faturalamaya dönüştürmez. Hesaplayıcı, dönemin bir kısmı kullanılmasa bile paketin toplamını kullanır. Daha geniş bir proje bütçesi için, gerçekten uygulanabilir diğer harcamaları ve gerekçelerini ayrı ayrı kaydedin. Bir varyantta ölçülen maliyetleri diğerinde unutulan kalemlerle karıştırmayın.
| Lot yapılandırması | 3 gün | 7 gün | 30 gün |
|---|---|---|---|
| 1 × NVIDIA GeForce RTX 4090 24 GB | 47,14 | 110,00 | 390,00 |
| 2 × NVIDIA B200 SXM, kart başına 180 GB | 887,57 | 2 071,00 | 7 391,00 |
Teknik kaynaklar: IteraGPU — katalog paketleri
Ölçüm tekrarlarını değil, faydalı çıktıları sayın
Aynı benchmark'ın beş kez tekrarlanması, dağılımı gözlemlemeye yarar. Sırf beş dosya yazıldı diye bunlar beş faydalı üretim veri kümesine dönüşmez. Kampanyadan önce beklenen çıktıları tanımlayın ve kabul edilen her çıktıyı yalnızca bir kez sayın. Gerçek iş birden fazla veri kümesini kapsıyorsa, her yapılandırma aynı veri kümelerini işlemeli ve aynı kalite kuralını uygulamalıdır.
Hesaplayıcıda, faydalı çıktılar gerçekten tamamlanıp doğrulanmadığı sürece korpus sayısını boş bırakın. Kalite kutusu kendi kontrolünüzü onaylar; araç ne tahminlerinizi ne de metriklerinizi okur. Yalnızca gözlemlenen miktarı girin. Kampanya penceresi bir planlama varsayımı olabilir, ancak bir kapasite tahmini kabul edilmiş sonuçların yerini tutmaz.
Nihai değerlendirme, kabul edilebilir her yapılandırma için kalite kararlarını, ham süreleri, kampanya penceresini, taahhüt edilen paket ücretini ve kabul edilen teslimat sayısını bir araya getirir. Hızlı bir seçenek, sıkışık bir teslim tarihi için en ucuz olmasa da işe yarayabilir. Aynı takvime sığan iki seçenek, taahhüt edilen maliyetleri, başarısızlıkları veya geriye kalan belirsizlikle birbirinden ayrılabilir.
Protokolü indirin ve yeniden kullanılabilir bir kanıt saklayın
IteraGPU Lab v1 klasörü, bu karşılaştırmanın ve bellek ölçümünün materyallerini bir araya getirir. README ve kalite protokolüyle başlayın, ardından ham tabloyu kendi çalıştırmalarınızla tamamlayın. Performans hücreleri bir çalıştırmadan önce boş kalır; fiyatlar, ölçümlerden ayrı tutulan katalog verileridir.
İki adet RTX 4090 partisini 7 gün boyunca fiyatlandırmak için calcul_forfaits.py ve tarifs-forfaits.csv dosyalarını aynı klasöre koyun, bu klasörde bir terminal açın ve aşağıdaki komutu Python 3.10 veya daha yeni bir sürümle çalıştırın. Bu komut iki GPU için 220,00 USD tutarında bir paket fiyatı görüntüler. İsteğe bağlı --accepted-results seçeneği, gerçekten tamamlanmış ve doğrulanmış benzersiz faydalı korpus sayınızı tam sayı olarak alır. Bu tespit mevcut değilse bu seçeneği atlayın: o durumda betik yalnızca paket fiyatını hesaplar, sonuç başına bir maliyet uydurmaz.
Manifesti, girdi parmak izlerini, tahminleri, kararları ve deneme tablosunu bir arada saklayın. Karar notu, seçilen ayarı, kapsanan yükü ve seçim gerekçesini belirtir. Bunu IteraGPU defterinizdeki kiralama kaydıyla ilişkilendirebilir ve bir model ya da sürüm değişikliğinde deneysel soruyu tam olarak yeniden çalıştırabilirsiniz.
Bu çevrimdışı protokol tek başına etkileşimli bir hizmeti, yakınsamaya kadar eğitimi veya başka bir veri kümesini nitelendirmez. Bu kullanımlar için karşılaştırma yapmadan önce faydalı birimi ve kontrolleri yeniden tanımlayın. Sağlanan dosyalar denemelerinizi hazırlamaya ve kayıt altına almaya yarar; bu klasör katalogdaki yapılandırmalar arasında ölçülmüş hiçbir karşılaştırma veya gözlemlenmiş tasarruf sunmaz.
python calcul_forfaits.py --gpu rtx-4090 --days 7 --lots 2- IteraGPU Lab v1 — eksiksiz dosya
Betiklerin, not defterinin, tabloların ve talimatların arşivi.
- Kalite protokolü
Denemelerden önce belirlenecek girdiler, kabul kriterleri ve karşılaştırma kuralları.
- Ham sonuç tablosu
Parametreleri, ölçümleri, kararları ve başarısızlıkları saklamak için boş sayfa.
- Paket hesaplaması
Parti başına fiyat, 3, 7 ve 30 günlük süreler ve doğrulanmış korpuslarla bütçe hesaplaması.
- Paket tarifeleri
Sağlanan hesaplamada kullanılan katalog fiyatlarımızın anlık görüntüsü.
- Bellek ölçüm notebook'u
Bellek dosyasıyla birlikte yorumlanacak hesaplamalar ve ölçüm alıştırması.
- Bellek ölçüm betiği
Alıştırmanın Python sürümü, ortam denetimiyle birlikte.
- Talimatlar ve önkoşullar
Araçların kapsamı ve bunları çalıştırıp çıktıları saklama prosedürü.
- Kaynakların lisansı
Klasördeki orijinal kaynakların yeniden kullanım koşulları.
Kampanyanızın bütçesini hesaplayın
Bir yapılandırma ve grup sayınızı seçin. Tablo, kataloğumuzdaki fiyatları kullanır. Ardından kendi takvim varsayımlarınızı girin; hiçbir hesaplama süresi öngörülmez.
Toplam 1 GPU · GPU başına 24 GB · her partinin fiyatına 1 GPU dahildir.
Kiralama hazırlığı, hesaplamalar, değerlendirme, planlı kesintiler ve dışa aktarmayı dahil edin. Pakete sığan bir pencere, işlemenin başarılı olacağını garanti etmez.
Bir corpus, protokolünüzle tanımlanan tam çalışma grubudur. Yalnızca tamamlanmış ve doğrulanmış faydalı corpus'ları sayın; benchmark tekrarları yeni faydalı corpus oluşturmaz. Hesaplayıcı kaliteyi ölçmez.
| Süre | Paket toplamı | Girilen pencere | USD / doğrulanmış corpus |
|---|---|---|---|
| 3 gün · 72 sa | USD 47,14 | Doldurulacak | Gerekli kalite ve miktar |
| 7 gün · 168 sa | USD 110,00 | Doldurulacak | Gerekli kalite ve miktar |
| 30 gün · 720 sa | USD 390,00 | Doldurulacak | Gerekli kalite ve miktar |
Korpus başına maliyet = paket toplamı ÷ doğrulanmış tam korpus sayısı. Paketin tamamı ödenir; bu oran ne saatlik bir tarife ne de kullanım başına ödemedir.
Pencere 30 günü aşarsa yeni bir takvim veya birden fazla kiralama dönemi tanımlayın ve bunların uygunluğunu kontrol edin. Hesaplayıcı ne otomatik uzatmayı ne de kapasite sürekliliğini varsayar.