Hero-titelkort för artikeln 'Känslighetsmedveten kvantisering förklarad' med underrubriken 'Hur OrcaSAQ avgör vilka MoE-vikter som får fler bitar — ingen kalibreringsuppsättning krävs', som visar en platt balansvåg i linjeikonstil vars tyngre sida håller några stora rundade blå kuber och vars lättare sida håller många små grå kuber.
Guides & Insights

Känslighetsmedveten kvantisering förklarad: Hur OrcaSAQ avgör vilka vikter som får fler bitar

Författare

Alistair Wren

Publiceringsdatum

Senaste modellerna · 20Visa alla modeller
Benchmarks: Artificial Analysis · uppdateras dagligen
Tillbaka till alla inlägg

Känslighetsmedveten kvantisering innebär att man satsar sin bitbudget där det gör mest nytta: de tensorer som kvantiseringen skadar mest får fler bitar, och allt annat ligger kvar på en lägre basbredd. Den här artikeln förklarar hur OrcaSAQ — vår kalibreringsfria, arkitekturmedvetna metod för blandad precision, som släppts med GLM-5.3-Flash-kvantfamiljen orcarouter/GLM-5.3-Flash-MLX — avgör vilka av de 37 338 tensorerna i en Mixture-of-Experts-modell med 320 miljarder parametrar som förtjänar extra bitar, helt utan kalibreringsdataset. Den överförbara lärdomen för den som kvantiserar en annan MoE: delade experter och nedprojektioner är värda de extra bitarna, och du kan hitta dem med enbart upstream-versionens egen kvantiseringsmetadata.

Det korta svaret

Känslighetsmedveten kvantisering är blandad precision med en policy: varje tensors bitbredd följer hur känslig den är för kvantiseringsfel, i stället för en enda bredd för hela modellen. Forskningslitteraturen mäter känslighet med Hessianer, Fisher-information eller divergens mellan ursprungliga och kvantiserade lagerutdata, och allokerar sedan bitar till de lager som skadas mest. OrcaSAQ tillhör en mindre familj som hoppar över mätningen helt och hållet. Den kodar känslighetsrangordningen i själva arkitekturen: den använder arkitektoniska och tensorrollsbaserade priorer för att avgöra vilka vikter som är ömtåliga, och kvantiserar sedan allt annat med en målbasprecision.

Vad det ger dig är en snabb, deterministisk pipeline utan kalibrering. Det finns ingen kalibreringskorpus att sammanställa, inget sökande efter lagerkänslighet och ingen omtrimning per modell, så samma recept överförs till en ny arkitektur samma dag som dess vikter släpps. Vad den offrar är anpassning: en kalibreringsdriven metod som GPTQ eller AWQ tittar på den faktiska aktiveringsfördelningen hos din modell och dina data, och den brukar pressa ut mer kvalitet ur samma genomsnittliga bitbredd. OrcaSAQ:s satsning är att för Mixture-of-Experts-modeller berättar en tensors roll det mesta av vad en kalibreringskörning skulle göra, till en bråkdel av kostnaden.

Två sätt att hitta de känsliga vikterna.

Innan policyn, frågan: hur vet du vilka tensorer kvantisering skadar? De två svaren utgör hela designutrymmet.

Kalibreringsdriven.Kör en liten korpus genom modellen, mät felet som varje tensor eller block orsakar, och fördela bitar för att minimera det totala rekonstruktionsfelet. GPTQ använder en Hessian-baserad approximation av kvantiseringsfelet per lager; AWQ använder aktiveringsstatistik för att identifiera de viktigaste vikterna att skydda. Styrkan är anpassningen till dina faktiska data; kostnaderna är en kuraterad korpus, framåtpassager och invers-Hessian-lösningar för varje lager, samt resultat som skiftar när kalibreringssetet ändras.

Kalibreringsfri.Bestäm känslighetsrankningen utifrån arkitekturen innan du ser några data. I en MoE känner du redan till de bärande rollerna: expertmodulen som aktiveras för varje token, och projektionen som skriver in i residualströmmen. Koda den rankningen som en fast policy och tillämpa den mekaniskt.

OrcaSAQ står fast i det andra lägret, och denna artikel är ett försvar för det lägret när det gäller MoE-kvantisering — med en nykter redogörelse för vad man ger upp för det.

