GLM-4.6 : guide d'exécution locale
Un guide sur la façon d'exécuter les modèles Z.ai GLM-4.6 et GLM-4.6V-Flash sur votre propre appareil local !
GLM-4.6 et GLM-4.6V-Flash sont les derniers modèles de raisonnement de Z.ai, atteignant des performances SOTA sur les benchmarks de codage et d’agents tout en offrant des conversations améliorées. GLM-4.6V-Flash le plus petit modèle de 9B est sorti en décembre 2025 et vous pouvez aussi l’exécuter dès 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 d’Unsloth réduit la taille à 135 Go (-75%). GLM-4.6-GGUF
Pour de meilleures performances, assurez-vous que votre mémoire totale disponible (VRAM + RAM système) dépasse la taille du fichier du modèle quantifié que vous téléchargez. Si ce n’est pas le cas, llama.cpp peut toujours fonctionner via le déchargement SSD/HDD, mais l’inférence sera plus lente.
Tous les téléchargements 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 concerne un problème de prompting des GGUF, où le deuxième prompt ne fonctionnait pas. Nous avons corrigé ce problème, cependant, il persiste toujours dans les GGUF sans nos correctifs. Par exemple, lors de l’utilisation d’un GGUF GLM-4.6 non Unsloth, la première conversation fonctionne bien, mais la deuxième casse.

Nous avons résolu cela dans notre modèle de chat, donc lorsque vous utilisez notre version, les conversations au-delà de la deuxième (troisième, quatrième, etc.) fonctionnent sans aucune erreur. Il reste encore quelques problèmes avec l’appel d’outils, que nous n’avons pas encore entièrement étudiés en raison de limites de bande passante. Nous avons déjà informé l’équipe GLM de ces problèmes restants.
🔎Particularités et correctifs de GLM 4.6V Flash
GLM-4.6V-Flash peut raisonner et produire des sorties en chinois. Ce n’est pas propre à nos quantifications, mais une particularité du modèle. Utilisez un prompt système « Réponds en anglais et raisonne en anglais » pour forcer le raisonnement et les sorties en anglais !
Nous avons testé les quantifications BF16 et Q8_0 d’autres fournisseurs, et toutes semblent raisonner en chinois. Par exemple, 2 quantifications distinctes sur la graine 3407 et avec le même prompt « Crée un jeu Flappy Bird en Python » montrent un raisonnement en chinois :


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

