Karta tytułowa hero artykułu 'Sensitivity-Aware Quantization Explained' z podtytułem 'How OrcaSAQ decides which MoE weights get more bits — no calibration set required', przedstawiająca płaską, liniową ikonę wagi, której cięższa strona zawiera kilka dużych niebieskich kostek o zaokrąglonych krawędziach, a lżejsza – wiele małych szarych kostek.
Guides & Insights

Wyjaśnienie kwantyzacji uwzględniającej wrażliwość: jak OrcaSAQ decyduje, które wagi otrzymują więcej bitów

Autor

Alistair Wren

Data publikacji

Najnowsze modele · 20Zobacz wszystkie modele
Benchmarki: Artificial Analysis · aktualizowane codziennie
Powrót do wszystkich wpisów

Kwantyzacja uwzględniająca wrażliwość to praktyka przeznaczania budżetu bitowego tam, gdzie ma to znaczenie: tensory, którym kwantyzacja szkodzi najbardziej, otrzymują więcej bitów, a wszystko inne pozostaje na niższej szerokości bazowej. Ten artykuł wyjaśnia, jak OrcaSAQ — nasza metoda mieszanej precyzji, niewymagająca kalibracji i uwzględniająca architekturę, wydana wraz z GLM-5.3-Flashrodziną kwantyzacjiorcarouter/GLM-5.3-Flash-MLX — decyduje, które z 37 338 tensorów w modelu Mixture-of-Experts o 320 miliardach parametrów zasługują na dodatkowe bity, całkowicie bez zestawu danych kalibracyjnych. Uniwersalna lekcja dla każdego, kto kwantyzuje inny model MoE: współdzieleni eksperci i projekcje w dół zasługują na dodatkowe bity, a można je znaleźć, używając wyłącznie metadanych kwantyzacji z własnego wydania nadrzędnego.

Krótka odpowiedź

Kwantyzacja z uwzględnieniem wrażliwości to mieszana precyzja z polityką: szerokość bitowa każdego tensora wynika z tego, jak bardzo jest on wrażliwy na błąd kwantyzacji, zamiast jednej szerokości dla całego modelu. Literatura przedmiotu mierzy wrażliwość za pomocą hesjanów, informacji Fishera lub dywergencji między wynikami oryginalnych i skwantyzowanych warstw, a następnie przydziela bity warstwom, które najbardziej szkodzą. OrcaSAQ należy do mniejszej rodziny, która całkowicie pomija ten pomiar. Koduje ranking wrażliwości w samej architekturze: stosuje priory architektoniczne i tensorowo-rolowe aby zdecydować, które wagi są kruche, a następnie kwantyzuje wszystko inne z docelową precyzją bazową.

Co ci to daje, to szybki, deterministyczny potok bez kalibracji. Nie musisz składać korpusu kalibracyjnego, nie musisz przeszukiwać wrażliwości per warstwa ani stroić modelu per model, więc ten sam przepis przenosi się na nową architekturę w dniu, w którym pojawią się jej wagi. To, co tracisz, to adaptacja: metoda oparta na kalibracji, taka jak GPTQ czy AWQ, patrzy na rzeczywisty rozkład aktywacji twojego modelu i twoich danych i zwykle wyciśnie więcej jakości z tej samej średniej szerokości bitowej. Zakład OrcaSAQ jest taki, że w przypadku modeli Mixture-of-Experts rola tensora mówi ci większość tego, co powiedziałaby kalibracja, za ułamek kosztów.

Dwa sposoby na znalezienie wrażliwych wag.

Przed polityką pojawia się pytanie: skąd wiesz, którym tensorom kwantyzacja szkodzi? Te dwie odpowiedzi to cała przestrzeń projektowa.

Oparta na kalibracji. Przepuść mały korpus przez model, zmierz błąd, jaki powoduje każdy tensor lub blok, i przydziel bity, aby zminimalizować całkowity błąd rekonstrukcji. GPTQ wykorzystuje przybliżenie oparte na hesjanie do oszacowania błędu kwantyzacji na warstwę; AWQ używa statystyk aktywacji, aby wskazać istotne wagi do ochrony. Mocną stroną jest adaptacja do rzeczywistych danych; kosztami są starannie dobrany korpus, przejścia w przód i rozwiązania odwrotnego hesjanu dla każdej warstwy oraz wyniki, które się zmieniają, gdy zmienia się zestaw kalibracyjny.

