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

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:

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 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.

OpenAI Select Partner

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 firmie

Oceń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
Porozmawiaj o prywatnym AI