GLM-4.6 : Guide d'exécution locale
Un guide sur la façon d'exécuter les modèles GLM-4.6 et GLM-4.6V-Flash de Z.ai sur votre propre appareil local !
GLM-4.6 et GLM-4.6V-Flash sont les derniers modèles de raisonnement de Z.ai, obtenant des performances SOTA sur les benchmarks de codage et d'agents tout en offrant des discussions conversationnelles améliorées. GLM-4.6V-Flash le plus petit modèle 9B a été publié en décembre 2025 et vous pouvez également l'exécuter maintenant.
Le modèle complet de 355 milliards de paramètres nécessite 400 Go d'espace disque, tandis que le GGUF dynamique 2 bits Unsloth réduit la taille à 135Go (-75%). GLM-4.6-GGUF
Nous avons réalisé plusieurs corrections du template de chat pour GLM-4.6 afin de faire llama.cpp/llama-cli --jinja fonctionner - veuillez n'utiliser --jinja sinon la sortie sera incorrecte !
Vous avez demandé des benchmarks sur nos quants, nous présentons donc les résultats Aider Polyglot ! Nos scores Dynamic 3-bit DeepSeek V3.1 GGUF 75.6%, dépassant de nombreux LLM SOTA en pleine précision. En savoir plus.
Tous les téléversements utilisent Unsloth Dynamic 2.0 pour des performances SOTA en MMLU 5-shot et Aider, ce qui signifie que vous pouvez exécuter et affiner des LLM GLM quantifiés avec une perte d'exactitude minimale.
Navigation des tutoriels :
Exécuter GLM-4.6V-FlashExécuter GLM-4.6
🐛Modèle de chat Unsloth et corrections de bugs
L'une des corrections importantes que nous avons apportées traite un problème avec l'amorçage des GGUF, où la deuxième invite ne fonctionnait pas. Nous avons corrigé ce problème ; cependant, ce problème persiste dans les GGUF sans nos corrections. Par exemple, lors de l'utilisation de n'importe quel GGUF GLM-4.6 non-Unsloth, la première conversation fonctionne correctement, mais la seconde échoue.

Nous avons résolu cela dans notre modèle de chat, donc lors de l'utilisation de notre version, les conversations au-delà de la seconde (troisième, quatrième, etc.) fonctionnent sans erreurs. Il subsiste encore quelques problèmes avec l'appel d'outils, que nous n'avons pas entièrement investigués en raison de limitations de bande passante. Nous avons déjà informé l'équipe GLM de ces problèmes restants.
🔎Particularités et corrections de GLM 4.6V Flash
GLM-4.6V-Flash peut raisonner et produire des sorties en chinois. Cela n'est pas unique à nos quants, mais une particularité du modèle. Utilisez une invite système « Répondre en anglais et raisonner en anglais » pour forcer le raisonnement et les sorties en anglais !
Nous avons testé les quants BF16 et Q8_0 d'autres fournisseurs de quant, et tous semblent raisonner en chinois. Par exemple, 2 quants distincts avec la graine 3407 et la même invite « Create a Flappy Bird game in Python » montrent un raisonnement en chinois :


En utilisant une invite système « Reason in English » via --system-prompt "Respond in English" dans llama.cpp, c.-à-d. comme ci-dessous :
Nous obtenons un raisonnement en chinois, mais des sorties en anglais. Nous posons également une question de suivi « What is 1+1 » et obtenons uniquement l'anglais :

Et enfin, en utilisant une invite système « Respond in English and reason in English » via --system-prompt "Respond in English and reason in English" dans llama.cpp, c.-à-d. comme ci-dessous :
Nous obtenons un raisonnement en anglais et des sorties en anglais ! Nous posons également une question de suivi « What is 1+1 » et obtenons uniquement l'anglais :

