Ga naar hoofdinhoud

Draai GLM-5 lokaal voor agentic coderen

Draai GLM-5, het beste open-weight AI‑model, op één GPU met llama.cpp en koppel het aan Aider om er een krachtige lokale code‑agent van te maken.
Bijgewerkt 2 jun 2026  · 8 min lezen

GLM-5 is Z.ai’s nieuwste open-reasoningmodel en het kreeg snel aandacht dankzij de sterke prestaties bij coderen, agent-workflows en chat met lange context. 

Veel developers gebruiken het al om in één keer websites te genereren, kleine apps te bouwen en te experimenteren met lokale AI-agents.

De uitdaging is dat GLM-5 een heel groot model is en lokaal draaien op consumentenhardware niet realistisch is. Zelfs gequantiseerde versies vereisen honderden gigabytes aan geheugen en een capabele GPU-setup.

In deze tutorial laten we een praktische manier zien om GLM-5 lokaal te draaien met een 2-bit GGUF-quant op een NVIDIA H200-pod, het te serven via llama.cpp en het te koppelen aan Aider zodat je GLM-5 als echte code-agent in je eigen projecten kunt gebruiken.

Ik raad ook aan om onze gids te bekijken over GLM 4.7 Flash lokaal draaien.

Vereisten: wat je nodig hebt om GLM-5 te draaien

Voordat je GLM-5 lokaal draait, heb je de juiste modelvariant nodig, genoeg geheugen om het te laden en een werkende GPU-softwarestack.

Hardwarevereisten hangen af van de quant-grootte:

  • 2-bit (281GB): past op een systeem met ~300GB verenigd geheugen, of werkt goed met 1×24GB GPU + ~300GB RAM met MoE-offloading
  • 1-bit: past op ~180GB RAM
  • 8-bit: vereist ~805GB RAM

Voor de beste performance moet je VRAM + systeem-RAM samen in de buurt komen van de quant-grootte. Zo niet, dan kan llama.cpp offloaden naar SSD, maar inferentie wordt trager. Gebruik --fit in llama.cpp om het GPU-gebruik te maximaliseren.

In onze setup draaien we GLM-5-UD-Q2_K_XL op een NVIDIA H200, met genoeg VRAM en systeem-RAM om het model efficiënt te passen.

Softwarevereisten:

  • Geïnstalleerde GPU-drivers
  • CUDA Toolkit
  • Een werkende Python-omgeving

GLM-5 lokaal draaien

Hieronder vind je de stapsgewijze instructies om GLM-5 lokaal te draaien: 

1. Richt je lokale omgeving in

Zelfs de 1-bitversie van GLM-5 is te groot voor de meeste consumentenlaptops, dus voor deze tutorial gebruik ik Runpod met een NVIDIA H200 GPU.

Begin met het aanmaken van een nieuwe pod en kies de nieuwste PyTorch-template.

Pod-sjabloon bij Runpod

Klik daarna op Edit om de pod-instellingen aan te passen:

  • Vergroot de volumedisksize naar 500GB, want ons 2-bitmodel is ~280GB en we hebben extra ruimte nodig voor builds en experimenten.
  • Open poort 8080 zodat je de llama.cpp Chat UI direct in je browser kunt openen.
  • Voeg je Hugging Face-token toe als omgevingsvariabele om modeldownloads te versnellen (je kunt een token genereren in je Hugging Face-account).

de pod-sjabloon aanpassen

Als alles klopt, bekijk je de pod-samenvatting en klik je op Deploy On-Demand.

pod-samenvatting op Runpod

Als de pod klaar is, open je JupyterLab, start je een Terminal en werk je vanaf daar. De Jupyter-terminal is handig omdat je soepel meerdere sessies kunt draaien zonder SSH.

de terminal starten in JupyterLab op Runpod

Controleer eerst of de GPU beschikbaar is:

nvidia-smi 

Je zou de H200 in de output moeten zien.

nvidia-smi van de H200 GPU

Installeer vervolgens de vereiste Linux-pakketten om llama.cpp te clonen en te bouwen:

