Weiter zum Inhalt

GLM-5 lokal für agentisches Coding ausführen

Führe GLM-5, das führende Open-Weight-KI-Modell, mit llama.cpp auf einer einzelnen GPU aus und verbinde es mit Aider – für einen mächtigen lokalen Coding-Agenten.
Aktualisiert 22. Apr. 2026  · 8 Min. lesen

GLM-5 ist Z.ai’s neuestes Open-Reasoning-Modell und hat dank seiner starken Leistung beim Programmieren, in Agent-Workflows und in langen Chats schnell Aufmerksamkeit erregt. 

Viele Entwickler nutzen es bereits, um Websites in einem Rutsch zu erstellen, kleine Apps zu bauen und mit lokalen KI-Agenten zu experimentieren.

Die Herausforderung: GLM-5 ist ein sehr großes Modell, und die lokale Ausführung ist auf Consumer-Hardware kaum realistisch. Selbst quantisierte Versionen benötigen Hunderte Gigabyte Speicher und eine leistungsfähige GPU-Umgebung.

In diesem Tutorial zeigen wir einen pragmatischen Weg, GLM-5 lokal mit einer 2-Bit-GGUF-Quantisierung auf einem NVIDIA-H200-Pod auszuführen, es über llama.cpp bereitzustellen und mit Aider zu verbinden, sodass du GLM-5 als echten Coding-Agenten direkt in deinen Projekten einsetzen kannst.

Ich empfehle außerdem unseren Leitfaden zum lokalen Ausführen von GLM 4.7 Flash.

Voraussetzungen: Das brauchst du für GLM-5

Bevor du GLM-5 lokal ausführst, brauchst du die passende Modellvariante, genug Speicher zum Laden und eine funktionierende GPU-Software-Stack.

Hardware-Anforderungen je nach Quantisierungsgröße:

  • 2 Bit (281 GB): passt auf ein System mit ca. 300 GB Unified Memory oder läuft gut mit 1×24-GB-GPU + ca. 300 GB RAM per MoE-Offloading
  • 1 Bit: passt in ca. 180 GB RAM
  • 8 Bit: benötigt ca. 805 GB RAM

Für die beste Performance sollten VRAM + System-RAM zusammen in etwa der Quantisierungsgröße entsprechen. Andernfalls kann llama.cpp auf SSD auslagern, was die Inferenz jedoch verlangsamt. Verwende --fit in llama.cpp, um die GPU-Auslastung zu maximieren.

In unserem Setup betreiben wir GLM-5-UD-Q2_K_XL auf einer NVIDIA H200 mit ausreichend VRAM und System-RAM, um das Modell effizient zu laden.

Software-Voraussetzungen:

  • Installierte GPU-Treiber
  • CUDA Toolkit
  • Eine funktionierende Python-Umgebung

So führst du GLM-5 lokal aus

Hier findest du die Schritt-für-Schritt-Anleitung, um GLM-5 lokal auszuführen: 

1. Lokale Umgebung einrichten

Selbst die 1-Bit-Version von GLM-5 ist für die meisten Consumer-Laptops zu groß. Für dieses Tutorial nutze ich daher Runpod mit einer NVIDIA H200 GPU.

Erstelle zunächst einen neuen Pod und wähle das neueste PyTorch-Template.

Pod template at the Runpod

Klicke dann auf Edit, um die Pod-Einstellungen anzupassen:

  • Erhöhe die Volume-Disk-Größe auf 500 GB, da unser 2-Bit-Modell ~280 GB hat und wir zusätzlichen Platz für Builds und Experimente benötigen.
  • Öffne Port 8080, damit du die llama.cpp-Chat-UI direkt im Browser nutzen kannst.
  • Füge deinen Hugging Face Token als Umgebungsvariable hinzu, um Downloads zu beschleunigen (du kannst den Token in deinem Hugging Face Account generieren).

modifying the pod template

Wenn alles passt, prüfe die Pod-Übersicht und klicke auf Deploy On-Demand.

pod summary on runpod

Sobald der Pod bereit ist, öffne JupyterLab, starte ein Terminal und arbeite von dort. Das Jupyter-Terminal ist praktisch, weil du mehrere Sessions reibungslos ohne SSH laufen lassen kannst.