⚙️ Guide d'utilisation
La quantification dynamique 2 bits UD-Q2_K_XL utilise 135 Go d'espace disque - cela fonctionne bien sur une carte 1x24Go et 128 Go de RAM avec déchargement MoE. Le GGUF 1 bit UD-TQ1 fonctionne également nativement dans Ollama!
Vous devez utiliser --jinja pour les quants llama.cpp - cela utilise nos modèles de chat fixes et active le bon modèle ! Vous pourriez obtenir des résultats incorrects si vous n'utilisez pas --jinja
Les quants 4 bits tiendront dans un GPU 1x40Go (avec les couches MoE déchargées en RAM). Attendez-vous à environ 5 tokens/s avec cette configuration si vous disposez en plus de 165 Go de RAM. Il est recommandé d'avoir au moins 205 Go de RAM pour exécuter ce quant 4 bits. Pour des performances optimales, vous aurez besoin d'au moins 205 Go de mémoire unifiée ou 205 Go combinés RAM+VRAM pour 5+ tokens/s. Pour apprendre à augmenter la vitesse de génération et gérer des contextes plus longs, lisez ici.
Bien que ce ne soit pas indispensable, pour de meilleures performances, faites en sorte que la VRAM + la RAM combinées soit égale à la taille de la quantification que vous téléchargez. Sinon, le déchargement sur disque dur/SSD fonctionnera avec llama.cpp, seule l'inférence sera plus lente.
Paramètres recommandés
Selon Z.ai, il existe différents paramètres pour l'inférence GLM-4.6V-Flash et GLM-4.6 :
température = 0.8
temperature = 1.0
top_p = 0.6 (recommandé)
top_p = 0.95 (recommandé pour le codage)
top_k = 2 (recommandé)
top_k = 40 (recommandé pour le codage)
longueur de contexte 128K ou moins
longueur de contexte 200K ou moins
repeat_penalty = 1.1
max_generate_tokens = 16 384
max_generate_tokens = 16 384
Utilisez
--jinjapour les variantes llama.cpp - nous avons corrigé certains problèmes de modèles de chat aussi !
Exécuter les tutoriels GLM-4.6 :
Voir nos guides étape par étape pour exécuter GLM-4.6V-Flash et le grand GLM-4.6 modèles.
GLM-4.6V-Flash
NOUVEAU au 16 déc. 2025 : GLM-4.6-V est maintenant mis à jour avec le support vision !
✨ Exécuter dans llama.cpp
Obtenez le dernier llama.cpp sur GitHub. Vous pouvez également utiliser les instructions de build ci-dessous. Changez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous voulez simplement une inférence CPU.
Si vous voulez utiliser llama.cpp directement pour charger des modèles, vous pouvez faire ce qui suit : (:Q8_K_XL) est le type de quantification. Vous pouvez aussi télécharger via Hugging Face (point 3). C'est similaire à ollama run . Utilisez export LLAMA_CACHE="folder" pour forcer llama.cpp à enregistrer dans un emplacement spécifique. Rappelez-vous que le modèle a seulement une longueur de contexte maximale de 128K.
Téléchargez le modèle via (après avoir installé pip install huggingface_hub hf_transfer ). Vous pouvez choisir UD-Q4_K_XL (quantification dynamique 4 bits) ou d'autres versions quantifiées comme Q8_K_XL .
GLM-4.6
🦙 Exécuter dans Ollama
Installez ollama si vous ne l'avez pas encore fait ! Pour exécuter plus de variantes du modèle, voir ici.
Exécutez le modèle ! Notez que vous pouvez appeler ollama servedans un autre terminal s'il échoue ! Nous incluons toutes nos corrections et paramètres suggérés (température, etc.) dans params dans notre téléversement Hugging Face !
Pour exécuter d'autres quants, vous devez d'abord fusionner les fichiers GGUF divisés en 1 comme dans le code ci-dessous. Ensuite, vous devrez exécuter le modèle localement.
✨ Exécuter dans llama.cpp
Obtenez le dernier llama.cpp sur GitHub ici. Vous pouvez suivre les instructions de compilation ci-dessous également. Changez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous voulez simplement une inférence CPU.
Si vous voulez utiliser llama.cpp directement pour charger des modèles, vous pouvez faire ce qui suit : (:Q2_K_XL) est le type de quantification. Vous pouvez aussi télécharger via Hugging Face (point 3). C'est similaire à ollama run . Utilisez export LLAMA_CACHE="folder" pour forcer llama.cpp à enregistrer dans un emplacement spécifique. Rappelez-vous que le modèle a seulement une longueur de contexte maximale de 128K.
Veuillez essayer -ot ".ffn_.*_exps.=CPU" pour décharger toutes les couches MoE vers le CPU ! Cela vous permet effectivement de faire tenir toutes les couches non-MoE sur 1 GPU, améliorant les vitesses de génération. Vous pouvez personnaliser l'expression regex pour décharger plus de couches si vous disposez de plus de capacité GPU.
Si vous avez un peu plus de mémoire GPU, essayez -ot ".ffn_(up|down)_exps.=CPU" Cela décharge les couches MoE de projection up et down.
Essayez -ot ".ffn_(up)_exps.=CPU" si vous avez encore plus de mémoire GPU. Cela ne décharge que les couches MoE de projection up.
Et enfin déchargez toutes les couches via -ot ".ffn_.*_exps.=CPU" Ceci utilise le moins de VRAM.
Vous pouvez aussi personnaliser le regex, par exemple -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" signifie décharger les couches MoE gate, up et down mais seulement à partir de la 6e couche.
Téléchargez le modèle via (après avoir installé pip install huggingface_hub hf_transfer ). Vous pouvez choisir UD-Q2_K_XL (quantification dynamique 2 bits) ou d'autres versions quantifiées comme Q4_K_XL . Nous recommandons d'utiliser notre quant dynamique 2,7 bits UD-Q2_K_XL pour équilibrer taille et précision.
Vous pouvez modifier --threads 32 pour le nombre de threads CPU, --ctx-size 16384 pour la longueur de contexte, --n-gpu-layers 2 pour le déchargement GPU sur le nombre de couches. Essayez de l'ajuster si votre GPU manque de mémoire. Supprimez-le également si vous n'avez qu'une inférence CPU.
✨ Déployer avec llama-server et la librairie de complétions d'OpenAI
Pour utiliser llama-server pour le déploiement, utilisez la commande suivante :
Puis utilisez la bibliothèque Python d'OpenAI après pip install openai :
💽Téléversements de modèles
TOUS nos téléversements - y compris ceux qui ne sont pas basés sur imatrix ou dynamiques, utilisent notre jeu de données de calibration, qui est spécialement optimisé pour les tâches conversationnelles, de codage et de langage.
Téléversements complets du modèle GLM-4.6 ci-dessous :
Nous avons également téléchargé IQ4_NL et Q4_1 des quants qui s'exécutent spécifiquement plus rapidement pour les appareils ARM et Apple respectivement.
🏂 Amélioration de la vitesse de génération
Si vous avez plus de VRAM, vous pouvez essayer de décharger plus de couches MoE, ou de décharger des couches complètes elles-mêmes.
Normalement, -ot ".ffn_.*_exps.=CPU" décharge toutes les couches MoE vers le CPU ! Cela vous permet effectivement de faire tenir toutes les couches non-MoE sur 1 GPU, améliorant les vitesses de génération. Vous pouvez personnaliser l'expression regex pour décharger plus de couches si vous disposez de plus de capacité GPU.
Si vous avez un peu plus de mémoire GPU, essayez -ot ".ffn_(up|down)_exps.=CPU" Cela décharge les couches MoE de projection up et down.
Essayez -ot ".ffn_(up)_exps.=CPU" si vous avez encore plus de mémoire GPU. Cela ne décharge que les couches MoE de projection up.
Vous pouvez aussi personnaliser le regex, par exemple -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" signifie décharger les couches MoE gate, up et down mais seulement à partir de la 6e couche.
Llama.cpp introduit aussi le mode haut débit. Utilisez llama-parallel. Lisez-en davantage ici. Vous pouvez aussi quantifier le cache KV en 4 bits par exemple pour réduire les mouvements VRAM / RAM, ce qui peut aussi accélérer le processus de génération.
📐Comment adapter un long contexte (200K complet)
Pour adapter un contexte plus long, vous pouvez utiliser la quantification du cache KV pour quantifier les caches K et V en moins de bits. Cela peut aussi augmenter la vitesse de génération en réduisant les mouvements de données RAM / VRAM. Les options autorisées pour la quantification K (par défaut est f16) incluent ci-dessous.
--cache-type-k f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
Vous devriez utiliser les _1 variantes pour une précision quelque peu accrue, bien que ce soit légèrement plus lent. Par ex. q4_1, q5_1
Vous pouvez aussi quantifier le cache V, mais vous devrez compiler llama.cpp avec le support Flash Attention via -DGGML_CUDA_FA_ALL_QUANTS=ON, et utiliser --flash-attn pour l'activer. Ensuite vous pouvez l'utiliser conjointement avec --cache-type-k :
--cache-type-v f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
Mis à jour
Ce contenu vous a-t-il été utile ?