sudo apt update
sudo apt install -y git cmake build-essential curl jq

2. Compileer llama.cpp met CUDA-ondersteuning

Nu je Runpod-omgeving klaar is en de GPU werkt, is de volgende stap om llama.cpp te installeren en te compileren met CUDA-versnelling, zodat GLM-5 efficiënt kan draaien op de H200.

Ga eerst naar de workspace-map en clone de officiële llama.cpp-repository:

cd /workspace
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

Het is belangrijk om te weten dat de nieuwste stabiele release van llama.cpp GLM-5 nog niet volledig out-of-the-box ondersteunt. Je moet een specifieke upstream pull request binnenhalen met recente changes die nodig zijn voor goede compatibiliteit.

Fetch en checkout de bijgewerkte branch:

git fetch origin pull/19460/head:MASTER && git checkout MASTER && cd ..

Configureer vervolgens het build-systeem zodat llama.cpp wordt gecompileerd met CUDA ingeschakeld, waardoor het model GPU-versnelling gebruikt in plaats van volledig op de CPU te draaien.

Draai CMake met de CUDA-vlag aan:

cmake llama.cpp -B llama.cpp/build \
   -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON

Het buildbestand voor llama.cpp bouwen.

Dit maakt een aparte map build/ aan en zorgt ervoor dat de serverbinaries van llama.cpp NVIDIA GPU-executie ondersteunen.

Als de configuratie klaar is, build je het doel llama-server:

cmake --build llama.cpp/build --config Release -j --clean-first --target llama-server

llama.cpp installeren

Deze stap kan enkele minuten duren afhankelijk van de pod, maar daarna heb je een CUDA-ingeschakelde serverbinary klaar om GLM-5 te draaien.

Kopieer tot slot de gecompileerde uitvoerbare bestanden naar de hoofdmap voor makkelijker gebruik:

cp llama.cpp/build/bin/llama-* llama.cpp

3. Download het GLM-5-model van Hugging Face

Met llama.cpp gecompileerd en klaar, is de volgende stap het downloaden van de GLM-5 GGUF-modelbestanden van Hugging Face.

Omdat deze modelcheckpoints extreem groot zijn, is het belangrijk om de snelste beschikbare downloadmethoden te gebruiken. 

Hugging Face biedt optionele tools zoals hf_xet en hf_transfer, die de downloadsnelheid aanzienlijk verbeteren, vooral op cloudmachines zoals Runpod.

Installeer eerst de vereiste Hugging Face-downloadhulpprogramma’s:

pip -q install -U "huggingface_hub[hf_xet]" hf-xet
pip -q install -U hf_transfer

Met deze packages kun je sneller parallel downloaden en krijg je betere performance bij het binnenhalen van honderden gigabytes aan modelshards.

Download nu de specifieke gequantiseerde modelvariant die in deze tutorial wordt gebruikt. We willen alleen de UD-Q2_K_XL-bestanden, niet de volledige set uploads:

hf download unsloth/GLM-5-GGUF \
   --local-dir models/GLM-5-GGUF \
   --include "*UD-Q2_K_XL*"

Dit slaat het model direct op in de map models/GLM-5-GGUF.

In onze setup halen downloads snelheden van ongeveer 1,2 GB/s, omdat we hf_xet hebben ingeschakeld en eerder een Hugging Face-token hebben toegevoegd. Anonieme downloads zijn meestal veel trager, dus authenticatie en transferacceleratie instellen maakt een groot verschil bij modellen op deze schaal.

het GLM-5 2-bitmodel downloaden

4. Start het GLM-5-model op de enkele GPU

Nu het model gedownload is en llama.cpp met CUDA-ondersteuning is gecompileerd, kunnen we GLM-5 starten met de ingebouwde llama-server.

Voer de volgende opdracht uit om de server te starten:

./llama.cpp/llama-server \
  --model models/GLM-5-GGUF/UD-Q2_K_XL/GLM-5-UD-Q2_K_XL-00001-of-00007.gguf \
  --alias "GLM-5" \
  --host 0.0.0.0 \
  --port 8080 \
  --jinja \
  --fit on \
  --threads 32 \
  --ctx-size 16384 \
  --batch-size 512 \
  --ubatch-size 128 \
  --flash-attn auto \
  --temp 0.7 \
  --top-p 0.95

