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.
| Pole | Co należy zachować | Uniknięte pomieszanie |
|---|---|---|
| Pochodzenie | Model, rewizja, tokenizer, metoda i wersje | Porównywanie dwóch różnych modeli pod tą samą nazwą |
| Wagi | Format, bity, grupy i wykluczone moduły | Utоżsamianie czterech bitów z jednym przepisem |
| Obliczenia | Dtype, kernele i faktycznie używane urządzenia | Mylenie przechowywania z wykonaniem |
| Generowanie | Pamięć podręczna, kontekst, limity wyjścia i współbieżność | Przypisywanie wagom efektu pochodzącego z pamięci podręcznej |
| Wytwarzanie | Ewentualna kalibracja i rewizja danych | Zapominanie, jak artefakt został wytworzony |
Źródła techniczne: Hugging Face Transformers 5.17 — skwantyzowane warstwy i inne dtype
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
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.
| Zakładany format | Bajty brutto | GB dziesiętne | Przybliżone GiB |
|---|---|---|---|
| 16 bitów | 6 000 000 000 | 6 | 5,588 |
| 8 bitów | 3 000 000 000 | 3 | 2,794 |
| 4 bity | 1 500 000 000 | 1,5 | 1,397 |
Źródła techniczne: NIST — przedrostki binarne i dziesiętne · IteraGPU — szacunki i szczyty pamięci
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
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.
| Wariant | Zaakceptowane dokumenty | Wskaźnik ogólny | Zaakceptowane przypadki krytyczne | Werdykt według tych reguł |
|---|---|---|---|---|
| Odniesienie | 190 / 200 | 95 % | 19 / 20 = 95 % | Punkt odniesienia |
| A | 188 / 200 | 94 % | 18 / 20 = 90 % | Dopuszczalna pod względem jakości |
| B | 184 / 200 | 92 % | 16 / 20 = 80 % | Odrzucona |
Źródła techniczne: Analizuj błędy, a nie tylko samą sumę
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
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
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.