En enorm modellfil blir betydligt mindre, och plötsligt verkar lokal AI möjlig på en enhet inom räckhåll. Minnesbesparingen syns. Det som till en början förblir osynligt är vilken information som går förlorad genom den ändrade talrepresentationen och om denna förlust spelar roll för din uppgift.
Den dokumentation om kvantisering som finns för llama.cpp beskriver metoder där modellvikter lagras med lägre precision. Det kan spara utrymme och ändra bearbetningen, men det kan också kosta kvalitet. Ett antal bitar är därför en teknisk egenskap och inte en allmän kvalitetsstämpel.
Ett talexperiment utan modell
För att förstå idén räcker till att börja med en hemgjord leksaksmetod. Vi begränsar talen till intervallet från minus ett till ett och avbildar dem på jämnt fördelade nivåer. Teoretiskt ryms fyra nivåer i två bitar och sexton nivåer i fyra. Exemplet återger inte någon specifik GGUF-metod.
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 lilla Python-exemplet och ändra sedan ett värde nära en nivågräns. Du kan direkt se hur olika indata hamnar på samma lagrade nivå. Det är en förlust av numerisk detalj, inte ett uppmätt fel i en språkmodells svar.
Verkliga kvantiseringsmetoder är mer komplexa. De kan hantera vikter i block och använda ytterligare skalningsinformation. Redan av det skälet kan en modells storlek inte på ett tillförlitligt sätt härledas ur en enda bitsiffra som en enkel lagringsberäkning.
Den faktiska uppgiften avgör
Ställ före en modelljämförelse upp fem korta uppgifter med kända krav. En anteckning innehåller ett antal deltagare. En andra innehåller en negation. En tredje nämner ett undantag. En fjärde innehåller motstridiga uppgifter, och i en femte saknas en efterfrågad uppgift.
Skriv för varje uppgift ned vad som måste bevaras. Till exempel: sex deltagare, material endast efter godkännande, ett okänt datum förblir okänt. På så sätt bedömer du effekterna på ditt arbete och inte bara om svaret låter trevligt.
En mindre variant kan passa bra för enkla sammanfattningar och misslyckas med en viss gränsfallsuppgift. Ett enstaka lyckat resultat är inget allmänt påstående om kvalitet. Inte heller är varje språklig avvikelse sakligt viktig; det som avgör är de krav som fastställts i förväg.
En rättvis jämförelse ändrar så lite som möjligt
Välj varianter av samma basrevision och behåll samma prompt, körmiljö och uppgifter. Om en annan modellgeneration kommer in i bilden börjar en annan jämförelse. Filnamn, källa och kontrollsumma hjälper dig att senare känna igen de artefakter som faktiskt användes.
Anteckna utöver sakliga avvikelser även det faktiskt uppmätta minnesbehovet och den uppmätta tiden. Viktfilen ensam beskriver inte hela körbehovet; ytterligare bearbetning och den använda kontexten kräver också resurser. Överför därför inte andras enhetssiffror till din dator.
Undvik också en skenbart exakt rangordning baserad på en enda uppgift. För ditt eget beslut kan en sällsynt förlorad begränsning vara viktigare än några sekunders skillnad. Bedömningsbladet bör hålla sådana fel synliga.
Vad den mindre filen verkligen möjliggör
Kvantisering öppnar för ytterligare lokala användningar genom att ändra vikternas numeriska representation. Rätt val förblir en avvägning mellan resurser och vad dina uppgifter sakligt behöver.
Det lilla nivåexperimentet visar grundprincipen utan nedladdning, GPU eller modellanrop. Den senare jämförelsen av varianter undersöker en annan nivå: hur påverkar den valda representationen din faktiska tillämpning? Om du håller isär dessa nivåer blir den imponerande lilla filen ett spårbart tekniskt beslut.
Källor och status
Källor per 25 oktober 2026. Dokumentation för llama.cpp quantize.