Bez kalibracji.Ustal ranking wrażliwości przed zobaczeniem jakichkolwiek danych, na podstawie architektury. W modelu MoE już znasz role kluczowe: eksperta, który aktywuje się na każdym tokenie, oraz projekcję, która zapisuje do strumienia rezydualnego. Zakoduj ten ranking jako stałą politykę i stosuj ją mechanicznie.

OrcaSAQ zdecydowanie należy do drugiego obozu, a ten artykuł jest obroną tego obozu w kwestii kwantyzacji MoE — z trzeźwym opisem tego, co się za to traci.

Polityka: które tensory otrzymują więcej bitów

Polityka alokacji bitów OrcaSAQ jest opisana w karcie modelu dla orcarouter/GLM-5.3-Flash-MLX, i sprowadza się do trzech reguł plus jednego wyjątku. Bazowa precyzja to ta, którą budujesz — 6, 4, 3 lub 2 bity — a polityka podnosi konkretne role tensorów ponad nią:

Współdzielony ekspert: bazowo +2 bity.Współdzielony ekspert uruchamia się na każdym tokenie, więc jego błąd kwantyzacji jest powielany w każdym pojedynczym wyjściu modelu. To najbardziej wpływowy tensor w modelu — otrzymuje najwięcej bitów.

down_proj: base +1 bit. W bloku SwiGLU MLP projekcja w dół jest rezydualnym wąskim gardłem — jej wyjście jest dodawane wprost do strumienia rezydualnego, który odczytuje każda głębsza warstwa. Błąd tutaj bezpośrednio psuje to, co widzą wszystkie warstwy poniżej.

gate_proj i up_proj: precyzja bazowa. To są ścieżki ekspansji i bramkowania; ich wyjścia są mnożone elementowo wewnątrz aktywacji. Niewielki błąd tam jest częściowo niwelowany przez bramkowanie, więc tolerują bazową szerokość.

Nigdy nie kwantyzowane, przechowywane w BF16: 34 liniowe warstwy atencji, wyuczony rzadki indeksator, tablice hiperpołączeń, normalizacje, embed_tokens, lm_head, a także cała wieża wizyjna. W wydaniu upstream nie były one w FP8 i pozostają w pełnej precyzji.

Bity są zaokrąglane w górę do najbliższej szerokości obsługiwanej przez MLX: {2,3,4,5,6,8}. Konkretnie, w GLM-5.3-Flash — 320B łącznie / 18B aktywnych, 288 routowanych ekspertów plus 1 współdzielony ekspert z routingiem top-8, 45 warstw — wariant 4-bitowy przydziela współdzielonemu ekspertowi 6 bitów, każdej projekcji down 5 bitów, a projekcjom gate i up 4 bity. Wariant 6-bitowy zaokrągla projekcje down w górę do 8 bitów. Rozmiar grupy wynosi 64 dla wariantów 4- i 6-bitowych, 32 dla 2- i 3-bitowych, a współdzielony ekspert zawsze używa 64.

OrcaSAQ bit-allocation policy card titled 'OrcaSAQ — the bit-allocation policy' on GLM-5.3-Flash, listing the rules 'shared expert base +2 bits', 'down_proj base +1 bit', 'gate_proj / up_proj base', 'never FP8 upstream BF16', with a concrete 'At a 4-bit base' column showing shared expert 6 bits, down_proj 5 bits, gate/up projections 4 bits, and BF16 for the linear-attention path, indexer and vision tower, plus a footer citing the orcarouter/GLM-5.3-Flash-MLX model card

Czy zasada wspólnego eksperta jest warta zachodu? Przy bazie 2-bitowej wspólny ekspert ma 4 bity, a przy bazie 6-bitowej — 8; w obu przypadkach dodatkowe dwa bity kosztują pamięć, którą kierowani eksperci mogliby wykorzystać, a liczby z karty modelu, omówione poniżej, sugerują, że taki kompromis się opłaca. To ten sam tok rozumowania, który sprawia, że wersja 2bit-lite w ogóle ma sens: zawsze aktywny ekspert to miejsce, w którym odrobina dodatkowej precyzji daje najwięcej.

Reguła wyboru: _scale_inv jako swobodny sygnał czułości