Policyn: vilka tensorer får fler bitar

OrcaSAQ:s bitallokeringspolicy anges i modellkortet för orcarouter/GLM-5.3-Flash-MLX, och den reduceras till tre regler plus ett undantag. Den basala precisionen är den version du bygger – 6, 4, 3 eller 2 bitar – och policyn höjer specifika tensorroller över den:

Delad expert: bas +2 bitar. Den delade experten aktiveras för varje token, så dess kvantiseringsfel återupprepas i varje enskild utdata modellen producerar. Det är tensorn med högst hävstång i modellen, och den får flest bitar.

down_proj: base +1 bit. I ett SwiGLU MLP-block är nedprojektionen den residuala flaskhalsen — dess utdata läggs direkt till i den residuala strömmen som varje djupare lager läser. Fel här korrumperar direkt vad allt nedströms ser.

gate_proj och up_proj: basprecision. Dessa är expansions- och gatingvägarna; deras utdata multipliceras elementvis inuti aktiveringen. Ett måttligt fel där tvättas delvis bort av gatingen, så de tolererar basbredden.

Aldrig kvantiserade, hållna i BF16: de 34 linjära attention-lagren, den inlärda glesa indexeraren, hyperkopplingsarrayerna, normerna, embed_tokens, lm_head, och hela visionstornet. Dessa var inte FP8 i upstream-versionen, och de förblir i full precision.

Bitar avrundas uppåt till närmaste MLX-stödda bredd, {2,3,4,5,6,8}. Konkret, på GLM-5.3-Flash — 320B totalt / 18B aktiva, 288 routade plus 1 delad expert med top-8-routing, 45 lager — ger 4-bitarsversionen den delade expertmodulen 6 bitar, varje ned-projektion 5 bitar, och gate- och upp-projektionerna 4 bitar. 6-bitarsversionen avrundar ned-projektionerna uppåt till 8 bitar. Gruppstorleken är 64 för 4- och 6-bitarsversionerna, 32 för 2- och 3-bitars, och den delade expertmodulen använder alltid 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

Är regeln med delad expert värd det? Vid 2-bitars bas ligger den delade experten på 4 bitar och vid 6-bitars bas på 8 — i båda fallen kostar de extra två bitarna minne som de routade experterna annars skulle ha kunnat använda, och modellkortets egna siffror, som diskuteras nedan, tyder på att avvägningen lönar sig. Det är samma resonemang som gör att 2bit-lite-versionen över huvud taget är värd att släppa: den alltid aktiva experten är den plats där lite extra precision gör mest nytta.

Urvalsregeln: _scale_inv som en fri känslighetssignal

Bitallokeringspolicyn förutsätter att du redan vet vilka tensorer som är kandidater. Att välja den uppsättningen är där OrcaSAQ är smartast, eftersom regeln är mekanisk och inte kräver några data: en tensor omkvantiseras om och endast om FP8-utgåvan levererade den med en _scale_inv-följeslagare.

Varför det fungerar: basen för upstream GLM-5.3-Flash är FP8 — blockvis e4m3, 128×128-block, med ett dynamiskt aktiveringsschema. Blockvis FP8-kvantisering lagrar en skala per block och dess invers tillsammans med vikten; närvaron av _scale_inv i kontrollpunkten är en varaktig markör för att tensorn har gått genom kvantiseringsvägen upstream. Upstream-versionen har redan talat om vilka tensorer som är säkra att kvantisera — ingen Hessian, ingen kalibreringskorpus, inga framåtpass.

För GLM-5.3-Flash är den uppsättningen MoE- och dense-MLP-linjärerna, plus de fyra projektionerna för varje deepseek_sparse_attention-block — q_a_proj, q_b_proj, kv_a_proj_with_mqa, och o_proj — över de 11 glesa lagren på djup 3, 7, 11 … 43, plus MTP-blocket, 12 × 4 = 48 tensorer. Allt annat har aldrig burit markören och förblir BF16: de 34 linear_attention-lagren, den glesa indexeraren och visionstornet. MTP-lagret — lager 45 — ingår i de kvantiserade vikterna istället för att exporteras som en separat modul.

