GPU do badań ML · Płatność crypto bez KYC
IteraGPU
Metoda 02 · Jakość, pomiar i koszt

Który GPU kosztuje najmniej za ten sam wynik ML?

Najpierw porównaj wyniki spełniające to samo wymaganie jakości, a następnie budżet potrzebny do ich uzyskania w Twoim harmonogramie. Wyższa przepustowość nie wystarczy: korpus musi być kompletny, wyniki akceptowalne, a eksport zakończony. Ten materiał proponuje protokół wnioskowania, czysty arkusz wyników i kalkulację forfaitu; nie publikuje żadnego rankingu wydajności GPU.

01 /

Zdefiniuj, co będzie uznane za zaakceptowany wynik

Zapisz decyzję przed testami: „Która konfiguracja przetworzy wszystkie moje dokumenty, spełni moją minimalną jakość i zakończy się przed moim terminem, przy najniższym zaangażowanym budżecie?” Ustal scenariusz: tutaj korpus przetwarzany offline. Aplikacja interaktywna wymagałaby także zdefiniowania napływu żądań, ich współbieżności i dopuszczalnego opóźnienia; jej rankingu nie da się wywnioskować z samego tego testu.

Nazywaj zatwierdzonym korpusem kompletny zbiór wyników, który przechodzi wszystkie Twoje kontrole. Utworzony plik nie jest jeszcze zaakceptowanym wynikiem. Sprawdź identyfikatory, format, pokrycie i metrykę związaną z Twoim zastosowaniem. Zapisz próg i tolerancję względem referencji, zanim spojrzysz na czasy. Dwie konfiguracje mogą więc być równoważne dla decyzji, nie dając liczb identycznych co do bitu.

To rozdzielenie zbioru danych, celu jakości i scenariusza istnieje także w zasadach MLPerf Inference. Poniższy protokół to nasza metoda pracy do dostosowania do Twojego projektu; nie stanowi ani wykonania, ani certyfikacji MLPerf.

Źródła techniczne: MLCommons — scenariusze, metryki i cele jakości

02 /

Przygotuj dane wejściowe, referencję i manifest

Potrzebujesz korpusu, którego masz prawo używać, odpowiedzi referencyjnych lub procedury oceny, kodu wnioskowania oraz środowiska zdolnego uruchomić wybrany model. Oddziel dane służące do dostrojenia konfiguracji od końcowego korpusu porównawczego. Jeśli dostroisz progi po zobaczeniu tego ostatniego, przygotuj nową niezależną ocenę, aby wesprzeć wniosek.

Nadaj każdemu wpisowi stabilny identyfikator. Zachowaj odcisk korpusu, kolejność przejścia, wersję modelu i tokenizera, wersje kodu i zależności. Manifest opisuje także użyte GPU, precyzję, kwantyzację, kompilację, backend uwagi, politykę paddingu i maksymalną długość. Inne obcięcie zmieniłoby pracę do porównania.

Zidentyfikuj sterownik i backend faktycznie obecne. W przypadku wariantu AMD sprawdź kombinację systemu, GPU, ROCm i frameworka w oficjalnej macierzy. Przeczytana dokumentacja lub nazwa karty nie dowodzi, że to środowisko jest zainstalowane. Jeśli stosy oprogramowania różnią się między dwoma próbami, wniosek będzie dotyczył pełnych przetestowanych konfiguracji.

Źródła techniczne: AMD — macierz zgodności ROCm

03 /

Przykład: klasyfikacja tych samych 1000 tekstów

Oto eksperyment do zbudowania na własnych danych, bez zakładanego wyniku wydajności. Chcesz sklasyfikować 1000 tekstów w kategorie swojego projektu. Zarezerwuj 600 krótkich pozycji, 300 średnich i 100 długich; zdefiniuj granice za pomocą wybranego tokenizera i zachowaj reprezentatywny rozkład klas. Ten podział jest przykładem protokołu, a nie dostarczonym korpusem ani uniwersalnym zaleceniem proporcji.

Porównaj partie o rozmiarze 1, 4 i 8 z tym samym modelem, tą samą precyzją, tą samą kolejnością i tą samą regułą paddingu. Jedyną zmienną w tej pierwszej serii jest rozmiar partii. Druga seria może zmienić precyzję lub sprzęt, zachowując pozostałe wybory wyraźnie ustalone. Grupowanie według długości to nowy wariant, który należy zadeklarować, ponieważ zmienia organizację pracy.

