En enorm modelfil bliver betydeligt mindre, og pludselig virker lokal AI mulig på en enhed inden for rækkevidde. Hukommelsesbesparelsen er synlig. Hvad der i første omgang forbliver usynligt, er, hvilken information der går tabt gennem den ændrede talrepræsentation, og om dette tab har betydning for din opgave.
Dokumentationen om kvantisering i llama.cpp beskriver metoder, hvormed modelvægte lagres med lavere præcision. Det kan spare plads og ændre behandlingen, men det kan også koste kvalitet. Et antal bits er derfor en teknisk egenskab og ikke et generelt kvalitetsstempel.
Et taleksperiment uden model
For at forstå idéen er en hjemmelavet legetøjsmetode nok til at begynde med. Vi begrænser tal til intervallet fra minus et til et og afbilder dem på jævnt fordelte niveauer. I teorien passer fire niveauer i to bits, seksten niveauer i fire. Dette eksempel gengiver ikke nogen bestemt GGUF-metode.
def runden_auf_stufen(wert, stufen):
wert = max(-1.0, min(1.0, wert))
index = round((wert + 1) * (stufen - 1) / 2)
return 2 * index / (stufen - 1) - 1
werte = [-0.83, -0.12, 0.18, 0.76]
for stufen in (4, 16):
angenaehert = [runden_auf_stufen(x, stufen) for x in werte]
fehler = max(abs(a-b) for a, b in zip(werte, angenaehert))
print(stufen, angenaehert, "largest deviation:", fehler)
Kør det lille Python-eksempel, og ændr derefter en værdi tæt på en niveaugrænse. Du kan direkte se, hvordan forskellige input havner på det samme lagrede niveau. Det er et tab af numeriske detaljer, ikke en målt fejl i en sprogmodels svar.
Rigtige kvantiseringsmetoder er mere komplekse. De kan behandle vægte i blokke og bruge yderligere skaleringsinformation. Alene af den grund kan en models størrelse ikke pålideligt udledes af et enkelt bittal som en simpel lagerberegning.
Den faktiske opgave afgør det
Opstil før en modelsammenligning fem korte opgaver med kendte krav. En note indeholder et antal deltagere. En anden indeholder en negation. En tredje nævner en undtagelse. En fjerde indeholder modstridende oplysninger, og i en femte mangler en oplysning, der søges efter.
Skriv for hver opgave ned, hvad der skal bevares. For eksempel: seks deltagere, materiale kun efter godkendelse, en ukendt dato forbliver ukendt. På den måde vurderer du virkningerne på dit arbejde og ikke kun, om svaret lyder behageligt.
En mindre variant kan passe fint til enkle resuméer og fejle ved en bestemt grænseopgave. En enkelt succes er ikke et generelt udsagn om kvalitet. Ej heller er enhver sproglig afvigelse vigtig indholdsmæssigt; det afgørende er de krav, der er fastsat på forhånd.
En retfærdig sammenligning ændrer så lidt som muligt
Vælg varianter af den samme basisrevision, og hold prompt, runtime og opgaver ens. Hvis en anden modelgeneration kommer i spil, begynder en anden sammenligning. Filnavn, kilde og checksum hjælper dig med senere at genkende de artefakter, der faktisk blev brugt.
Notér ud over indholdsmæssige afvigelser også det faktisk målte hukommelsesbehov og den faktisk målte tid. Vægtfilen alene beskriver ikke de fulde krav under kørsel; yderligere behandling og den anvendte kontekst kræver også ressourcer. Overfør derfor ikke andres enhedstal til din computer.
Undgå også en tilsyneladende præcis rangordning baseret på en enkelt opgave. For din egen beslutning kan en sjælden tabt begrænsning være vigtigere end nogle få sekunders forskel. Evalueringsarket bør holde sådanne fejl synlige.
Hvad den mindre fil virkelig gør muligt
Kvantisering åbner for yderligere lokale anvendelser ved at ændre den numeriske repræsentation af vægtene. Det rigtige valg forbliver en afvejning mellem ressourcer og det, dine opgaver har brug for indholdsmæssigt.
Det lille niveaueksperiment viser grundprincippet uden download, GPU eller modelkald. Den senere sammenligning af varianter undersøger et andet niveau: Hvordan påvirker den valgte repræsentation din faktiske anvendelse? Hvis du holder disse niveauer adskilt, bliver den imponerende lille fil til en sporbar teknisk beslutning.
Kilder og status
Kilder med status pr. 25. oktober 2026. Dokumentation til llama.cpp quantize.

