Intermédiaire 11 minOllama

GLM-5 en local avec Ollama (le challenger chinois open-weights)

GLM-5 est la nouvelle famille open-weights de Zhipu AI (université de Tsinghua). Versions 9B et 32B, licence permissive, raisonnement solide, français correct et code respectable. Ce guide montre comment installer GLM-5 en local avec Ollama, mesure les performances réelles sur RTX 4070 et 4090, et le compare à Qwen3-32B et DeepSeek V3.2 sur les mêmes tâches.

Par Mohamed Meguedmi·Màj 2026-06-04·Testé sur Windows, macOS, Linux

#Pourquoi GLM-5 ?

GLM-5 n'a pas la notoriété de Qwen3 ou DeepSeek, mais c'est un des modèles chinois open-weights les plus aboutis sortis ces derniers mois. Le 9B vise les configurations modestes (12 Go de VRAM suffisent), le 32B s'adresse aux RTX 4090 et Mac Studio. Sur le papier, il revendique des scores proches de GPT-4o-mini sur MMLU et HumanEval, à la même taille que Qwen3-32B.

En pratique, GLM-5 brille sur trois axes : le raisonnement structuré (mode thinking similaire à celui de Qwen3), le français (sensiblement meilleur que Qwen3-9B sur des prompts complexes), et le code Python. Là où il déçoit : la fenêtre de contexte plafonne à 128k en local malgré une promesse de 1M, et la vision n'est pas intégrée (contrairement à GLM-4V).

i
GLM-5 vs GLM 5.1
Ce guide couvre GLM-5 (release initiale). GLM 5.1 (sortie ultérieure) corrige plusieurs régressions sur le code et améliore le suivi d'instructions. Si vous démarrez de zéro aujourd'hui, lisez aussi le guide GLM 5.1 du site avant d'arbitrer.

#Prérequis matériel

GLM-5 9B Q4_K_M
≈ 5,5 Go VRAM. RTX 3060 12 Go, RTX 4060 8 Go (offload partiel), Mac M2 16 Go unifié, toutes les RTX 4070+.
GLM-5 32B Q4_K_M
≈ 19 Go VRAM. RTX 4090 24 Go confortable, RTX 3090 24 Go aussi. Sur 16 Go (4080), il faut descendre en Q3_K_M.
GLM-5 32B Q5_K_M
≈ 22-23 Go VRAM. RTX 4090 tient, marge serrée. Préférez Q4_K_M si vous activez un long contexte.
Ollama 0.6.0+
Le support GLM-5 a été ajouté progressivement. Une version récente est nécessaire pour le tokenizer et le template de chat.
Disque
Comptez 6 Go (9B Q4) à 23 Go (32B Q5). Plus si vous gardez plusieurs quantizations en parallèle.

#1. Récupérer le modèle depuis Hugging Face

Zhipu AI publie les poids officiels sur Hugging Face sous l'organisation THUDM. Deux dépôts vous intéressent :

Dépôt officiel 9B
https://huggingface.co/THUDM/glm-5-9b-chat
Dépôt officiel 32B
https://huggingface.co/THUDM/glm-5-32b-chat

Ces dépôts contiennent les poids au format safetensors (FP16/BF16). Pour Ollama, il vous faut du GGUF. Deux options : télécharger un GGUF déjà converti par la communauté, ou convertir vous-même.

Raccourci : GGUF tout fait
Cherchez sur Hugging Face glm-5 GGUF — bartowski, mradermacher et lmstudio-community publient des conversions Q4_K_M, Q5_K_M et Q8_0 à jour. C'est l'option pragmatique pour 95 % des cas.

#2. GGUF et conversion si nécessaire

Si aucun GGUF officiel ou communautaire ne convient (variante exotique, quantization spécifique), la conversion passe par llama.cpp. La procédure standard :

Cloner llama.cpp et installer les deps
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
pip install -r requirements.txt
Convertir HF → GGUF FP16
python convert_hf_to_gguf.py /chemin/vers/glm-5-9b-chat \
  --outfile glm-5-9b-chat-f16.gguf \
  --outtype f16
Quantifier en Q4_K_M
./build/bin/llama-quantize \
  glm-5-9b-chat-f16.gguf \
  glm-5-9b-chat-Q4_K_M.gguf \
  Q4_K_M
