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.
Syntalith
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:
| Format | Rozmiar wag | Co to oznacza dla karty 24 GB |
|---|---|---|
| UD-Q4_K_M | 16,5 GB | praktyczny zapas na pamięć kontekstu |
| UD-Q5_K_M | 19,8 GB | mniej miejsca przy długim kontekście |
| UD-Q6_K | 22,0 GB | niewiele miejsca na pamięć i bufory |
| Q8_0 | 29,0 GB | nie mieści się w całości |
| BF16 | 54,7 GB | potrzebna 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
| Konfiguracja | Wagi / pamięć kontekstu | Kontekst | Szczyt VRAM | Pozostała pamięć | Mierzone obciążenie |
|---|---|---|---|---|---|
llama.cpp 60k | Q5_K_M / Q8 | 65 536 | 22 287 MiB | 2289 MiB | odtworzenie faktów z wejścia 50 059 tokenów |
llama.cpp 120k | Q4_K_M / Q8 | 131 072 | 22 649 MiB | 1927 MiB | odtworzenie faktów z wejścia 115 074 tokenów |
llama.cpp 250k | Q4_K_M / Q4 | 250 000 | 23 623 MiB | 953 MiB | odtworzenie faktów z wejścia 230 085 tokenów |
| zmodyfikowany vLLM 150k | W4A16 / FP8 | 150 000 | 22 539 MiB | 2037 MiB | zadanie 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:
- identycznych poleceń i silnika;
- kilku formatów wag przy zgodnych ustawieniach;
- powtórzeń z niezmiennymi ustawieniami losowania;
- zestawu zadań reprezentującego konkretny proces;
- 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
- Zacznij od najwyższej precyzji, która mieści typowy kontekst.
- Uruchom zestaw akceptacyjny i zachowaj odpowiedzi.
- Tam, gdzie się da, zmieniaj osobno precyzję wag i pamięci kontekstu.
- Porównaj jakość, czas, VRAM i koszt poprawek.
- Ustal wymagany zapas VRAM i odrzuć konfiguracje, które regularnie go naruszają.
- 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
Terminy zobaczysz w swojej strefie czasowej.
Wolisz napisać? Opisz proces