Det som är värt att stjäla är själva tricket. En modellutgåva som kvantiserar sina vikter i ett tidigare skede har redan gjort en stor del av arbetet med att avgöra vad som kan kvantiseras; _scale_inv-markören är detta beslut, serialiserat i filformatet. OrcaSAQ läser ut det igen. Det är det som gör pipelinen deterministisk och överförbar – vilken modell som helst som levererar FP8-vikter med skalmetadata kan hanteras av samma regel, utan någon datapipeline alls.

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

Haken: per-modul konfiguration, inte inställningar på toppnivå

Om du skriver din egen MLX-kvantiserare — och det är målgruppen för det här avsnittet — är det enskilt mest användbara i modellkortet en varning: de översta bits och group_size i config.json är inte tillräckliga.

Totalt kvantiseras 37 338 tensorer. Tilldelningen registreras i config.jsonquantization som per-modul {group_size, bits} åsidosättningar nycklade av MLX-modulsökväg — till exempel model.layers.3.mlp.switch_mlp.down_proj. Eftersom MLX slår samman en lagers routade experter till en enda switch_mlp, täcker 173 poster alla 37 338 tensorer.

Och laddaren läser dessa poster vid inläsningen. Om du kvantiserar hela filen med basbredden får varje precisionhöjd tensor — den delade experten på bas +2, varje nedprojektion på bas +1 — fel bredd, och modellen laddas med fel form. Per-modulkartan är inte en optimering du kan hoppa över; den är inläsningsvägen. När du skriver din egen kvantiserare ska du generera överstyrningarna för varje tensor som policyn höjer, och verifiera dem mot standardinställningen på toppnivå innan du levererar.

Betalar försäkringen för sig själv?

Bevisen är våra egna, uppmätta på en modell: GLM-5.3-Flash, med varje bygge avkvantiserat och kört genom det identiska glm5_next-framåtpasset, så att den enda variabeln är kvantiseringen. Siffrorna nedan kommer från modellkortet, och de är inte leverantörsbenchmarks eller en tredje parts siffror — betrakta dem som en enskild datapunkt, inte som en lag.

• Perplexitet, jämfört med FP8-referensen vid 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 %).

• Överensstämmelse för top-1-token med referensen, samma ordning: 97,76 %, 96,13 %, 92,06 %, 86,56 %.

Tolkningen är exakt vad policyn förutsäger. Allt ända ner till 3-bit försämras skonsamt — det är signaturen av en bitbudget som spenderats på rätt tensorer — och 2-bit är ett stup, eftersom de rollbaserade höjningarna under en viss punkt slutar täcka skadan. Vid 4-bit är +2,96 % perplexitet för en version som är ungefär 38 % mindre än FP8-referensen en genuint bra avvägning, och det är samma policy, tillämpad mer aggressivt, som gör att 102 GB 2bit-lite-versionen överhuvudtaget kan laddas. Oberoende utövare som kvantiserar samma bas rapporterar samma inbördes ordning — de översta stegen nära brusgolvet, 4-bit påtaglig men blygsam — med olika absoluta värden från en annan utvärderingskorpus.

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

Vad överförs till din egen MoE?

Det återanvändbara resonemanget, för en modell som inte är vår:

Hitta de alltid aktiva experterna. Det som aktiveras för varje token — vanligtvis en delad eller alltid dirigerad expert — får dina mest generösa bitar. Dess fel upprepas överallt.

Hitta de residuala flaskhalsarna.Projektionen som skriver in i residualströmmen (vanligtvis nedprojektionen i varje MLP-block) får bas +1. Fel där ses av varje djupare lager.

Lämna expansions- och gating-vägarna vid basen. Om en utsignal multipliceras elementvis i en aktivering, absorberas kvantiseringsfelet i den delvis.

Aldrig kvantiserad uppströms innebär aldrig kvantiserad av dig. Om basversionen bar dessa tensorer i full precision, bär dem i full precision.

Använd uppströmsreleasens skalmetadata som urvalsregel.Om basmodellen kvantiserar sina vikter, är de skal-/inversskalmarkeringar den lämnar efter sig en gratis karta över vad som kan kvantiseras — ingen känslighetssökning krävs.

Registrera åsidosättningar per modul. En global bitbredd kommer att ge fel form åt varje tensor som höjs vid inläsning. Skriv modulsökvägskartan.

