Przejdź do treści
Wróć do bloga
qwen3.8Artykuł

Kwantyzacja Qwen3.8-27B: Q4, Q5 czy W4A16?

Q4 zostawia więcej miejsca na kontekst, Q5 zużywa więcej VRAM, a W4A16 wymaga innego stosu. Pokazujemy konfiguracje, które mieszczą się na karcie, i granice testu.

Autor

Syntalith

Opublikowano Zaktualizowano 4 min czytania

Kwantyzacja zapisuje wagi modelu z mniejszą liczbą bitów. Model zajmuje wtedy mniej pamięci i może zostawić więcej miejsca na kontekst, lecz przybliżenie wartości może zmienić jakość odpowiedzi. Q4 używa mniej bitów niż Q5. W4A16 oznacza w przybliżeniu 4-bitowe wagi i 16-bitowe aktywacje, a w naszym teście wymagało osobnego silnika wykonawczego. VRAM to pamięć karty graficznej, współdzielona przez wagi, pamięć kontekstu i bufory.

Na domowej RTX 3090 Q5 zajmowało więcej miejsca i ograniczało długi kontekst. Q4 zwalniało miejsce na pamięć KV, która przechowuje kontekst. W jednym zadaniu najwyższy wynik uzyskała konfiguracja W4A16 AutoRound, lecz przebieg obejmował również serwer, pamięć i sposób generowania. Nie pozwala ocenić samych wag.

Jeśli dostawca obiecuje „prawie brak straty”, poproś o wynik na własnych zadaniach oraz dokładny skrót pliku wag.

Różnicę można rzetelnie ocenić dopiero na tym samym zestawie dokumentów i zadań. Warto mierzyć jakość odpowiedzi, pamięć, czas zakończenia i koszt poprawek człowieka w docelowym procesie.

Co właściwie jest kompresowane

Model 27B w formacie BF16 potrzebuje około 55 GB na same wagi. Kwantyzacja zapisuje część wartości z mniejszą liczbą bitów. Zmniejsza zużycie pamięci i ruch danych, a wprowadza przy tym przybliżenie.

Konfiguracja może osobno określać:

  • precyzję wag modelu;
  • precyzję pamięci KV dla wcześniejszego kontekstu;
  • precyzję dodatkowego modułu MTP używanego do przewidywania kolejnych tokenów;
  • format oraz kernele obsługiwane przez serwer.

Określenie „4-bit” obejmuje więc różne technologie. GGUF Q4_K_M, AutoRound W4A16 i NVFP4 mają inne procedury, rozkład precyzji i środowiska wykonawcze.

Oficjalne rozmiary plików Unsloth

Repozytorium GGUF Qwen3.8-27B podaje:

FormatRozmiar wagCo to oznacza dla karty 24 GB
UD-Q4_K_M16,5 GBpraktyczny zapas na pamięć kontekstu
UD-Q5_K_M19,8 GBmniej miejsca przy długim kontekście
UD-Q6_K22,0 GBniewiele miejsca na pamięć i bufory
Q8_029,0 GBnie mieści się w całości
BF1654,7 GBpotrzebna większa karta lub kilka GPU

Konfiguracja llama.cpp 60k używała Q5_K_M i pamięci Q8. Konfiguracje 120k i 250k korzystały z Q4_K_M. W wariancie 250k pamięć kontekstu ustawiliśmy na Q4, a rozmiar przetwarzanej paczki był znacznie mniejszy. Dłuższe okno wymagało więc kilku ustępstw jednocześnie.

Cztery konfiguracje, które rzeczywiście mieściły się w 24 GB

KonfiguracjaWagi / pamięć kontekstuKontekstSzczyt VRAMPozostała pamięćMierzone obciążenie
llama.cpp 60kQ5_K_M / Q865 53622 287 MiB2289 MiBodtworzenie faktów z wejścia 50 059 tokenów
llama.cpp 120kQ4_K_M / Q8131 07222 649 MiB1927 MiBodtworzenie faktów z wejścia 115 074 tokenów
llama.cpp 250kQ4_K_M / Q4250 00023 623 MiB953 MiBodtworzenie faktów z wejścia 230 085 tokenów
zmodyfikowany vLLM 150kW4A16 / FP8150 00022 539 MiB2037 MiBzadanie Go w Qwen Code

Pierwsze trzy wiersze pochodzą z tego samego rodzaju testu odtwarzania faktów z długiego wejścia, a każdą długość uruchomiliśmy raz. Ostatni pochodzi z innego zadania programistycznego, dlatego nie jest bezpośrednim porównaniem pamięci z wariantami GGUF. Pokazuje szczytowe zużycie zaobserwowane dla konfiguracji wybranej do dalszej pracy.

Konfiguracja 250k zmieściła się z zapasem mniejszym niż 1 GiB. Wymagała mniejszej paczki i pamięci Q4, więc taki margines nie daje wygodnego zapasu dla wielu sesji. Serwer nadal obsługiwał tylko jedną sesję.