!
Tokenizer GLM
GLM utilise un tokenizer SentencePiece dérivé. Si convert_hf_to_gguf.py râle sur des tokens spéciaux manquants, mettez llama.cpp à jour (le support GLM-5 a été ajouté dans une PR récente). Avec une version trop ancienne, la conversion réussit mais l'inférence produit du charabia.

#3. Installer GLM-5 dans Ollama (local)

Une fois le GGUF en main, Ollama l'importe via un Modelfile. Créez un fichier nommé Modelfile à côté du GGUF :

Modelfile pour GLM-5 9B
FROM ./glm-5-9b-chat-Q4_K_M.gguf

PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 32768
PARAMETER stop "<|user|>"
PARAMETER stop "<|endoftext|>"

TEMPLATE """[gMASK]<sop>{{ if .System }}<|system|>
{{ .System }}{{ end }}<|user|>
{{ .Prompt }}<|assistant|>
{{ .Response }}"""

SYSTEM """Tu es un assistant utile, précis et concis. Tu réponds en français sauf demande contraire."""

Puis créez le modèle dans Ollama, vérifiez qu'il s'enregistre, et lancez-le :

Création et lancement
ollama create glm5-9b -f Modelfile
ollama list
ollama run glm5-9b
Quand le support natif arrive
Si Ollama publie GLM-5 dans sa registry officielle (ollama run glm5 sans Modelfile), préférez-la : le template de chat sera maintenu en amont et vous éviterez les erreurs de stop tokens.

#4. Tester la qualité en français

Le français de GLM-5 est l'un de ses points forts pour un modèle entraîné majoritairement sur du chinois et de l'anglais. Trois prompts utiles pour évaluer rapidement :

  1. 01
    Raisonnement structuré
    « Une bouteille et son bouchon coûtent 1,10 €. La bouteille coûte 1 € de plus que le bouchon. Combien coûte le bouchon ? Détaille ton raisonnement. » GLM-5 9B devrait répondre 0,05 € en montrant l'équation.
  2. 02
    Synthèse longue
    Collez un article de 2000 mots et demandez un résumé en 5 points clés en français. Le 32B garde un fil clair, le 9B raccourcit trop sur le contexte étendu.
  3. 03
    Code Python contextuel
    « Écris une fonction Python qui parse un CSV avec délimiteur ;, gère les guillemets et renvoie un générateur de dict. Pas de pandas. » GLM-5 produit du code propre et idiomatique, là où Qwen3-9B a tendance à importer csv sans gérer les guillemets correctement.
i
Mode thinking
GLM-5 a un mode de chaîne de pensée activable via un préfixe système (consultez le model card sur HF pour le format exact). Activé, la qualité du raisonnement monte d'un cran — au prix d'environ 30-40 % de tokens en plus.

#5. Tokens/sec mesurés sur RTX 4070 et 4090

Mesures faites avec Ollama 0.6.x, OLLAMA_FLASH_ATTENTION=1, contexte 8k, prompt de 500 tokens, génération de 300 tokens. Moyenne sur 5 runs.

RTX 4070 12 Go — GLM-5 9B Q4_K_M
≈ 55-60 tokens/sec. Confortable pour du chat, le modèle reste 100 % en VRAM.
RTX 4070 12 Go — GLM-5 9B Q5_K_M
≈ 48-52 tokens/sec. Léger gain qualité, perte de vitesse mesurée.
RTX 4090 24 Go — GLM-5 9B Q4_K_M
≈ 110-120 tokens/sec. Largement surdimensionné pour le 9B.
RTX 4090 24 Go — GLM-5 32B Q4_K_M
≈ 22-26 tokens/sec. Le cas d'usage cible : qualité 32B à un débit utilisable interactif.
RTX 4090 24 Go — GLM-5 32B Q5_K_M
≈ 18-22 tokens/sec. Marge VRAM serrée si contexte > 16k.
Mac M4 Pro 48 Go — GLM-5 32B Q4_K_M
≈ 12-15 tokens/sec. Acceptable pour des tâches non-streaming (synthèse, analyse).
Activez Flash Attention
OLLAMA_FLASH_ATTENTION=1 dans l'environnement gagne 10-15 % sur GLM-5 32B et stabilise la VRAM en contexte long. Couplé à OLLAMA_KV_CACHE_TYPE=q8_0, vous libérez 2-3 Go supplémentaires sans dégradation visible.