Polityka alokacji bitów zakłada, że już wiesz, które tensory są kandydatami. OrcaSAQ jest najsprytniejszy właśnie w wyborze tego zestawu, ponieważ reguła jest mechaniczna i nie wymaga żadnych danych: tensor jest rekwantyzowany wtedy i tylko wtedy, gdy wydanie FP8 dostarczyło go wraz z towarzyszem _scale_inv.

Dlaczego to działa: bazowy model GLM-5.3-Flash z upstreamu jest w FP8 — blokowo e4m3, z blokami 128×128, z dynamicznym schematem aktywacji. Blokowa kwantyzacja FP8 przechowuje skalę na blok i jej odwrotność wraz z wagą; obecność _scale_inv w punkcie kontrolnym jest trwałym znacznikiem, że tensor przeszedł ścieżkę kwantyzacji upstream. Wydanie upstream już powiedziało ci, które tensory są bezpieczne do kwantyzacji — bez hesjanu, bez korpusu kalibracyjnego, bez przebiegów w przód.

Dla GLM-5.3-Flash ten zestaw to warstwy liniowe MoE i gęstego MLP, plus cztery projekcje każdego deepseek_sparse_attention bloku — q_a_proj, q_b_proj, kv_a_proj_with_mqa oraz o_proj — w 11 warstwach sparse na głębokościach 3, 7, 11 … 43, plus blok MTP, 12 × 4 = 48 tensorów. Wszystko inne nigdy nie miało znacznika i pozostaje w BF16: 34 linear_attention warstwy, indeksator sparse i wieża wizyjna. Warstwa MTP — warstwa 45 — jest zawarta w skwantyzowanych wagach, a nie eksportowana jako osobny moduł.

Rzeczą, którą warto zapożyczyć, jest sam trik. Wydanie modelu, które kwantyzuje swoje wagi na wcześniejszym etapie, wykonało już ogromną część pracy polegającej na ustaleniu, co można skwantyzować; _scale_inv to znacznik będący tą decyzją, zserializowaną do formatu pliku. OrcaSAQ odczytuje go z powrotem. To właśnie czyni potok deterministycznym i przenośnym — każdy model, który dostarcza wagi FP8 z metadanymi skali, może zostać obsłużony według tej samej reguły, bez żadnego potoku danych.

OrcaSAQ selection-rule card titled 'OrcaSAQ — the mechanical selection rule' showing the rule 'Re-quantize a tensor iff the FP8 release shipped it with a _scale_inv companion', with a 'Quantized (had _scale_inv)' column listing the MoE and dense-MLP linears, 11 sparse layers x 4 projections at depth 3, 7, 11 … 43, the MTP block, 12 x 4 = 48 sparse-attention projection tensors and 37,338 tensors total, and a 'Never FP8 upstream (BF16)' column listing 34 linear-attention layers, the sparse indexer, hyper-connections, norms, embed_tokens, lm_head and the vision tower

Pułapka: konfiguracja per moduł, a nie ustawienia najwyższego poziomu

Jeśli piszesz własny kwantyzator MLX — a właśnie do takich osób skierowana jest ta sekcja — najważniejszą rzeczą w karcie modelu jest ostrzeżenie: najwyższego poziomu bits i group_size w config.json nie wystarczają.

W sumie skwantowano 37 338 tensorów. Przypisanie zapisywane jest w config.jsonquantization jako per-modułowe {group_size, bits} nadpisy kluczowane ścieżką modułu MLX — na przykład model.layers.3.mlp.switch_mlp.down_proj. Ponieważ MLX scala routowanych ekspertów warstwy w pojedynczy switch_mlp, 173 wpisy obejmują wszystkie 37 338 tensorów.

A ładowarka odczytuje te wpisy podczas ładowania. Jeśli skwantyzujesz cały plik przy bazowej szerokości, każdy tensor o podwyższonej precyzji — współdzielony ekspert przy bazie +2, każda projekcja w dół przy bazie +1 — uzyska niewłaściwą szerokość, a model wczyta się w błędnym kształcie. Mapa per-modułowa nie jest optymalizacją, którą można pominąć; to ścieżka ładowania. Gdy piszesz własny kwantyzator, wygeneruj nadpisania dla każdego tensora, który polityka podwyższa, i zweryfikuj je względem domyślnego ustawienia najwyższego poziomu przed wydaniem.

Czy polisa się zwraca?