Dla każdego przebiegu wyeksportuj 1000 predykcji wraz z ich identyfikatorami. Kontrola musi odnaleźć dokładnie oczekiwane identyfikatory, bez duplikatów ani pominięć. Zachowaj błędne predykcje: służą one do obliczenia jakości. Usunięcie trudnych przykładów sztucznie poprawiłoby wynik i zmniejszyło faktycznie przetworzony korpus.

Umowa jakościowa do uzupełnienia przed pierwszym pomiarem
KontrolaReguła przykładuDecyzja do zapisania
PokrycieWszystkie 1000 oczekiwanych identyfikatorów pojawia się dokładnie razKażdy brak lub duplikat unieważnia korpus
FormatJedna dozwolona klasa na tekst; wartości liczbowe skończone, jeśli eksportowaneSchemat i dozwolone klasy
Jakość ogólnaJedna główna metryka, na przykład macro-F1Minimalny próg i tolerancja względem referencji
Ważne przypadkiWeryfikacja klas lub długości krytycznych dla projektuPodgrupy i kryteria ustalone z góry
TerminPredykcje ocenione i pliki pobrane przed terminemData, godzina i strefa czasowa zakończenia
04 /

Rozdzielenie uruchomienia, rozgrzewki i przebiegu mierzonego

Zapisz pobieranie, instalację, ładowanie i kompilację oddzielnie od ustabilizowanego przetwarzania. Mogą być wyłączone z pomiaru czasu przebiegu, mimo że zajmują część wynajmu. Ustal identyczną regułę rozgrzewki dla wszystkich wariantów: pokryte dane wejściowe, liczba przebiegów i obsługa rekompilacji. Nie zmieniaj tej reguły po zobaczeniu, który wariant na niej korzysta.

Zdefiniuj granice głównego czasu. W tym przykładzie offline zmierz odczyt korpusu, tokenizację, transfery, wnioskowanie i materializację predykcji na hoście. Następnie zmierz czas oceny i zapisu wyników oddzielnie, aby ustalić pełną kampanię. Czas ograniczony do obliczeń GPU nie jest bezpośrednio porównywalny z tym czasem przetwarzania.

Operacje CUDA są asynchroniczne: stoper hosta musi poczekać na zakończenie wcześniejszych operacji przed startem i na zakończenie mierzonej pracy przed zatrzymaniem. Zdarzenia CUDA nadają się do poprawnie zdefiniowanego zakresu GPU. Dla pojedynczej operacji torch.utils.benchmark.Timer obsługuje rozgrzewkę i synchronizację. Zachowaj te same granice pomiaru między wariantami.

Źródła techniczne: PyTorch 2.14 — asynchroniczne wykonanie CUDA · PyTorch — pomiar za pomocą torch.utils.benchmark

05 /

Powtarzanie i zachowywanie niepowodzeń

Zaplanuj pięć pełnych przebiegów na wariant w tym pierwszym porównaniu. Zmieniaj ich kolejność, na przykład 1–4–8, potem 4–8–1, potem 8–1–4, aby jeden wariant nie był zawsze pierwszy. Zachowaj politykę dotyczącą procesów, pamięci podręcznych i rozgrzewki. Te pięć przebiegów opisuje twoją małą serię; same nie dowodzą stabilności w długim okresie.

Jeden wiersz surowej tabeli reprezentuje jedną próbę przejścia, w tym zatrzymanie. Łączy wariant i korpus z parametrami, czasem trwania i werdyktem jakościowym. Pola expected_ids i observed_ids zapisują liczby wpisów; ids_match potwierdza równość zbiorów, sprawdzaną w osobno przechowywanych plikach predykcji. corpus_accepted zawiera werdykt przejścia. Błędy i ścieżkę wyników zapisz w notes. Jeśli brakuje pomiaru, pozostaw jego komórkę pustą i wskaż dlaczego. Brak GPU nie jest pomiarem zera sekund ani zera bajtów.

Jeśli batch 8 przekracza pamięć na długich wejściach, zachowaj wiersz niepowodzenia i liczbę ukończonych wpisów. Nie zastępuj po cichu tego przejścia mniejszym batchem. Ustawienie wznowienia staje się osobnym wariantem; jego czas i próby są częścią bilansu. Przerwanie lub błąd formatu nigdy nie jest sukcesem ekonomicznym dlatego, że było szybkie.

