GPU do badań ML · Płatność crypto bez KYC
IteraGPU
Metoda / Precyzja i kompromisy

Wybierz kwantyzację na podstawie wyników, nie bitów.

Kwantyzacja jest przydatna, jeśli zachowuje Twoją jakość, a jednocześnie poprawia realne ograniczenie: pamięć, opóźnienie lub zaangażowany budżet. Porównaj ją z punktem odniesienia przy tych samych danych wejściowych, a następnie osobno odnotuj format wag, precyzję obliczeń i pamięć podręczną. Plik reklamowany jako czterobitowy nie oznacza, że całe wykonanie używa czterech bitów ani że będzie szybsze. Decyzja musi pozostać powiązana z zmierzonym obciążeniem.

01 /

Opisać wariant poza samą liczbą bitów

Nazwij metodę, jej implementację, wersję i dokładną rewizję artefaktu. Dwa czterobitowe warianty mogą używać różnych reprezentacji, grup, metadanych i kernelów. Oddziel format przechowywania wag od formatu operacji obliczeniowych. Zapisz także moduły zachowane w innej precyzji oraz wszelkie przeniesienie na CPU.

W bitsandbytes skwantyzowane warstwy liniowe zastępują niektóre zwykłe warstwy; pozostałe moduły podążają za skonfigurowanym dtype. To zachowanie samo w sobie nie opisuje więc szczytu procesu. Odczytaj efektywną konfigurację po załadowaniu, a następnie sprawdź, czy wariant rzeczywiście wykonuje oczekiwane przetwarzanie, a nie inne obejście programowe.

Minimalny manifest do porównania dwóch skwantyzowanych artefaktów
PoleCo należy zachowaćUniknięte pomieszanie
PochodzenieModel, rewizja, tokenizer, metoda i wersjePorównywanie dwóch różnych modeli pod tą samą nazwą
WagiFormat, bity, grupy i wykluczone modułyUtоżsamianie czterech bitów z jednym przepisem
ObliczeniaDtype, kernele i faktycznie używane urządzeniaMylenie przechowywania z wykonaniem
GenerowaniePamięć podręczna, kontekst, limity wyjścia i współbieżnośćPrzypisywanie wagom efektu pochodzącego z pamięci podręcznej
WytwarzanieEwentualna kalibracja i rewizja danychZapominanie, jak artefakt został wytworzony

Źródła techniczne: Hugging Face Transformers 5.17 — skwantyzowane warstwy i inne dtype

02 /

Oddzielić kalibrację od ewaluacji

Niektóre metody używają przykładów do przygotowania kwantyzacji. Udokumentowana w Transformers procedura GPTQ wymaga między innymi zbioru kalibracyjnego i tokenizera. Ten zbiór uczestniczy w wytwarzaniu artefaktu: nie stanowi niezależnego dowodu jakości. Inne metody podążają inną drogą; nie zakładaj, że ten sam protokół kalibracji stosuje się do wszystkich formatów.

Zarezerwuj przykłady kalibracyjne w dozwolonych danych do przygotowania modelu, a następnie zapisz identyfikatory, pochodzenie, długości i zastosowaną transformację. Zachowaj walidację do wyboru ustawień, a test końcowy do potwierdzenia. Jeśli wybierzesz kilka zbiorów kalibracyjnych po porównaniu ich wyników, to poszukiwanie jest częścią rozwoju i musi zostać wpisane do bilansu.

Źródła techniczne: Hugging Face Transformers 5.17 — kalibracja kwantyzacji GPTQ · Budować partycje według ich roli

03 /

Obliczyć ograniczenie wag, nie sprzedając go jako szczytu

Weźmy fikcyjny model o trzech miliardach parametrów, wszystkie przechowywane przy tej samej liczbie bitów. Objętość brutto oblicza się jako parametry × bity / 8. Przy 16 bitach otrzymujemy 6 miliardów bajtów; przy 8 bitach 3 miliardy; przy 4 bitach 1,5 miliarda. Te liczby to ilustracyjna arytmetyka, a nie obserwowane rozmiary artefaktu ani potrzeby uruchomionego modelu.