Dowód jest nasz własny, zmierzony na jednym modelu: GLM-5.3-Flash, każda kompilacja dekwantyzowana i przepuszczona przez identyczny glm5_next forward, więc jedyną zmienną jest kwantyzacja. Liczby poniżej pochodzą z karty modelu i nie są benchmarkami producenta ani danymi strony trzeciej — potraktuj je jako pojedynczy punkt danych, a nie regułę.

Perplexity, w porównaniu z referencją FP8 na poziomie 2.7797: 6-bit 2.7864 (+0,24%), 4-bit 2.8620 (+2,96%), 3-bit 3.0566 (+9,96%), 2-bit 4.3622 (+56,9%).

• Zgodność tokenów Top-1 z referencją, w tej samej kolejności: 97.76%, 96.13%, 92.06%, 86.56%.

Odczyt jest dokładnie tym, co przewiduje polityka. Wszystko aż do 3 bitów degraduje się łagodnie — to sygnatura budżetu bitowego wydanego na właściwe tensory — a 2 bity to klif, bo poniżej pewnego punktu podwyżki oparte na rolach przestają pokrywać straty. Przy 4 bitach wzrost perplexity o +2,96% dla wersji o około 38% mniejszej niż referencja FP8 to naprawdę dobry kompromis, i to ta sama polityka, zastosowana bardziej agresywnie, sprawia, że wersja 2bit-lite o rozmiarze 102 GB w ogóle się ładuje. Niezależni praktycy kwantyzujący tę samą bazę raportują tę samą kolejność — najwyższe szczeble blisko podłogi szumu, 4 bity realne, ale skromne — z różnymi liczbami bezwzględnymi z innego korpusu ewaluacyjnego.

OrcaSAQ quality card titled 'OrcaSAQ — quality versus the FP8 reference' listing perplexity versus the FP8 reference at 2.7797: 6-bit 2.7864 (+0.24%), 4-bit 2.8620 (+2.96%), 3-bit 3.0566 (+9.96%), 2-bit 4.3622 (+56.9%), with top-1 agreement 97.76%, 96.13%, 92.06%, 86.56%, and a footer noting these are OrcaRouter's own measurements on GLM-5.3-Flash, not vendor benchmarks

Co przenosi się do twojego własnego MoE

Rozumowanie wielokrotnego użytku dla modelu, który nie jest nasz:

Znajdź zawsze aktywnych ekspertów. Wszystko, co aktywuje się na każdym tokenie — zazwyczaj współdzielony lub zawsze kierowany ekspert — dostaje twoje najhojniejsze bity. Jego błąd jest odtwarzany wszędzie.

Znajdź rezydualne wąskie gardła.Projekcja, która zapisuje do strumienia rezydualnego (zazwyczaj projekcja w dół każdego bloku MLP) otrzymuje bazę +1. Błąd tam jest widoczny dla każdej głębszej warstwy.

Pozostaw ścieżki ekspansji i bramkowania na poziomie bazowym. Jeśli wynik jest mnożony elementowo wewnątrz aktywacji, błąd kwantyzacji w nim jest częściowo pochłaniany.

Nigdy niekwantyzowany upstream oznacza nigdy niekwantyzowany przez Ciebie. Jeśli wydanie bazowe zawierało te tensory w pełnej precyzji, zachowaj je w pełnej precyzji.

Użyj metadanych skali wydania nadrzędnego jako reguły wyboru. Jeśli model bazowy kwantyzuje swoje wagi, pozostawiane przez niego znaczniki skali/skali odwrotnej są darmową mapą tego, co można skwantyzować — nie jest wymagane wyszukiwanie wrażliwości.

Zapisz nadpisania per moduł. Globalna szerokość bitowa zniekształci każdy podniesiony tensor podczas ładowania. Napisz mapę ścieżek modułów.

A jeśli w ogóle możesz dysponować zestawem kalibracyjnym, użyj go do audytu polityki — a nie do jej zastąpienia. Wykonaj kwantyzację sterowaną kalibracją przy tej samej średniej liczbie bitów i sprawdź, czy kolejność priora roli zgadza się z tym, co mówią dane. W przypadku modelu gęstego lub zupełnie nowej architektury ten audyt stanowi różnicę między uzasadnionym ustawieniem domyślnym a zgadywaniem.

Gdzie OrcaSAQ jest złym wyborem