Przepustowość pełnego przejścia = liczba przetworzonych wpisów ÷ czas trwania zadeklarowanego zakresu. Werdykt jakościowy pozostaje osobną kontrolą.
06 /

Czytanie czasów trwania bez nadinterpretowania pięciu prób

Przedstaw pięć surowych czasów trwania, ich medianę, minimum i maksimum, wraz z liczbą sukcesów i niepowodzeń. Mediana opisuje środek tych obserwacji; nie usuwa incydentów. Jeśli przejście zostanie wykluczone z udokumentowanego powodu zewnętrznego, zachowaj jego ślad i zastosuj tę samą regułę wykluczenia do wszystkich wariantów.

Nie przedstawiaj p95 obliczonego z pięciu przejść jako solidnego oszacowania przypadków wolnych. Aby badać opóźnienie żądań, zbierz odpowiedni zbiór indywidualnych czasów wraz ze scenariuszem napływu i współbieżnością. Pięć czasów trwania korpusu i opóźnienia 1000 żądań to nie ta sama populacja.

Jeśli obserwowany rozrzut jest porównywalny z różnicą między medianami, seria wciąż nie rozstrzyga między opcjami. Dodaj powtórzenia w wspólnym protokole albo zbadaj konkretną przyczynę: ładowanie, kształty wejść, kompilację, działanie współbieżne. Unikaj zatrzymywania tylko najlepszego przejścia z każdej karty.

07 /

Sprawdzenie jakości po zmianie precyzji

Aby porównać FP32, BF16 lub kwantyzację, wyjdź od tych samych wejść i tej samej referencji. Oceń format, główną metrykę i zaplanowane podgrupy. Wariant, który przekracza twoją tolerancję, może być interesujący dla innego celu; nie dołącza do porównania przy równoważnej jakości przez obniżenie progu po fakcie.

Zapisz użyte ziarna i opcje deterministyczne. PyTorch nie gwarantuje pełnej odtwarzalności między wersjami, platformami ani uruchomieniami CPU i GPU, nawet przy tym samym ziarnie. Określ więc, co próbujesz odtworzyć: identyczne wyniki, ograniczoną różnicę numeryczną czy akceptowalną jakość biznesową. Dla protokołu stochastycznego przewidź kilka wspólnych ziaren i zachowaj ich wyniki osobno.

Źródła techniczne: PyTorch 2.14 — zakres i granice odtwarzalności

08 /

Wykorzystanie pamięci jako kryterium wykonalności

Opcja musi ukończyć korpus z jego długimi wejściami, zanim porówna się jej koszt. Zanotuj szczyt pamięci na urządzenie i zakres licznika. W PyTorch memory_allocated śledzi tensory, a memory_reserved pamięć zarządzaną przez alokator: tych wartości się nie sumuje. Odpowiednie szczyty mogą wystąpić w różnych momentach.

Notebook z folderu pamięci pomaga odróżnić szacowanie od obserwacji. Jego ćwiczenie nie zastępuje pomiaru twojego modelu: wczytaj swoje środowisko, zachowaj parametry i ponownie uruchom swoje obciążenie. Deklarowana pojemność karty i cena partii nie pozwalają wywnioskować przepustowości, połączenia między kartami ani automatycznego rozmieszczenia modelu na wielu GPU.

Źródła techniczne: PyTorch 2.14 — liczniki i alokator pamięci

09 /

Wybór czasu trwania z pełnym harmonogramem

Potrzebny czas trwania to nie tylko suma kerneli GPU. Zbuduj okno dostępu od przygotowania na wynajmie po odbiór wyników: instalacja, kontrole, rozgrzewka, porównania, zaplanowane wznowienia, ocena i eksport. Dodaj okresy oczekiwania, podczas których wciąż musisz zachować wynajem. Gdy zadania się nakładają, rozumuj na podstawie rzeczywistego harmonogramu, a nie sumując ich czasy dwa razy.

Przykładowy harmonogram, bez założeń dotyczących szybkości: chcesz zachować dostęp od poniedziałku 9:00 do piątku 9:00, w tej samej strefie czasowej i bez zmiany czasu. To okno obejmuje 96 godzin. Przekracza 72 godziny pakietu 3-dniowego i mieści się w 168 godzinach pakietu 7-dniowego. Nie dowodzi to, że Twoje obliczenia zakończą się na czas: ich czasy trwania wciąż trzeba zmierzyć.