Różnica brutto między 16 a 4 bitami wynosi 4,5 GB, czyli około 4,191 GiB. Nie obejmuje skal, metadanych, niekwantyzowanych modułów, pamięci podręcznej ani plików tymczasowych. Pozwala sformułować hipotezę pamięciową do weryfikacji, bez przewidywania podziału szczytu przez cztery. Dossier pamięci wyjaśnia, jak oddzielić fazy i interpretować liczniki.

Objętość brutto w bajtach = parametry × bity / 8. Objętość w GiB = bajty / 2³⁰.
Obliczenie ilustracyjne dla 3 miliardów parametrów przechowywanych jednolicie — bez narzutów
Zakładany formatBajty bruttoGB dziesiętnePrzybliżone GiB
16 bitów6 000 000 00065,588
8 bitów3 000 000 00032,794
4 bity1 500 000 0001,51,397

Źródła techniczne: NIST — przedrostki binarne i dziesiętne · IteraGPU — szacunki i szczyty pamięci

04 /

Zmienić wagi, zanim zmienisz pamięć podręczną

Zacznij od punktu odniesienia, którego zachowanie znasz. Następnie porównaj warianty wag przy tej samej pamięci podręcznej, tych samych długościach, tym samym batchu lub tej samej współbieżności. Jeśli zmienisz także te parametry, porównujesz pełne konfiguracje: ogłoś to i nie przypisuj całej różnicy kwantyzacji wag.

Sam cache KV może być poddany kwantyzacji, gdy pozwalają na to model i silnik. To odrębna decyzja. Dokumentacja Transformers wskazuje między innymi, że skwantyzowany cache może pogorszyć opóźnienie przy krótkich kontekstach, gdy pozostaje wystarczająco dużo pamięci. Przetestuj tę drugą zmianę w osobnym cyklu; więcej zaoszczędzonej pamięci nie gwarantuje lepszego opóźnienia.

Źródła techniczne: Hugging Face Transformers 5.17 — skwantyzowany cache KV i kompromis opóźnienia

05 /

Przykład reguły jakości: niewielki spadek może pozostać nie do przyjęcia

Oto ilustracja decyzji, bez uruchamiania modelu. Projekt ocenia 200 dokumentów i jeszcze przed próbami ustala maksymalny spadek o jeden punkt procentowy względem punktu odniesienia. Wymaga także co najmniej 90% powodzenia na 20 dokumentach krytycznych spośród tych 200. Dokument zostaje zaakceptowany tylko wtedy, gdy wszystkie jego wymagane pola są poprawne.

Poniższe fikcyjne wartości czynią A dopuszczalną według obu tych reguł: 94% zamiast 95%, oraz 18/20 w grupie krytycznej. B zawodzi w obu przypadkach. Nie można jeszcze ogłosić A zwycięzcą: nie podano ani szczytowego zużycia pamięci, ani czasu trwania. Co więcej, sumy nie pokazują, które dokumenty się zmieniły; przeanalizuj sparowane błędy, aby wykryć nowe istotne regresje.

Spadek A = 95 − 94 = 1 punkt; spadek B = 95 − 92 = 3 punkty. Jeden punkt procentowy to nie względny spadek o 1%.
Fikcyjne wartości jakości wyjaśniające progi; nie zmierzono żadnej wydajności GPU
WariantZaakceptowane dokumentyWskaźnik ogólnyZaakceptowane przypadki krytyczneWerdykt według tych reguł
Odniesienie190 / 20095 %19 / 20 = 95 %Punkt odniesienia
A188 / 20094 %18 / 20 = 90 %Dopuszczalna pod względem jakości
B184 / 20092 %16 / 20 = 80 %Odrzucona

Źródła techniczne: Analizuj błędy, a nie tylko samą sumę

06 /

Przeprowadź porównanie, którego różnice da się wyjaśnić