To jest sekcja, która powinna utrzymać metodę w ryzach, ponieważ kompromis bez kalibracji jest realny.

Gdy jakość jest ważniejsza niż szybkość potoku, a dysponujesz zestawem kalibracyjnym. Metody w stylu GPTQ lub AWQ dostosowują się do rzeczywistych statystyk aktywacji Twojego modelu i Twoich danych, a przy równej średniej liczbie bitów zwykle pokonują stałą politykę opartą na rolach. Jeśli kwantyzujesz jeden model tylko raz i nigdy nie kwantyzujesz go ponownie, dodatkowe godziny kalibracji to jednorazowy koszt, który przekłada się na mierzalną jakość.

Gęste modele nie-MoE. Prior roli — wspólny ekspert, gate/up/down — nie istnieje, więc polityka traci strukturę, która czyni ją wiarygodną. Pozostaje ci „wszystko, co skwantowane powyżej, pozostaje skwantowane”, co jest słabszym twierdzeniem.

Modele, dla których nie ma wydania upstream FP8. Ta _scale_inv reguła wyboru nie ma się na czym oprzeć. Musisz zdecydować o zbiorze kwantyzowalnym w inny sposób, a argument o mechanicznej przenoszalności upada.

Nowiutkie architektury. Priors to dokładnie te założenia, które mogą nie być spełnione. Metoda oparta na kalibracji wykryłaby kruchy tensor, którego nie zauważyła polityka oparta na rolach; OrcaSAQ nie wykryje, ponieważ nigdy nie patrzy.

Cele poniżej 3 bitów. Polityka cię nie ratuje. Przy 2 bitach model osiąga +56.9% perplexity niezależnie od tego, gdzie trafiły dodatkowe bity; wersja 2bit-lite istnieje dla dopasowania, nie dla jakości.

Kiedy potrzebujesz gwarancji. Gwarancje per-tensor, budżety trenowania z uwzględnieniem kwantyzacji (QAT) lub najlepsza możliwa jakość dla ustalonego rozmiaru bez względu na koszt potoku to wszystko jest obszar kalibracji.

Najważniejsze

Kwantyzacja uwzględniająca wrażliwość to praktyka; OrcaSAQ to jeden deterministyczny, niewymagający kalibracji przepis na nią. Trwałe wnioski to podnoszenie precyzji współdzielonego eksperta i projekcji w dół, mechaniczna _scale_inv reguła wyboru oraz konfiguracja per moduł, którą ładowarka faktycznie odczytuje. Dla modelu MoE o 320 miliardach parametrów, takiego jak GLM-5.3-Flash, ten przepis daje wersję MLX w 4 bitach przy perplexity +2.96% — oraz orcarouter/GLM-5.3-Flash-MLX repo dostarcza tę samą politykę w wersjach 2, 3, 4 i 6 bitów, z osobną kompilacją 2bit-lite dla maszyn z 128 GB pamięci. Nasz GLM-5.3-Flash-MLX przewodnik omawia, którą wersję uruchomić na której maszynie, krok po kroku.

Jeśli Twoim priorytetem jest ostatnia odrobina jakości przy stałym rozmiarze i możesz zgromadzić korpus kalibracyjny, skorzystaj z narzędzi opartych na kalibracji i pozwól im się dostosować. Jeśli Twoim priorytetem jest powtarzalna, szybka kwantyzacja bez danych, która przenosi się na następną architekturę — albo po prostu w ogóle nie chcesz budować potoku danych — polityka oparta na rolach jest rozsądnym domyślnym wyborem. A jeśli wolisz w ogóle nie kwantyzować, pełnoprecyzyjny GLM-5.3-Flash jest udostępniany przez OrcaRouter jako z-ai/glm-5.3-flash. Wybór sprowadza się do tego, ile potoku danych jesteś gotów uruchomić, a nie do tego, czy kwantyzacja uwzględniająca wrażliwość jest warta zachodu.

Wolisz w ogóle niczego nie kwantyzować? z-ai/glm-5.3-flash to model w pełnej precyzji serwowany na OrcaRouter po cenie dostawcy, z 0% narzutu.

© 2026 OrcaRouter

Dla dostawców

Prowadzisz platformę inferencyjną? Udostępnij swoje modele w OrcaRouter.

providers@orcarouter.ai

Dołącz do społeczności

Discordsupport@orcarouter.aiXGitHubYouTube