launching the terminal in the Jupyter Lab in Runpod

Prüfe zuerst, ob die GPU verfügbar ist:

nvidia-smi 

Du solltest die H200 in der Ausgabe sehen.

nvidia-smi of the H200 GPU

Installiere als Nächstes die benötigten Linux-Pakete zum Klonen und Bauen von llama.cpp:

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

2. llama.cpp mit CUDA-Unterstützung kompilieren

Jetzt, da die Runpod-Umgebung steht und die GPU funktioniert, installierst und kompilierst du llama.cpp mit CUDA-Beschleunigung, damit GLM-5 effizient auf der H200 läuft.

Wechsle zunächst ins Workspace-Verzeichnis und klone das offizielle llama.cpp-Repository:

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

Wichtig: Der neueste stabile Release von llama.cpp unterstützt GLM-5 noch nicht vollständig out of the box. Du musst einen bestimmten Upstream-Pull-Request einziehen, der die notwendigen Änderungen für die Kompatibilität enthält.

Hole und checke den aktualisierten Branch aus:

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

Als Nächstes konfigurieren wir das Build-System, damit llama.cpp mit aktiviertem CUDA kompiliert wird. So nutzt das Modell die GPU statt komplett auf der CPU zu laufen.

Führe CMake mit aktiviertem CUDA-Flag aus:

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

Buildign the llama.cpp build file.

Damit wird ein eigenes build/-Verzeichnis erstellt und sichergestellt, dass die llama.cpp-Server-Binaries die Ausführung auf NVIDIA-GPUs unterstützen.

Sobald die Konfiguration steht, baue das Target llama-server:

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

installing llama.cpp

Dieser Schritt kann je nach Pod ein paar Minuten dauern. Danach hast du ein CUDA-fähiges Server-Binary, das bereit ist, GLM-5 auszuführen.

Kopiere zum Schluss die kompilierten Executables ins Hauptverzeichnis für den bequemen Zugriff:

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

3. GLM-5-Modell von Hugging Face herunterladen

Nachdem llama.cpp kompiliert ist, lädst du als Nächstes die GLM-5-GGUF-Modelldateien von Hugging Face herunter.

Da diese Checkpoints extrem groß sind, solltest du die schnellsten Download-Methoden aktivieren. 

Hugging Face bietet optionale Tools wie hf_xet und hf_transfer, die die Downloadgeschwindigkeit deutlich erhöhen, vor allem auf Cloud-Maschinen wie Runpod.

Installiere zunächst die erforderlichen Hugging-Face-Downloadtools:

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

Diese Pakete ermöglichen schnellere parallele Downloads und bessere Performance beim Herunterladen von Hunderten Gigabyte an Modell-Shards.

Lade nun die in diesem Tutorial genutzte quantisierte Modellvariante herunter. Wir wollen nur die UD-Q2_K_XL-Dateien, nicht den kompletten Upload:

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

Das Modell wird direkt im Verzeichnis models/GLM-5-GGUF gespeichert.

In unserem Setup erreichen die Downloads ca. 1,2 GB/s, weil wir hf_xet aktiviert und zuvor einen Hugging-Face-Token hinterlegt haben. Anonyme Downloads sind meist deutlich langsamer – Authentifizierung und Transferbeschleunigung machen bei dieser Modellgröße einen großen Unterschied.

downloading the GLM-5 2 bit model

4. GLM-5 auf einer einzelnen GPU starten

Nachdem das Modell heruntergeladen und llama.cpp mit CUDA-Unterstützung kompiliert ist, können wir GLM-5 mit dem integrierten llama-server starten.

Starte den Server mit folgendem Befehl:

./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

Einige wichtige Argumente:

  • --host 0.0.0.0 macht den Server von außen erreichbar
  • --port 8080 entspricht dem zuvor in Runpod geöffneten Port
  • --fit on sorgt für maximale GPU-Nutzung, bevor auf RAM ausgelagert wird
  • --ctx-size 16384 setzt das Kontextfenster für die Inferenz
  • --flash-attn auto aktiviert schnellere Attention-Kernel, wenn verfügbar

Beim Start nutzt llama.cpp nahezu den gesamten verfügbaren GPU-Speicher; verbleibende Modellschichten werden in den System-RAM ausgelagert. Das ist zu erwarten und funktioniert auf H200-Setups gut.