Kalkulator pozwala wprowadzić Twoje całkowite okno i wyświetla pakiety 3-, 7- i 30-dniowe. Pakiet, który obejmuje kalendarz, staje się kandydatem. Jeśli kampania przekracza przyjęty okres, zmień program lub wyraźnie wyceń dodatkowe potrzebne okresy; nie zakładaj automatycznego przedłużenia.

Kamienie milowe do wpisania w Twój plan
EtapObserwowalny koniecCzas trwania
PrzygotowanieŚrodowisko załadowane i minimalny test zaliczonyDo zmierzenia lub zaplanowania
PorównanieWszystkie przewidziane przebiegi mają odnotowany statusDo zmierzenia
Ocena i poprawkiKażde wyjście ma werdykt, każda porażka decyzjęDo zmierzenia lub zaplanowania
EksportPliki pobrane, otwarte i sprawdzone u odbiorcyDo zmierzenia
OczekiwaniaPrzegląd i dostępność zespołu uwzględnione w harmonogramieDo zaplanowania
10 /

Oblicz koszt zaangażowany z naszymi pakietami

Budżet wynajmu to cena pakietu za jedną partię pomnożona przez liczbę partii. Koszt na zatwierdzony korpus dzieli następnie całą tę kwotę przez użyteczne korpusy faktycznie zaakceptowane w zadeklarowanym zakresie. Jeśli żaden korpus nie zostanie zaakceptowany, wskaźnik jest nieokreślony. Zaangażowany wydatek pozostaje natomiast w bilansie.

Ceny poniżej pochodzą z naszego katalogu, w wersji z 24 września 2026. Ilustrują regułę obliczeń, nie ustalając, który GPU najszybciej ukończy Twoje zadanie. Partia B200 zawiera już dwie karty: pomnożenie jej ceny po raz drugi przez dwa liczyłoby te karty dwukrotnie. Dwie partie RTX 4090 na 7 dni kosztują zatem 220 USD; partia dwóch B200 na 7 dni kosztuje 2071 USD.

Krótki przebieg nie zamienia pakietu w rozliczenie godzinowe. Kalkulator używa całkowitej kwoty pakietu, nawet jeśli część okresu pozostaje niewykorzystana. W przypadku szerszego budżetu projektu odnotuj osobno pozostałe faktycznie mające zastosowanie wydatki i ich uzasadnienie. Nie mieszaj kosztów zmierzonych u jednego z wariantów z pozycjami pominiętymi u drugiego.

Koszt zaangażowany = cena pakietu za partię × liczba partii. Koszt na użyteczny zatwierdzony korpus = koszt zaangażowany ÷ liczba użytecznych zatwierdzonych korpusów, ściśle dodatnia.
Przykłady cen IteraGPU za partię, w USD — katalog z 24 września 2026
Konfiguracja partii3 dni7 dni30 dni
1 × NVIDIA GeForce RTX 4090 24 GB47,14110,00390,00
2 × NVIDIA B200 SXM, 180 GB na kartę887,572 071,007 391,00

Źródła techniczne: IteraGPU — pakiety z katalogu

11 /

Licz użyteczne produkty końcowe, a nie powtórzenia pomiaru

Pięć powtórzeń tego samego benchmarku służy do obserwacji rozrzutu. Nie stają się pięcioma użytecznymi korpusami produkcyjnymi tylko dlatego, że zapisano pięć plików. Zdefiniuj oczekiwane produkty końcowe przed kampanią i licz każdy zaakceptowany produkt końcowy tylko raz. Jeśli rzeczywista praca dotyczy kilku korpusów, każda konfiguracja musi przetwarzać te same korpusy i stosować tę samą regułę jakości.

W kalkulatorze pozostaw liczbę korpusów pustą, dopóki użyteczne produkty końcowe nie zostaną faktycznie ukończone i zatwierdzone. Pole jakości potwierdza Twoją własną kontrolę; narzędzie nie odczytuje ani Twoich predykcji, ani metryk. Podaj wyłącznie stwierdzoną ilość. Okno kampanii może być założeniem planistycznym, ale prognoza wydajności nie zastąpi zaakceptowanych wyników.