#GLM-5 vs Qwen3-32B vs DeepSeek V3.2

Sur un même prompt, sur la même machine, voici ce qu'on observe en pratique. C'est une lecture qualitative, pas un benchmark normalisé — prenez-le comme une boussole, pas comme une vérité absolue.

Français général
Qwen3-32B ≥ GLM-5 32B > DeepSeek V3.2 (en mode rapide). Qwen3 reste devant sur la fluidité, GLM-5 est très proche, DeepSeek V3.2 hallucine plus en français.
Raisonnement structuré
GLM-5 32B (mode thinking) ≈ Qwen3-32B (thinking). DeepSeek V3.2 est devant si on lui laisse activer son thinking long, mais à 3-5x le coût en tokens.
Code Python
Qwen3-Coder > GLM-5 32B > DeepSeek V3.2 ≈ Qwen3-32B. Pour du code dédié, restez sur Qwen3-Coder. GLM-5 32B est honnête en généraliste.
Vitesse à VRAM égale (24 Go)
GLM-5 32B Q4 ≈ Qwen3-32B Q4 (~25 tok/s). DeepSeek V3.2 ne tient pas en 24 Go : c'est un 685B MoE, hors compétition pour ce palier.
Empreinte disque
GLM-5 32B Q4 ≈ 19 Go. Qwen3-32B Q4 ≈ 20 Go. DeepSeek V3.2 ≈ 380 Go Q4 — hors-jeu sans cluster.
i
Verdict pratique
Si vous avez 24 Go de VRAM et que vous voulez un modèle 32B généraliste, l'arbitrage se joue entre GLM-5 et Qwen3. GLM-5 est plus intéressant pour le raisonnement structuré et pour sortir un peu du sentier battu, Qwen3-32B reste la valeur sûre. DeepSeek V3.2 reste un modèle d'API ou de gros serveur — pas de débat à 24 Go.

#Dépannage

Sortie en charabia ou en chinois pur
Tokenizer mal converti, ou template incorrect. Vérifiez la version de llama.cpp utilisée pour la conversion, et que le Modelfile inclut bien les balises <|user|>, <|assistant|>, [gMASK]<sop>.
Stop tokens ignorés (réponse infinie)
Ajoutez PARAMETER stop "<|endoftext|>" et PARAMETER stop "<|user|>" dans le Modelfile. Sans ça, le modèle peut enchaîner des tours de dialogue fictifs.
OOM en contexte long sur RTX 4090
Le cache KV explose au-delà de 32k. Activez OLLAMA_KV_CACHE_TYPE=q8_0 (gain ~40 % de VRAM cache) ou réduisez num_ctx.
Vitesse < 10 tok/s en 9B sur 4070
Le modèle a débordé en RAM. Vérifiez avec ollama ps : la colonne PROCESSOR doit afficher 100 % GPU. Si CPU apparaît, baissez num_ctx ou passez en Q3_K_M.
Mode thinking trop verbeux
GLM-5 peut produire de longues chaînes de pensée. Pour les couper, demandez explicitement « réponse directe sans raisonnement intermédiaire » dans le system prompt.

#Pour aller plus loin

GLM-5 mérite un peu d'investissement pour en tirer le maximum. Trois directions utiles :

Choisir la bonne quantification
Q4_K_M est le sweet spot par défaut mais GLM-5 32B en Q5_K_M tient sur 24 Go avec un contexte raisonnable et améliore notablement le code.
Personnaliser via Modelfile
System prompt, template de réponse, paramètres de sampling : un Modelfile bien réglé évite de répéter les consignes à chaque session.
Comparer avec Qwen3 en conditions réelles
Le guide Qwen3-32B vs GLM-5 (à venir) propose un protocole de comparaison sur 30 prompts représentatifs (FR, code, raisonnement, synthèse).

Matériel recommandé : Mac mini M4 ProGLM-5 32B y tourne (config 48 Go mesurée dans ce guide). Tout le matériel IA →

Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.