GLM-4.7 : Guide d'exécution locale
Un guide pour exécuter le modèle Z.ai GLM-4.7 sur votre propre appareil local !
GLM-4.7 est le dernier modèle de réflexion de Z.ai, offrant de meilleures performances en codage, agent et chat que GLM-4.6. Il atteint des performances SOTA sur SWE-bench (73,8 %, +5,8), SWE-bench Multilingual (66,7 %, +12,9) et Terminal Bench 2.0 (41,0 %, +16,5).
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 à 134 Go (-75%). GLM-4.7-GGUF
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.
⚙️ Guide d'utilisation
La quantification dynamique 2 bits UD-Q2_K_XL utilise 135 Go d'espace disque - cela fonctionne bien dans un 1x24Go de carte 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 1x 40Go (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 cette quantification 4 bits. Pour des performances optimales, vous aurez besoin d'au moins 205 Go de mémoire unifiée ou de 205 Go combinés RAM+VRAM pour 5+ tokens/s. Pour apprendre comment augmenter la vitesse de génération et adapter des contextes plus longs, lire ici.
Bien que ce ne soit pas indispensable, pour de meilleures performances, faites en sorte que la somme de votre VRAM + RAM soit égale à la taille du quant que vous téléchargez. Sinon, le déchargement sur disque dur / SSD fonctionnera avec llama.cpp, seul l'inférence sera plus lente. Utilisez également --fit on dans llama.cpp pour activer automatiquement l'utilisation maximale du GPU !
Paramètres recommandés
Utilisez des paramètres distincts pour différents cas d'utilisation. Paramètres recommandés pour les cas d'utilisation par défaut et agent multi-tours :
température = 1.0
température = 0.7
top_p = 0.95
top_p = 1.0
131072 max new tokens
16384 max new tokens
Utilisez
--jinjapour les variantes llama.cpp - nous avons également corrigé certains problèmes de modèles de chat !Fenêtre de contexte maximale :
131,072
Exécuter les tutoriels GLM-4.7 :
Consultez nos guides étape par étape pour exécuter GLM-4.7 dans Ollama et llama.cpp.
✨ Exécuter dans llama.cpp
Obtenez le dernier llama.cpp sur GitHub ici. Vous pouvez également suivre les instructions de compilation ci-dessous. Changez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous souhaitez simplement une inférence CPU. Pour les appareils Apple Mac / Metal, définissez -DGGML_CUDA=OFF puis continuez normalement - le support Metal est activé par défaut.
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="dossier" pour forcer llama.cpp à enregistrer à un emplacement spécifique. Rappelez-vous que le modèle a seulement une longueur de contexte maximale de 128K.
Utilisez --fit on introduit le 15 décembre 2025 pour une utilisation maximale de votre GPU et CPU.
Optionnellement, essayez -ot ".ffn_.*_exps.=CPU" pour décharger toutes les couches MoE sur le CPU ! Cela vous permet effectivement de placer 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 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 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 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 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 (quant 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 sur GPU du nombre de couches. Essayez de l'ajuster si votre GPU manque de mémoire. Supprimez-le également si vous avez uniquement une inférence CPU.
🦙 Exécuter dans Ollama
Installer ollama si vous ne l'avez pas encore fait ! Pour exécuter d'autres 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 upload Hugging Face !
Pour exécuter d'autres quants, vous devez d'abord fusionner les fichiers GGUF divisés en 1 comme le code ci-dessous. Ensuite vous devrez exécuter le modèle localement.
✨ Déployer avec llama-server et la bibliothèque 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 :
🔨Appel d'outils avec GLM 4.7
Voir Tool Calling Guide pour plus de détails sur la manière de faire des appels d'outils. Dans un nouveau terminal (si vous utilisez tmux, utilisez CTRL+B+D), nous créons quelques outils comme l'addition de 2 nombres, l'exécution de code Python, l'exécution de fonctions Linux et bien plus :
Nous utilisons ensuite les fonctions ci-dessous (copier-coller et exécuter) qui analyseront automatiquement les appels de fonctions et appelleront le point de terminaison OpenAI pour n'importe quel modèle :
Après le lancement de GLM 4.7 via llama-server comme dans GLM-4.7 ou voir Tool Calling Guide pour plus de détails, nous pouvons alors effectuer quelques appels d'outils :
Appel d'outil pour opérations mathématiques pour GLM 4.7

Appel d'outil pour exécuter du code Python généré pour GLM 4.7

🏂 Amélioration de la vitesse de génération
Utilisez --fit on introduit le 15 décembre 2025 pour une utilisation maximale de votre GPU et CPU. Voir https://github.com/ggml-org/llama.cpp/pull/16653 --fit on décharge automatiquement autant que possible du modèle sur le GPU, puis place le reste sur le CPU.
Si vous avez plus de VRAM, vous pouvez essayer de décharger plus de couches MoE, ou de décharger des couches entières elles-mêmes.
Normalement, -ot ".ffn_.*_exps.=CPU" décharge toutes les couches MoE sur le CPU ! Cela vous permet effectivement de placer 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 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 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 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 décharger les couches MoE gate, up et down mais uniquement à partir de la 6e couche.
Llama.cpp introduit également le mode haut débit. Utilisez llama-parallel. Lisez-en plus à ce sujet 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 (128K complet)
Pour adapter un contexte plus long, vous pouvez utiliser quantification du cache KV pour quantifier les caches K et V en bits plus faibles. Cela peut également augmenter la vitesse de génération en réduisant les mouvements de données RAM / VRAM. Les options autorisées pour la quantification de 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 ?