Och om du överhuvudtaget kan hålla en kalibreringsuppsättning, använd den för att granska policyn — inte för att ersätta den. Kör en kalibreringsdriven kvantisering med samma genomsnittliga bitantal och kontrollera om ordningen på rollpriorn matchar vad datan säger. På en tät modell eller en helt ny arkitektur är den granskningen skillnaden mellan ett försvarbart standardval och en gissning.

När OrcaSAQ är fel val

Detta är avsnittet som bör hålla metoden ärlig, eftersom den kalibreringsfria handeln är verklig.

När kvalitetstaket slår pipelinehastigheten, och du har ett kalibreringsset. GPTQ- eller AWQ-liknande metoder anpassar sig till den faktiska aktiveringsstatistiken för din modell och dina data, och vid lika genomsnittliga bitar slår de vanligtvis en fast rollbaserad policy. Om du kvantiserar en modell en gång och aldrig kvantiserar om igen, är de extra timmarna av kalibrering en engångskostnad som ger mätbar kvalitet.

Täta modeller utan MoE. Rollpriorn — delad expert, gate/up/down — finns inte, så policyn förlorar strukturen som gör den tillförlitlig. Du är kvar med 'allt uppströms kvantiserat förblir kvantiserat,' vilket är ett svagare påstående.

Modeller utan FP8-utgåva i upstream. Den _scale_inv urvalsregeln har inget att grunda sig på. Du måste bestämma den kvantiserbara mängden på något annat sätt, och argumentet om mekanisk överförbarhet kollapsar.

Helt nya arkitekturer. Priorerna är exakt de antaganden som kanske inte håller. En kalibreringsdriven metod skulle upptäcka en skör tensor som en rollbaserad policy missade; OrcaSAQ kommer inte att göra det, eftersom den aldrig tittar.

Mål under 3 bitar. Policyn räddar dig inte. Vid 2 bitar ligger modellen på +56,9 % perplexity oavsett var de extra bitarna hamnade; 2bit-lite-bygget finns för anpassning, inte kvalitet.

När du behöver garantier. Per-tensor-garantier, budgetar för kvantiseringsmedveten träning (QAT), eller bästa möjliga kvalitet för en fast storlek utan hänsyn till pipelinekostnad är allt kalibreringsområde.

Slutsatsen

Känslighetsmedveten kvantisering är praxis; OrcaSAQ är ett deterministiskt, kalibreringsfritt recept för den. De bestående lärdomarna är ökningarna av delad expert och nedprojektion, den mekaniska _scale_inv urvalsregeln, och per-modulkonfigurationen som inläsaren faktiskt läser. För en MoE med 320 miljarder parametrar som GLM-5.3-Flash ger det receptet en 4-bitars MLX-version med +2,96 % perplexitet — och orcarouter/GLM-5.3-Flash-MLX repot levererar samma policy på 2, 3, 4 och 6 bitar, med en separat 2bit-lite-version för 128 GB-maskiner. Vår GLM-5.3-Flash-MLX genomgång täcker vilken version som ska köras på vilken maskin, steg för steg.

Om din prioritet är den sista kvalitetsbiten vid en fast storlek och du kan sammanställa en kalibreringskorpus, använd de kalibreringsdrivna verktygen och låt dem anpassa sig. Om din prioritet är en reproducerbar, snabb och datafri kvantisering som kan överföras till nästa arkitektur — eller om du helt enkelt inte vill bygga en datapipeline alls — är den rollbaserade policyn ett försvarbart standardval. Och om du hellre inte vill kvantisera överhuvudtaget, serveras fullprecisions-GLM-5.3-Flash via OrcaRouter som z-ai/glm-5.3-flash. Valet handlar om hur mycket pipeline du är villig att köra, inte om huruvida känslighetsmedveten kvantisering är värd att göra.

Föredrar du att inte kvantisera något alls? z-ai/glm-5.3-flash är fullprecisionsmodellen som serveras på OrcaRouter till leverantörens prissättning, 0 % påslag.

© 2026 OrcaRouter

För leverantörer

Driver du en inferensplattform? Få dina modeller på OrcaRouter.

providers@orcarouter.ai

Gå med i vår community

Discordsupport@orcarouter.aiXGitHubYouTube