loading the GLM-5 2bit model to start the llama.cpp server

Das Modell sollte in unter einer Minute laden und Anfragen bedienen. Dauert es deutlich länger, könnte es an der Instanz liegen – dann ist es meist schneller, den Pod zu beenden und neu zu starten.

serving GLM-5 inference server

Wenn der Server läuft, prüfe die Verfügbarkeit von GLM-5 über den OpenAI-kompatiblen Endpoint:

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

Du solltest in der Antwort "GLM-5" sehen – damit ist bestätigt, dass das Modell geladen und einsatzbereit ist.

{
  "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.  GLM-5 über die Chat-UI testen

Wenn der Server läuft, kannst du GLM-5 direkt über die integrierte llama.cpp-Chat-UI testen.

Normalerweise ist die WebUI lokal unter: http://127.0.0.1:8080 erreichbar.

Da wir jedoch auf Runpod in der Cloud laufen, funktioniert dieser Localhost-Link von deinem Rechner aus nicht.

Gehe stattdessen in dein Runpod-Dashboard und klicke auf den Link HTTP Service für Port 8080. Das ist die öffentliche URL, die auf deinen laufenden llama-server weiterleitet.

Runpod dashboard to access the webUIBeim Öffnen landest du in der Chat-UI, mit dem bereits geladenen und einsatzbereiten GLM-5-Modell.

llama.cpp WebUI

Sende zur Kontrolle eine einfache Nachricht wie „Hey!!“. Das Modell sollte direkt reagieren. 

Bei uns läuft die Inferenz mit rund 8,7 Tokens pro Sekunde – stark, gemessen an der Größe von GLM-5 und dem 281-GB-quantisierten Checkpoint.

Testing the GLM-5 model on the Llama.cpp webUI

6. Aider installieren und verbinden

Aider ist ein terminalbasiertes Pair-Programming-Tool mit KI, das direkt in deinem Projektordner arbeitet. 

Du unterhältst dich damit wie mit einem Coding-Partner. Es kann Dateien im gesamten Repo erstellen, bearbeiten und refaktorisieren – stets auf Basis deines echten Codebestands und Git-Workflows. 

Es unterstützt zudem jede OpenAI-kompatible API, was es ideal macht, um gegen unseren lokalen llama.cpp-Server zu laufen.

Installiere zuerst Aider:

pip install -U aider-chat

Richte Aider dann auf deinen lokalen, OpenAI-kompatiblen llama.cpp-Server aus. Wir setzen einen Dummy-Key, da llama.cpp keinen echten OpenAI-Key verlangt:

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

Erstelle jetzt einen frischen Demo-Projektordner (damit Aider ein sauberes Repo hat):

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

Starte abschließend Aider und verbinde es mit GLM-5 über den zuvor vergebenen Alias:

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

Ab jetzt läuft alles, was du in Aider fragst, über deinen lokalen GLM-5-Server, und Aider nimmt Änderungen direkt in den Dateien von glm5-demo-app vor.

running local GLM-5 with AiderNutze GLM-5 als deinen Coding-Agenten

Sobald Aider mit GLM-5 verbunden ist, kannst du es wie einen Coding-Agenten in deinem Repo verwenden. Starte mit einer kurzen Begrüßung, um die Reaktionszeit zu prüfen.

Simple greeting in Aider

Gib ihm anschließend eine klare Aufgabe, zum Beispiel:

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

Thinking about the initial prompt in Aider

Aider schlägt zunächst einen Plan vor und fragt dann um Erlaubnis, die Änderungen anzuwenden.

Task plan in the Aider

Bestätige die Änderungen, und die Dateien werden automatisch erzeugt. 

Bei einer 2-Bit-Quantisierung wie GLM-5-UD-Q2_K_XL können kleine Fehler auftreten, etwa dass eine Datei wie pip install -r requirements.txt angelegt wird – das ist natürlich falsch. Das Vollmodell macht solche Fehler seltener, doch auch das 2-Bit-Modell ist mit kurzem Human-in-the-Loop sehr gut nutzbar.

Creating the project files in Aider

Wenn Aider das Projekt fertig geschrieben hat, wechsle in den Ordner, installiere die Abhängigkeiten und starte den Server:

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

Starte die FastAPI-App mit Uvicorn:

uvicorn main:app --reload

Der Server läuft auf Port 8000. 

Running the FastAPI server locally.

Teste den Health-Endpoint:

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

Du solltest Folgendes erhalten:

{"status":"ok"}

Fazit

GLM-5 entwickelt sich rasant zu einem der meistdiskutierten Open-Weight-Modelle in der KI-Community, weil es die Open-Source-Performance näher an proprietäre Modelle bringt und zugleich für Deep Reasoning, agentische Workflows und Coding-Aufgaben ausgelegt ist.

Trotz des Hypes ist das lokale Ausführen von großen Modellen für die meisten weiterhin eine Hürde

Selbst mit Quantisierung verlangen Modelle wie GLM-5 Hunderte Gigabyte Speicher und schnelle GPUs – etwas, das viele zu Hause nicht haben. 

Die meisten greifen daher auf Cloud-GPU-Pods (wie das H200-Setup in diesem Tutorial) oder gehostete API-Services zurück. 

Der Open-Weight-Charakter von GLM-5 ist stark, weil du deine eigene Instanz hosten und kontrollieren kannst, ohne von proprietären API-Anbietern abzuhängen. Gleichzeitig zeigt er aber auch, dass Open Source in der KI nicht automatisch bedeutet, dass es „auf dem Laptop“ für alle läuft. 

In diesem Tutorial haben wir gezeigt, wie man diese Hardware-Hürden mit einer 2-Bit-quantisierten Version von GLM-5 auf einer Runpod-H200-GPU überwindet. Wir sind die Einrichtung der Umgebung durchgegangen, das Kompilieren von llama.cpp mit CUDA-Unterstützung, das effiziente Herunterladen des Modells, das Starten des Inferenzservers, das Testen über die Browser-UI und schließlich die Verbindung eines Coding-Tools wie Aider, um GLM-5 als Agent für echte Entwicklungsaufgaben zu nutzen.

GLM-5 FAQs

What is GLM-5 and why is it important?

GLM-5 ist Z.ai’s neuestes Open-Reasoning-Modell, speziell entwickelt für komplexe Aufgaben wie Programmierung, agentische Workflows und lange Kontexte in Chats. Mit über 750 Milliarden Parametern ist es ein massives Mixture-of-Experts-(MoE)-Modell, das in Logik und Problemlösung mit führenden proprietären Modellen mithalten kann. Besonders bemerkenswert ist seine Fähigkeit, „One-Shot“-Website-Generierung und tiefes Reasoning zu bewältigen, woran kleinere Open-Source-Modelle häufig scheitern.

Is a 2-bit quantized model actually smart enough for coding?

Ja. Obwohl 2-Bit-Quantisierung traditionell die Leistung schmälert, macht die schiere Größe von GLM-5 das Modell sehr robust gegen Kompression. Selbst bei 2-Bit-Präzision behält es den Großteil seiner Reasoning-Fähigkeiten und übertrifft in komplexen Coding-Aufgaben viele kleinere FP16-Modelle (wie Llama-3-70B). Es ist hervorragend für Logik und Architektur geeignet, wobei Tools wie Aider empfohlen sind, um kleinere Syntaxfehler abzufangen.

How does GLM-5 differ from previous versions like GLM-4?

Der größte Unterschied liegt in Skalierung und Fokus. GLM-5 ist ein Generationssprung in Deep Reasoning und agentischen Fähigkeiten. Während GLM-4 ein starker Generalist war, arbeitet GLM-5 als massives MoE-Modell, das mehrstufige Engineering-Probleme „denkend“ löst. Zudem verfügt es über ein deutlich größeres Kontextfenster (im Training bis zu 200k), was es für die Analyse großer Codebasen oder langer Dokumente klar im Vorteil macht.

Why do I need to compile llama.cpp from source to run this?

Standard-Releases von llama.cpp hängen oft den neuesten Modellarchitekturen hinterher. Da GLM-5 eine spezielle MoE-Variante und neue Tensor-Operationen nutzt, benötigt es bestimmte Upstream-Änderungen, die noch nicht in den Main-Branch gemergt wurden. Das Kompilieren aus dem Source mit dem CUDA-Flag stellt sicher, dass die passenden Kernel für das Offloading der Modellschichten auf GPUs wie die NVIDIA H200 vorhanden sind – sonst kann das Modell möglicherweise nicht geladen werden.

Does GLM-5 support "Thinking" or "Reasoning" process tokens?

Ja, GLM-5 wird als Open-Reasoning-Modell vermarktet. Das bedeutet: Bei komplexen Anfragen kann es interne „Denk“-Ketten erzeugen, um Probleme vor der finalen Antwort in Teilschritte zu zerlegen. In Kombination mit Coding-Agenten wie Aider kann das Modell etwa eine Refaktorierung planen oder kryptische Fehler Schritt für Schritt debuggen – mit hochwertigerem Code als bei reinen „Next-Token“-Modellen.


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

Als zertifizierter Data Scientist ist es meine Leidenschaft, modernste Technologien zu nutzen, um innovative Machine Learning-Anwendungen zu entwickeln. Mit meinem fundierten Hintergrund in den Bereichen Spracherkennung, Datenanalyse und Reporting, MLOps, KI und NLP habe ich meine Fähigkeiten bei der Entwicklung intelligenter Systeme verfeinert, die wirklich etwas bewirken können. Neben meinem technischen Fachwissen bin ich auch ein geschickter Kommunikator mit dem Talent, komplexe Konzepte in eine klare und prägnante Sprache zu fassen. Das hat dazu geführt, dass ich ein gefragter Blogger zum Thema Datenwissenschaft geworden bin und meine Erkenntnisse und Erfahrungen mit einer wachsenden Gemeinschaft von Datenexperten teile. Zurzeit konzentriere ich mich auf die Erstellung und Bearbeitung von Inhalten und arbeite mit großen Sprachmodellen, um aussagekräftige und ansprechende Inhalte zu entwickeln, die sowohl Unternehmen als auch Privatpersonen helfen, das Beste aus ihren Daten zu machen.

Themen

Top-Kurse zu KI

Lernpfad

Associate AI Engineer für Datenwissenschaftler

40 Std.
Trainiere und stimme die neuesten KI-Modelle für die Produktion ab, einschließlich LLMs wie Llama 3. Beginne deine Reise zum KI-Ingenieur noch heute!
Details anzeigenRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Blog

Arten von KI-Agenten: Ihre Rollen, Strukturen und Anwendungen verstehen

Lerne die wichtigsten Arten von KI-Agenten kennen, wie sie mit ihrer Umgebung interagieren und wie sie in verschiedenen Branchen eingesetzt werden. Verstehe einfache reflexive, modellbasierte, zielbasierte, nutzenbasierte, lernende Agenten und mehr.

Blog

Die 36 wichtigsten Fragen und Antworten zum Thema generative KI für 2026

Dieser Blog hat eine ganze Reihe von Fragen und Antworten zu generativer KI, von den Grundlagen bis hin zu fortgeschrittenen Themen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Tutorial

Python-Lambda-Funktionen: Ein Leitfaden für Anfänger

Lerne mehr über Python-Lambda-Funktionen, wozu sie gut sind und wann man sie benutzt. Enthält praktische Beispiele und bewährte Methoden für eine effektive Umsetzung.
Mark Pedigo's photo

Mark Pedigo

Tutorial

Python Switch Case Statement: Ein Leitfaden für Anfänger

Erforsche Pythons match-case: eine Anleitung zu seiner Syntax, Anwendungen in Data Science und ML sowie eine vergleichende Analyse mit dem traditionellen switch-case.
Matt Crabtree's photo

Matt Crabtree

Tutorial

30 coole Python-Tricks für besseren Code mit Beispielen

Wir haben 30 coole Python-Tricks zusammengestellt, mit denen du deinen Code verbessern und deine Python-Kenntnisse ausbauen kannst.
Kurtis Pykes 's photo

Kurtis Pykes

Tutorial

Python-Anweisungen IF, ELIF und ELSE

In diesem Tutorial lernst du ausschließlich Python if else-Anweisungen kennen.
Sejal Jaiswal's photo

Sejal Jaiswal

Mehr anzeigenMehr anzeigen