GGUF: het bestandsformaat dat AI-taalmodellen naar je eigen laptop brengt
Stel je een encyclopedie voor met honderden miljarden feiten, relaties en taalpatronen erin. Zo'n encyclopedie past normaal alleen op de harde schijven van een datacenter, met tientallen krachtige rekenkaarten die hem moeten "lezen" om een antwoord te geven. GGUF is een manier om diezelfde encyclopedie samen te persen tot één overzichtelijk bestand, dat ook op een gewone laptop of zelfs een stevige smartphone past en daar zonder internetverbinding gebruikt kan worden.
Concreet is GGUF (voluit vaak omschreven als "GPT-Generated Unified Format", al is die naam informeel ontstaan en nooit strikt vastgelegd) een bestandsformaat waarin een getraind taalmodel wordt opgeslagen: de miljarden getallen ("gewichten") die bepalen hoe het model taal voorspelt, plus alle bijbehorende informatie die nodig is om het model te laten draaien. Het is te vergelijken met hoe een foto als JPEG-bestand compacter is dan de ruwe sensordata van een camera, maar dan voor AI-modellen: GGUF maakt modellen kleiner en praktischer te gebruiken, tegen een klein kwaliteitsverlies.
Wat is het precies?
Een taalmodel bestaat in de kern uit een enorme verzameling getallen, verdeeld over lagen van een neuraal netwerk. Die getallen worden meestal getraind in hoge precisie, bijvoorbeeld als 16-bits of 32-bits decimale getallen. Hoe hoger de precisie, hoe nauwkeuriger het model rekent, maar ook hoe meer opslagruimte en werkgeheugen het kost. Een model met 7 miljard parameters in volle precisie neemt al snel 14 tot 28 gigabyte in beslag.
GGUF lost dit op met twee trucs. De eerste is quantisatie: de getallen worden afgerond naar een grovere schaal, bijvoorbeeld van 16 bits naar 4 bits per getal. Dat klinkt drastisch, maar in de praktijk blijkt een taalmodel verrassend weinig kwaliteit te verliezen als dit slim gebeurt, omdat niet elk getal even belangrijk is voor het eindresultaat. Er bestaan tientallen quantisatievarianten, aangeduid met codes als Q4_K_M, Q5_K_S of Q8_0, die elk een andere balans zoeken tussen bestandsgrootte en nauwkeurigheid. Recentere varianten, de zogeheten IQ-quants, gebruiken een "belangrijkheidsmatrix" (imatrix): het model wordt eerst getest op voorbeeldteksten om te zien welke getallen het meest bijdragen aan een goed antwoord, zodat juist die getallen extra precisie behouden.
De tweede truc is dat GGUF alles in één bestand bundelt. De voorganger van GGUF, genaamd GGML, vereiste vaak losse bestanden voor het model, de tokenizer (die tekst omzet in getallen die het model begrijpt) en instellingen over de modelarchitectuur. Dat was foutgevoelig: bestanden raakten uit elkaar gehaald of pasten niet meer bij elkaar na een software-update. GGUF stopt dit allemaal in één bestand met een vaste, uitbreidbare structuur (metadata plus gewichten), zodat een programma in één keer alles kan inlezen wat het nodig heeft om het model te laten draaien.
Wat wil men ermee bereiken?
Het achterliggende doel is toegankelijkheid: AI-taalmodellen laten draaien zonder afhankelijk te zijn van dure clouddiensten of gespecialiseerde serverhardware. Grote taalmodellen werden vanaf 2020 vooral getraind en gedraaid op professionele grafische kaarten met veel videogeheugen, iets wat de meeste particulieren en kleine bedrijven niet in huis hebben. GGUF is ontstaan vanuit de wens om diezelfde modellen ook te kunnen draaien op de processor (CPU) van een gewone computer, of op een videokaart met beperkt geheugen.
Daarmee raakt GGUF aan een bredere discussie in de AI-wereld over open versus gesloten modellen. Waar bedrijven als OpenAI en Anthropic hun modellen alleen via betaalde online diensten aanbieden, publiceren andere partijen, zoals Meta en Mistral AI, de gewichten van hun modellen openlijk. GGUF maakt die openheid praktisch bruikbaar: het is de brug tussen "we hebben de modelbestanden gepubliceerd" en "iedereen kan dit model daadwerkelijk zelf draaien". Bijkomende motivaties zijn privacy (data blijft op het eigen apparaat, niet bij een clouddienst) en experimenteervrijheid voor ontwikkelaars en hobbyisten.
Voorbeelden uit de praktijk
llama.cpp (2023) is het project waarin GGUF is ontstaan, geschreven door de Bulgaarse ontwikkelaar Georgi Gerganov. Het begon als een experiment om Meta's Llama-model in de programmeertaal C++ te laten draaien op een MacBook, zonder gespecialiseerde AI-bibliotheken.
Ollama is een tool die sinds 2023 bovenop llama.cpp is gebouwd en het downloaden en draaien van GGUF-modellen tot een paar simpele opdrachtregelcommando's terugbrengt, populair bij ontwikkelaars die lokaal met AI willen experimenteren.
LM Studio biedt hetzelfde soort functionaliteit maar dan met een grafische interface, gericht op gebruikers zonder programmeerervaring die toch lokaal een chatbot willen draaien.
Hugging Face, het bedrijf achter het grootste online platform voor AI-modellen, host tienduizenden GGUF-bestanden en biedt een ingebouwde viewer waarmee gebruikers de metadata van een GGUF-bestand kunnen inspecteren zonder het te downloaden. Een bekende bijdrager was de gebruiker "TheBloke", die tussen 2023 en begin 2024 handmatig honderden populaire modellen omzette naar GGUF-quantisaties, tot deze persoon in 2024 stopte met actief publiceren.
Modellen als Llama 2 en Llama 3 (Meta), Mistral 7B en Mixtral (Mistral AI) en Gemma (Google) worden vrijwel altijd binnen enkele dagen na release door de gemeenschap omgezet naar GGUF-varianten, zodat ze op consumentenhardware te gebruiken zijn.
Hoe ver is de techniek?
GGUF is inmiddels de facto standaard geworden voor het lokaal draaien van open taalmodellen op CPU en op videokaarten met beperkt geheugen. Sinds de introductie in augustus 2023 als opvolger van GGML is het formaat meerdere keren uitgebreid, onder meer met ondersteuning voor meer modelarchitecturen en nauwkeurigere quantisatiemethoden zoals de eerdergenoemde IQ-quants met imatrix-kalibratie.
Toch zijn er duidelijke grenzen. Bij zeer lage quantisatie (2 tot 3 bits per getal) neemt de kwaliteit van antwoorden merkbaar af, vooral bij taken die precies redeneren vereisen, zoals wiskunde of programmeren. Welke quantisatie de beste balans biedt, verschilt per model en blijft grotendeels een kwestie van uitproberen. Daarnaast is GGUF vooral geschikt voor het draaien ("inference") van modellen, niet voor het trainen ervan; trainen gebeurt nog altijd in andere, minder gecomprimeerde formaten zoals safetensors. Voor grootschalige, professionele inzet in datacenters gebruiken bedrijven doorgaans ook liever andere formaten en frameworks, die beter zijn geoptimaliseerd voor veel gelijktijdige gebruikers. GGUF blijft daarmee vooral de standaard voor lokaal en kleinschalig gebruik, niet voor grootschalige clouddiensten.
Wie werken eraan?
De ontwikkeling van GGUF en llama.cpp wordt getrokken door Georgi Gerganov, die er inmiddels ook een klein bedrijf omheen heeft opgezet (ggml.ai), maar het project draait grotendeels op bijdragen van vrijwillige open-sourceontwikkelaars wereldwijd via GitHub. Er is geen centrale standaardisatie-instantie zoals bij bijvoorbeeld internetprotocollen; de specificatie van het formaat wordt in de praktijk bepaald door wat llama.cpp ondersteunt.
Hugging Face, het Frans-Amerikaanse platformbedrijf, speelt een belangrijke ondersteunende rol door hosting, documentatie en tooling voor GGUF-bestanden aan te bieden. Commerciële partijen die op GGUF en llama.cpp voortbouwen zijn onder meer Ollama Inc. (Verenigde Staten) en de makers van LM Studio. Ook projecten als GPT4All van Nomic AI en het draagbare llamafile-format van Mozilla maken gebruik van de onderliggende GGML/GGUF-technologie. Grote AI-labs zoals Meta, Mistral AI en Google leveren zelf geen GGUF-bestanden, maar hun openbaar gepubliceerde modellen vormen wel het uitgangsmateriaal dat de gemeenschap vervolgens naar GGUF omzet.