Bilans końcowy zbiera dla każdej dopuszczalnej konfiguracji werdykty jakości, czasy surowe, okno kampanii, zaangażowany pakiet i liczbę zaakceptowanych produktów końcowych. Szybka opcja może być przydatna przy napiętym terminie, nie będąc najtańszą. Dwie opcje mieszczące się w tym samym kalendarzu można rozstrzygnąć na podstawie ich kosztu zaangażowanego, ich porażek lub utrzymującej się niepewności.

12 /

Pobierz protokół i zachowaj dowód do ponownego wykorzystania

Dossier IteraGPU Lab v1 gromadzi materiały tego porównania i pomiaru pamięci. Zacznij od README i protokołu jakości, a następnie uzupełnij surową tabelę swoimi przebiegami. Komórki wydajności pozostają puste przed wykonaniem; cenniki są danymi katalogowymi, oddzielonymi od pomiarów.

Aby wycenić dwa pakiety RTX 4090 na 7 dni, umieść pliki calcul_forfaits.py i tarifs-forfaits.csv w tym samym folderze, otwórz terminal w tym folderze i uruchom poniższą komendę w Pythonie 3.10 lub nowszym. Wyświetla ona ryczałt 220,00 USD za dwa GPU. Opcjonalna flaga --accepted-results przyjmuje twoją całkowitą liczbę odrębnych użytecznych korpusów faktycznie ukończonych i zatwierdzonych. Pomiń ją, dopóki takie ustalenie nie istnieje: skrypt oblicza wtedy tylko ryczałt, bez wymyślania kosztu na wynik.

Przechowuj razem manifest, sumy kontrolne wejść, predykcje, werdykty i tabelę prób. Notatka decyzyjna wskazuje wybrane ustawienie, pokryte obciążenie i powód wyboru. Będziesz mógł ją zestawić z własnym wynajmem w carnet IteraGPU i dokładnie powtórzyć pytanie eksperymentalne przy zmianie modelu lub wersji.

Ten protokół offline sam w sobie nie kwalifikuje usługi interaktywnej, treningu aż do zbieżności ani innego zbioru danych. Dla takich zastosowań zdefiniuj ponownie jednostkę użyteczną i kontrole przed porównywaniem. Dostarczone pliki służą do przygotowania i dokumentowania twoich prób; ten folder nie przedstawia żadnego zmierzonego porównania między konfiguracjami z katalogu ani zaobserwowanych oszczędności.

shell
python calcul_forfaits.py --gpu rtx-4090 --days 7 --lots 2
NARZĘDZIE / PAKIETY

Oblicz budżet swojej kampanii

Wybierz konfigurację i liczbę partii. Tabela korzysta z cen z naszego katalogu. Następnie wprowadź własne założenia harmonogramu; czas obliczeń nie jest przewidywany.

1 GPU łącznie · 24 GB na GPU · 1 GPU w cenie każdej partii.

Uwzględnij przygotowanie wynajmu, obliczenia, ocenę, planowane przerwy i eksport. Okno mieszczące się w pakiecie nie gwarantuje powodzenia przetwarzania.

Korpus to pełny zestaw roboczy zdefiniowany przez Twój protokół. Licz tylko ukończone i zwalidowane użyteczne korpusy; powtórzenia benchmarku nie stanowią nowych użytecznych korpusów. Kalkulator nie mierzy jakości.

Pakiety NVIDIA GeForce RTX 4090 24GB · 1 partia · USD
Czas trwaniaSuma pakietuWprowadzone oknoUSD / zwalidowany korpus
3 dni · 72 h47,14 USDDo uzupełnieniaWymagana jakość i ilość
7 dni · 168 h110,00 USDDo uzupełnieniaWymagana jakość i ilość
30 dni · 720 h390,00 USDDo uzupełnieniaWymagana jakość i ilość

Koszt na korpus = suma pakietu ÷ liczba zwalidowanych kompletnych korpusów. Pakiet jest należny w całości; ten wskaźnik nie stanowi stawki godzinowej ani opłaty za użycie.

Jeśli okno przekracza 30 dni, ustaw nowy harmonogram lub kilka okresów wynajmu i sprawdź ich dostępność. Kalkulator nie zakłada automatycznego przedłużenia ani ciągłości dostępności.