Een paar belangrijke argumenten om te begrijpen:

  • --host 0.0.0.0 stelt de server open zodat je er via je browser bij kunt
  • --port 8080 komt overeen met de poort die we eerder in Runpod hebben geopend
  • --fit on zorgt voor maximaal GPU-gebruik voordat er naar RAM wordt overgelopen
  • --ctx-size 16384 stelt het contextvenster voor inferentie in
  • --flash-attn auto schakelt snellere attention-kernels in wanneer ondersteund

Wanneer je de server start, zie je dat llama.cpp bijna al het beschikbare GPU-geheugen gebruikt, met de resterende modellagen offloaded naar systeem-RAM. Dit is verwacht en werkt goed op H200-setups.

het GLM-5 2-bitmodel laden om de llama.cpp-server te starten

Het model zou binnen een minuut moeten laden en gaan serven. Als je pod aanzienlijk langer nodig heeft, kan er een probleem zijn met de instance. In dat geval is het meestal sneller om de pod te beëindigen en een nieuwe te starten.

GLM-5-inferenceserver serven

Als de server draait, controleer je of GLM-5 beschikbaar is door de OpenAI-compatibele endpoint te bevragen:

curl -s http://127.0.0.1:8080/v1/models | jq

Je zou "GLM-5" in de response moeten zien, wat bevestigt dat het model is geladen en klaar is voor gebruik.

{
  "models": [
    {
      "name": "GLM-5",
      "model": "GLM-5",
      "modified_at": "",
      "size": "",
      "digest": "",
      "type": "model",
      "description": "",
      "tags": [
        ""
      ],
      "capabilities": [
        "completion"
      ],
      "parameters": "",
      "details": {
        "parent_model": "",
        "format": "gguf",
        "family": "",
        "families": [
          ""
        ],
        "parameter_size": "",
        "quantization_level": ""
      }
    }
  ],
  "object": "list",
  "data": [
    {
      "id": "GLM-5",
      "object": "model",
      "created": 1770900487,
      "owned_by": "llamacpp",
      "meta": {
        "vocab_type": 2,
        "n_vocab": 154880,
        "n_ctx_train": 202752,
        "n_embd": 6144,
        "n_params": 753864139008,
        "size": 281373251584
      }
    }
  ]
}

5.  Test het GLM-5-model met de chat-UI

Als de server draait, kun je GLM-5 direct testen via de ingebouwde llama.cpp Chat UI.

Normaal is de WebUI lokaal beschikbaar op: http://127.0.0.1:8080

Omdat we echter op Runpod in de cloud draaien, werkt deze localhost-link niet vanaf jouw machine.

Ga in plaats daarvan naar je Runpod-dashboard en klik op de link HTTP Service voor poort 8080. Dit is de publieke URL die verkeer doorstuurt naar je draaiende llama-server.

Runpod-dashboard om de webUI te openenDie link opent de Chat UI, met het GLM-5-model al geladen en klaar.

llama.cpp WebUI

Stuur om te bevestigen dat alles werkt een simpel bericht zoals “Hey!!”. Je zou het model direct moeten zien reageren. 

In ons geval draait inferentie met ongeveer 8,7 tokens per seconde, wat uitstekend is gezien de grootte van GLM-5 en het gequantiseerde checkpoint van 281GB.

Het GLM-5-model testen op de Llama.cpp webUI

6. Installeer en koppel aan Aider

Aider is een terminalgebaseerde AI-pairprogrammingtool die direct in je projectmap werkt. 

Je chat ermee als met een codepartner, en het kan bestanden in je repo aanmaken, bewerken en refactoren, terwijl alles gegrond blijft in je daadwerkelijke codebase en git-workflow. 

Het ondersteunt ook koppelen aan elke OpenAI-compatibele API-endpoint, wat het een goede match maakt om tegen onze lokale llama.cpp-server te draaien.