Najpierw przygotuj kontrakt porównania, potem pliki wyników. Poniższy protokół należy zrealizować na własnym obciążeniu; poprzednie liczby go nie zastępują. Jeśli wariant się nie ładuje lub nie posiada wymaganych operatorów, zachowaj tę porażkę jako informację o kompatybilności.

  • Zamroź korpus, punkty odniesienia, model, tokenizer, prompt i reguły wyjścia; utrzymuj długie i trudne przypadki w formie możliwej do zidentyfikowania.
  • Zapisz kalibrację, wyeksportowany artefakt i rzeczywistą konfigurację. Sprawdź użyte urządzenia oraz ewentualne transfery CPU/GPU.
  • Rozdziel budowę, ładowanie, rozgrzewkę i ustabilizowane przetwarzanie. Stosuj te same granice pomiaru i zachowuj surowe powtórzenia.
  • Zarejestruj szczytowe zużycie na urządzenie i na fazę; trzymaj allocated i reserved osobno. Nie sumuj tych liczników i nie odejmuj ich niezależnych maksimów.
  • Oceń uzgodniony format, treść i podgrupy, a następnie zestaw błędy po identyfikatorze.
  • Załaduj ponownie wybrany artefakt w nowym procesie i powtórz zdefiniowaną kontrolę. Wynik uzyskany przed eksportem nie potwierdza automatycznie ponownego załadowania.

Źródła techniczne: Prawidłowy pomiar pamięci · Zdefiniuj powtórzenia i pomiar czasu

07 /

Powiąż kompromis z poniesionym kosztem

Oszczędność pamięci może poszerzyć możliwe konfiguracje, pozwolić na większą współbieżność lub po prostu pozostawić zapas. Nie zmniejsza automatycznie wydatku. Jeśli okres, zarezerwowane partie i zaakceptowane rezultaty pozostają takie same, koszt forfaitu pozostaje taki sam, nawet jeśli jedno przejście jest szybsze.

Uwzględnij w harmonogramie ewentualną kalibrację, kwantyzację, ocenę, odrzucone próby i ponowne załadowanie. Następnie porównaj pełne forfaity 3-, 7- lub 30-dniowe między opcjami, które spełniają twoje kryteria. Wskaźnik na użyteczny korpus oblicza się tylko na korpusach faktycznie ukończonych i zaakceptowanych; powtórzenia pomiaru czasu nie tworzą nowych rezultatów.

Jeśli jeden wynajem służy do porównania kilku wariantów, jego kwota jest wspólnym wydatkiem kampanii. Nie przypisuj w myślach całego forfaitu każdemu wariantowi, a następnie nie sumuj tych kwot jako odrębnych rzeczywistych wydatków. Aby przypisać część analityczną, ogłoś konwencję; nie zmienia ona łącznej poniesionej kwoty.

Źródła techniczne: IteraGPU — cały forfait i koszt eksperymentu

08 /

Podsumuj wybraną konfigurację i jej ograniczenia

Ostateczna decyzja wskazuje artefakt, środowisko, objęte obciążenie, spełnione kryterium jakości i poprawione ograniczenie. Jeśli warianty są zbliżone, zachowaj tę niepewność i wybierz opcję, którą potrafisz ponownie załadować i wyjaśnić. Liczba bitów sama w sobie nie jest porządkiem preferencji.

Wniosek oparty na krótkim korpusie nie rozciąga się automatycznie na długie konteksty, inny język czy większą liczbę jednoczesnych zapytań. Kwantyzacja przyjęta na potrzeby wnioskowania nie określa również parametrów trenowanych podczas fine-tuningu. Trzymaj te kwestie osobno i potwierdź wybrany wariant na zbiorze testowym odłożonym na bok.

Praktyczne pytania

Czy cztery bity zawsze zużywają czterokrotnie mniej pamięci niż szesnaście bitów?

Surowy rozmiar wag przechowywanych w jednolitym formacie podlega temu stosunkowi. Szczyt całkowitego zużycia obejmuje także metadane, moduły w innych formatach, pamięć podręczną i bufory tymczasowe. Zmierz rzeczywiste wykonanie, zanim ogłosisz ogólny zysk.

Czy mogę kalibrować kwantyzację za pomocą mojego finalnego testu?

Ten test stałby się wówczas częścią powstawania artefaktu i nie byłby już niezależną oceną. Przygotuj kalibrację przy użyciu zbioru dopuszczonego do prac rozwojowych, a następnie zachowaj potwierdzenie odłożone na bok.

Czy mniejszy wariant jest z konieczności tańszy w eksploatacji?

Nie. Budżet zależy od okresu i zaangażowanych partii, przygotowania oraz akceptowanych użytecznych wyników. Zmniejszenie zużycia pamięci bez zmiany tych elementów może poprawić marżę, nie obniżając kwoty najmu.