Et enfin, en utilisant un prompt système « Réponds en anglais et raisonne en anglais » via --system-prompt "Respond in English and reason in English" dans llama.cpp, c’est-à-dire comme ci-dessous :
Nous obtenons un raisonnement en anglais et des sorties en anglais ! Nous posons aussi une question de suivi « What is 1+1 » et obtenons uniquement de 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 1x24 Go et 128 Go de RAM avec déchargement MoE. Le GGUF UD-TQ1 1 bit aussi fonctionne nativement dans Ollama!
Vous devez utiliser --jinja pour les quantifications llama.cpp - cela utilise nos modèles de chat corrigés et active le bon modèle ! Vous pourriez obtenir des résultats incorrects si vous n’utilisez pas --jinja
Les quantifications 4 bits tiendront sur un GPU 1x 40 Go (avec les couches MoE déchargées vers la RAM). Attendez-vous à environ 5 jetons/s avec cette configuration si vous disposez aussi de 165 Go de RAM supplémentaires. Il est recommandé d’avoir au moins 205 Go de RAM pour exécuter ce 4 bits. Pour des performances optimales, vous aurez besoin d’au moins 205 Go de mémoire unifiée ou 205 Go de RAM+VRAM combinées pour atteindre 5+ jetons/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 obligatoire, pour de meilleures performances, faites en sorte que votre VRAM + RAM combinées soient égales à la taille de la quantification que vous téléchargez. Sinon, le déchargement vers le disque dur / SSD fonctionnera avec llama.cpp, mais l’inférence sera plus lente.
Paramètres recommandés
Selon Z.ai, il existe différents paramètres pour l’inférence de GLM-4.6V-Flash et GLM-4.6 :
température = 0,8
température = 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 de 128K ou moins
longueur de contexte de 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 aussi corrigé certains problèmes de modèle de chat !
Exécuter les tutoriels GLM-4.6 :
Consultez nos guides étape par étape pour exécuter GLM-4.6V-Flash et les grands GLM-4.6 modèles.
GLM-4.6V-Flash
NOUVEAU au 16 déc. 2025 : GLM-4.6-V est désormais mis à jour avec la prise en charge de la vision !
✨ Exécuter dans llama.cpp
Obtenez la dernière version llama.cpp sur GitHub. Vous pouvez aussi utiliser les instructions de compilation ci-dessous. Modifiez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n’avez pas de GPU ou si vous voulez simplement une inférence CPU. Pour les appareils Apple Mac / Metal, définissez -DGGML_CUDA=OFF puis continuez comme d’habitude - la prise en charge de Metal est activée par défaut.
Si vous souhaitez utiliser llama.cpp directement pour charger les 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 pour enregistrer dans un emplacement spécifique. N’oubliez pas que le modèle a une longueur de contexte maximale de seulement 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 ce n’est pas déjà 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 si cela échoue ! Nous incluons tous nos correctifs et paramètres suggérés (température, etc.) dans params dans notre envoi Hugging Face !
Pour exécuter d’autres quantifications, vous devez d’abord fusionner les fichiers GGUF séparés en un seul, comme dans le code ci-dessous. Vous devrez ensuite exécuter le modèle localement.
✨ Exécuter dans llama.cpp
Obtenez la dernière version llama.cpp sur GitHub ici. Vous pouvez également suivre les instructions de compilation ci-dessous. Modifiez -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 souhaitez utiliser llama.cpp directement pour charger les 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 pour enregistrer dans un emplacement spécifique. N’oubliez pas que le modèle a une longueur de contexte maximale de seulement 128K.
Veuillez essayer -ot ".ffn_.*_exps.=CPU" pour décharger toutes les couches MoE vers le CPU ! Cela 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 faire tenir davantage de couches si vous avez 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 vers le haut et vers le bas.
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 vers le haut.
Et enfin, déchargez toutes les couches via -ot ".ffn_.*_exps.=CPU" Cela utilise le moins de VRAM.
Vous pouvez aussi personnaliser la 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 de décharger les couches MoE gate, up et down, mais uniquement à 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 quantification 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 du contexte, --n-gpu-layers 2 pour le déchargement GPU, selon le nombre de couches. Essayez de l’ajuster si votre GPU manque de mémoire. Supprimez-le aussi si vous n’utilisez que le CPU pour l’inférence.
✨ Déployez avec llama-server et la bibliothèque de complétion d’OpenAI
Pour utiliser llama-server pour le déploiement, utilisez la commande suivante :
Utilisez ensuite la bibliothèque Python d’OpenAI après pip install openai :
💽Téléchargements du modèle
TOUS nos téléchargements - y compris ceux qui ne sont pas basés sur imatrix ou dynamiques - utilisent notre jeu de données de calibration, spécifiquement optimisé pour les tâches de conversation, de codage et de langage.
Téléchargements complets du modèle GLM-4.6 ci-dessous :
Nous avons également téléversé IQ4_NL et Q4_1 quantifications qui s’exécutent spécifiquement plus vite sur les appareils ARM et Apple respectivement.
🏂 Améliorer la vitesse de génération
Si vous avez plus de VRAM, vous pouvez essayer de décharger davantage de couches MoE, ou de décharger des couches entières.
Normalement, -ot ".ffn_.*_exps.=CPU" décharge toutes les couches MoE vers le CPU ! Cela 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 faire tenir davantage de couches si vous avez 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 vers le haut et vers le bas.
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 vers le haut.
Vous pouvez aussi personnaliser la 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 de décharger les couches MoE gate, up et down, mais uniquement à partir de la 6e couche.
Llama.cpp introduit également un mode à haut débit. Utilisez llama-parallel. En savoir plus à ce sujet ici. Vous pouvez aussi quantifier le cache KV à 4 bits par exemple pour réduire les mouvements entre VRAM et RAM, ce qui peut aussi accélérer le processus de génération.
📐Comment faire tenir un long contexte (200K complet)
Pour faire tenir un contexte plus long, vous pouvez utiliser la quantification du cache KV pour quantifier les caches K et V à des bits plus faibles. Cela peut aussi augmenter la vitesse de génération grâce à une réduction des mouvements de données RAM/VRAM. Les options autorisées pour la quantification K (la valeur par défaut est f16) incluent les suivantes.
--cache-type-k f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
Vous devriez utiliser les variantes _1 pour une précision légèrement améliorée, bien qu’elles soient un peu plus lentes. Par exemple q4_1, q5_1
Vous pouvez aussi quantifier le cache V, mais vous devrez compiler llama.cpp avec la prise en charge de Flash Attention via -DGGML_CUDA_FA_ALL_QUANTS=ON, et utiliser --flash-attn pour l’activer. Ensuite, vous pouvez l’utiliser 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 ?

