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
Na karcie z 24 GB VRAM wagi modelu konkurują o pamięć z kontekstem i buforami serwera. Kwantyzacja zmniejsza rozmiar wag przez zapisanie ich z mniejszą liczbą bitów. Dzięki temu większy model może zmieścić się na posiadanym sprzęcie, choć dokładność odpowiedzi trzeba sprawdzić ponownie.
W naszym eksperymencie z Qwen3.8-27B na RTX 3090 Q5 zostawiało mniej miejsca na długą rozmowę niż Q4. Najwyższą ocenę w jednym zadaniu uzyskał profil W4A16 AutoRound, czyli w przybliżeniu 4-bitowe wagi i 16-bitowe aktywacje. Działał jednak na innym serwerze, z inną pamięcią KV i sposobem generowania. Te wyniki porównują całe konfiguracje.
Przy wyborze pliku wag liczą się odpowiedzi na Twoje pytania, długość wejść i zapas pamięci. Poniżej pokazujemy, jak sprawdzić te trzy rzeczy.
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 dobiera model i kwantyzację do Twojego sprzętu. Porównamy warianty na rzeczywistych zadaniach i przekażemy wyniki, wybrane wagi oraz test do powtórzenia po aktualizacji. Pomagamy firmom i osobom prywatnym, także przed zakupem komputera.
Syntalith ma status OpenAI Select Partner w OpenAI Partner Network.
Pomagamy szybciej odpowiadać klientom i znajdować informacje w firmowych dokumentach. Dobieramy i wdrażamy narzędzia AI, a Twój zespół uczymy z nich korzystać.
Jak wdrożyć ChatGPT i OpenAI w firmieOceńmy prywatne AI w warunkach Twojej firmy
Pomagamy firmom i osobom prywatnym dobrać sprzęt, uruchomić model i sprawdzić go na własnych zadaniach. Możesz zacząć od komputera, który już masz, albo od rozmowy przed zakupem. Pierwsza rozmowa jest bezpłatna, a wycenę przygotowujemy po ocenie zadania i sprzętu.
Prywatne modele LLM i fine-tuning