Installeer eerst Aider:

pip install -U aider-chat

Wijs Aider vervolgens naar je lokale, OpenAI-compatibele llama.cpp-server. We stellen een dummy key in omdat llama.cpp geen echte OpenAI-sleutel vereist:

export OPENAI_API_BASE=http://127.0.0.1:8080/v1
export OPENAI_API_KEY=local
export OPENAI_BASE_URL=$OPENAI_API_BASE

Maak nu een nieuwe demoprojectmap aan (zodat Aider een schone repo heeft om in te werken):

mkdir -p glm5-demo-app
cd glm5-demo-app

Start ten slotte Aider en koppel het aan GLM-5 met de modelalias die we eerder hebben blootgesteld:

aider --model openai/GLM-5 --no-show-model-warnings

Vanaf nu gaat alles wat je in Aider vraagt via je lokale GLM-5-server, en Aider past wijzigingen direct toe op bestanden in glm5-demo-app.

lokale GLM-5 met Aider draaienGebruik GLM-5 als je code-agent

Als Aider is gekoppeld aan GLM-5, kun je het gebruiken als code-agent in je repo. Begin met een simpele begroeting om te bevestigen dat het snel reageert.

Eenvoudige begroeting in Aider

Geef het daarna een duidelijke taakprompt zoals deze:

Create a simple Python FastAPI project with one /health endpoint, a README, and instructions to run it locally.

Nadenken over de initiële prompt in Aider

Aider stelt eerst een plan voor en vraagt dan om toestemming om wijzigingen toe te passen.

Taakplan in Aider

Accepteer de wijzigingen en het genereert de bestanden automatisch. 

Bij een 2-bitquant zoals GLM-5-UD-Q2_K_XL kun je kleine foutjes zien, bijvoorbeeld het aanmaken van een bestand als pip install -r requirements.txt, wat een vergissing is. Het volledige model maakt deze fouten minder snel, maar het 2-bitmodel is nog steeds prima bruikbaar met een snelle menselijke review.

De projectbestanden maken in Aider

Wanneer Aider klaar is met het schrijven van het project, ga je de map in, installeer je de afhankelijkheden en start je de server:

cd glm5-demo-app/pip install -r requirements.txt

Start de FastAPI-app met Uvicorn:

uvicorn main:app --reload

De server draait op poort 8000. 

De FastAPI-server lokaal draaien.

Test de health-endpoint:

curl -s http://127.0.0.1:8000/health

Je zou dit moeten krijgen:

{"status":"ok"}

Tot slot

GLM-5 wordt snel een van de meest besproken open-weightmodellen in de AI-community, vooral omdat het open-sourceprestaties dichter bij die van propriëtaire modellen brengt en is ontworpen voor deep reasoning, agent-workflows en codetaken.

Ondanks alle hype is het lokaal draaien van fullscalemodellen nog steeds een uitdaging voor gewone gebruikers

Zelfs met quantization vereisen modellen zoals GLM-5 honderden gigabytes geheugen en snelle GPU’s, iets wat veel mensen thuis niet hebben. 

Dit betekent dat de meesten vertrouwen op cloud-GPU-pods (zoals de H200-setup in deze tutorial) of gehoste API-services. 

Het open-weightkarakter van GLM-5 is krachtig omdat je je eigen instance kunt hosten en beheren zonder afhankelijk te zijn van propriëtaire API-providers, maar het benadrukt ook waarom open source in AI niet magisch betekent dat het voor iedereen “op een laptop draait”. 

In deze tutorial zagen we hoe je die hardwarebarrières omzeilt met een 2-bit gequantiseerde versie van GLM-5 op een Runpod H200 GPU. We hebben het inrichten van de omgeving doorgenomen, llama.cpp met CUDA-ondersteuning gecompileerd, het model efficiënt gedownload, de inferenceserver gestart, deze via een browser-UI getest en tot slot een codingtool zoals Aider gekoppeld om GLM-5 als agent voor echte ontwikkelingstaken te gebruiken.

GLM-5 FAQs

Wat is GLM-5 en waarom is het belangrijk?