Czym różni się W4A16

W4A16 oznacza w przybliżeniu 4-bitowe wagi i 16-bitowe aktywacje. Nasz plik wag AutoRound był uruchamiany w zamrożonym, zewnętrznie zmodyfikowanym obrazie vLLM, z pamięcią KV FP8 i dodatkowymi zmianami dla RTX 3090. Nie jest plikiem GGUF, który można po prostu podmienić w llama.cpp.

W tym samym zadaniu naprawy kodu Codex ocenił konfigurację W4A16/vLLM na 100/100 według kryteriów Syntalith po 502,14 s, a konfigurację Dynamic V3 Q4_K_M/llama.cpp na 98/100 po 1468,76 s. Kryteria obejmują poprawność (40 pkt), testy regresji (20), zgodność (15), zakres zmian (10), weryfikację (10) i dokumentację (5). Różniły się także serwer, pamięć kontekstu, ścieżka spekulacyjna i limit długości. Wynik wskazuje konfigurację wartą dalszych testów. Nie rozstrzyga, czy sam format W4A16 daje dokładniejsze odpowiedzi.

Jak czytać deklaracje producenta

Unsloth opisuje Dynamic V3 jako zapewniające około 10% wyższą dokładność przy tym samym rozmiarze. To deklaracja producenta kwantyzacji oparta na jego metodzie oceny. W naszym eksperymencie nie zaobserwowaliśmy 10-procentowego wzrostu jakości agenta.

Mocniejsze twierdzenie wymagałoby:

  1. identycznych poleceń i silnika;
  2. kilku formatów wag przy zgodnych ustawieniach;
  3. powtórzeń z niezmiennymi ustawieniami losowania;
  4. zestawu zadań reprezentującego konkretny proces;
  5. niezależnej oceny odpowiedzi.

Do wyboru konfiguracji na dalszy etap wystarczył węższy wniosek. W tym pojedynczym zadaniu Codex przyznał obu konfiguracjom wysokie wyniki według tej samej skali, a różnica czasu całego zadania była duża. Te oceny opisują jeden przebieg, więc nie dowodzą powtarzalności.

Pamięć kontekstu zużywa odzyskane miejsce

Długi kontekst przechowuje klucze i wartości dla wcześniejszych tokenów. Przy jednym użytkowniku może zająć kilka gigabajtów, a przy wielu sekwencjach rośnie wraz z ich liczbą. Plik wag o rozmiarze 16,5 GB nie oznacza zatem, że na karcie 24 GB zostaje 7,5 GB czystego budżetu.

Zmniejszenie precyzji pamięci kontekstu z Q8 do Q4 zwiększa pojemność, lecz może zmienić jakość odwołań do długiego materiału. Sprawdź to faktami umieszczonymi w różnych miejscach oraz zadaniem wymagającym połączenia informacji. Samo uruchomienie serwera nie pokazuje tej właściwości.

Procedura wyboru

  1. Zacznij od najwyższej precyzji, która mieści typowy kontekst.
  2. Uruchom zestaw akceptacyjny i zachowaj odpowiedzi.
  3. Tam, gdzie się da, zmieniaj osobno precyzję wag i pamięci kontekstu.
  4. Porównaj jakość, czas, VRAM i koszt poprawek.
  5. Ustal wymagany zapas VRAM i odrzuć konfiguracje, które regularnie go naruszają.
  6. Zapisz kryptograficzny skrót wybranego pliku wag i wyników testu.

W aplikacji dokumentowej różnica może pojawić się w liczbach i cytatach. W agencie kodowym może dotyczyć zakresu zmian, kontraktów i poprawności użycia narzędzi. Perplexity, czyli miara jakości przewidywania kolejnych tokenów przez model, opisuje zachowanie językowe. Do oceny obu rodzajów pracy potrzebne są testy procesu.

Syntalith wykonuje takie porównanie w Audycie procesu AI od 4990 zł netto albo jako część aplikacji AI. Otrzymujesz wybrany wariant, odrzucone alternatywy, dane z pomiaru i bramkę aktualizacji. Umów bezpłatny skan, jeśli nie wiadomo jeszcze, czy proces potrzebuje modelu 27B.

Bezpłatny skan procesów

Zacznij od bezpłatnego skanu procesów.

  • 30 minut z inżynierem, który może prowadzić Twoje wdrożenie.
  • Przegląd procesów, które kosztują Cię najwięcej czasu i pieniędzy.
  • Pisemne podsumowanie: co zautomatyzować, w jakiej kolejności, z widełkami kosztów.

W 30 minut wybieramy proces do oceny, a w ciągu 2 dni roboczych dostajesz rekomendację, także gdy lepsza będzie prostsza droga.

0 zł

30 minut · pisemne podsumowanie w 2 dni robocze