GLM-5 is Z.ai’s nieuwste open-reasoningmodel, speciaal ontworpen voor complexe taken zoals coderen, agent-workflows en chat met lange context. Met meer dan 750 miljard parameters is het een enorm Mixture-of-Experts (MoE)-model dat toonaangevende propriëtaire modellen evenaart in logica en probleemoplossing. Het is vooral opvallend door het vermogen om “one-shot” websitegeneratie en deep reasoning-taken aan te kunnen waar kleinere open-sourcemodellen vaak moeite mee hebben.

Is een 2-bit gequantiseerd model echt slim genoeg om te coderen?

Ja. Hoewel 2-bitquantization traditioneel performance schaadt, maakt de enorme schaal van GLM-5 het zeer bestand tegen compressie. Zelfs bij 2-bit-precisie behoudt het model het merendeel van zijn redeneercapaciteiten, waardoor het veel kleinere FP16-modellen (zoals Llama-3-70B) kan overtreffen bij complexe codetaken. Het is uitstekend voor logica en architectuur, al wordt aangeraden tools zoals Aider te gebruiken om kleine syntaxfoutjes op te vangen.

Hoe verschilt GLM-5 van eerdere versies zoals GLM-4?

Het grootste verschil is schaal en focus. GLM-5 is een generatie‑sprong in Deep Reasoning en agentische capaciteiten. Waar GLM-4 een sterke generalist was, werkt GLM-5 als een enorm MoE‑model (Mixture-of-Experts) dat is ontworpen om “na te denken” over meerstaps engineeringproblemen. Het beschikt ook over een aanzienlijk groter contextvenster (tot 200k in training), waardoor het veel geschikter is voor het analyseren van grote codebases of lange documenten.

Waarom moet ik llama.cpp uit bron compileren om dit te draaien?

Standaardreleases van llama.cpp lopen vaak achter op de allernieuwste modelarchitecturen. Omdat GLM-5 een specifieke variatie van de MoE-architectuur en nieuwe tensoroperaties gebruikt, zijn specifieke upstreamwijzigingen nodig die nog niet in de main branch zijn samengevoegd. Compileren vanuit bron met de CUDA-vlag zorgt dat je precies de kernels hebt die nodig zijn om de modellagen naar GPU’s zoals de NVIDIA H200 te offloaden; anders kan het model niet laden.

Ondersteunt GLM-5 "Thinking"- of "Reasoning"-proces-tokens?

Ja, GLM-5 wordt gepositioneerd als een open-reasoningmodel. Dit betekent dat het bij complexe vragen interne “denk”ketens kan genereren om problemen op te splitsen voordat een eindantwoord wordt gegeven. In combinatie met code-agents zoals Aider kan het model stap voor stap een refactor plannen of een cryptische fout debuggen, wat resulteert in hogere kwaliteit codegeneratie dan standaard “predict-the-next-token”-modellen.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Als gecertificeerd data scientist haal ik met passie het maximale uit de nieuwste technologie om innovatieve machinelearning-toepassingen te bouwen. Met een sterke achtergrond in spraakherkenning, data-analyse en -rapportage, MLOps, conversationele AI en NLP heb ik mijn vaardigheden aangescherpt in het ontwikkelen van intelligente systemen die echt impact maken. Naast mijn technische expertise ben ik ook een sterke communicator met een talent om complexe concepten terug te brengen tot heldere, beknopte taal. Daardoor ben ik uitgegroeid tot een veelgelezen blogger over data science, waar ik mijn inzichten en ervaringen deel met een groeiende community van data-professionals. Op dit moment richt ik me op contentcreatie en redactie, waarbij ik met large language models werk aan krachtige en aansprekende content die zowel bedrijven als individuen helpt het beste uit hun data te halen.

Onderwerpen

Top AI-cursussen

Leerpad

AI-ingenieur voor datawetenschappers

40 Hr
Train en verfijn de nieuwste AI-modellen voor productie, zoals LLM's zoals Llama 3. Begin vandaag nog aan je reis om AI-ingenieur te worden!
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien