zGLM-4.7-Flash : Comment exécuter localement

Exécutez et affinez GLM-4.7-Flash localement sur votre appareil !

GLM-4.7-Flash est le nouveau modèle de raisonnement MoE 30B de Z.ai conçu pour un déploiement local, offrant des performances de premier ordre pour le codage, les flux de travail agentifs et le chat. Il utilise ~3,6B de paramètres, prend en charge un contexte de 200K et domine SWE-Bench, GPQA et les benchmarks de raisonnement/chat.

GLM-4.7-Flash fonctionne sur 24 Go de RAM/VRAM/mémoire unifiée (32 Go pour la pleine précision), et vous pouvez maintenant affiner avec Unsloth. Pour exécuter GLM 4.7 Flash avec vLLM, voir GLM-4.7-Flash

circle-check

Tutoriel d'exécutionAffinage (Fine-tuning)

GGUF GLM-4.7-Flash à exécuter : unsloth/GLM-4.7-Flash-GGUFarrow-up-right

⚙️ Guide d'utilisation

Pour de meilleures performances, assurez-vous que votre mémoire totale disponible (VRAM + RAM système) dépasse la taille du fichier de modèle quantifié que vous téléchargez. Sinon, llama.cpp peut toujours fonctionner via déchargement sur SSD/HDD, mais l'inférence sera plus lente.

Après discussion avec l'équipe de Z.ai, ils recommandent d'utiliser leurs paramètres d'échantillonnage GLM-4.7 :

Paramètres par défaut (la plupart des tâches)
Terminal Bench, SWE Bench vérifié

temperature = 1.0

température = 0.7

top_p = 0.95

top_p = 1.0

pénalité de répétition = désactivée ou 1.0

pénalité de répétition = désactivée ou 1.0

  • Pour les cas d'utilisation généraux : --temp 1.0 --top-p 0.95

  • Pour l'appel d'outils : --temp 0.7 --top-p 1.0

  • Si vous utilisez llama.cpp, définissez --min-p 0.01 car la valeur par défaut de llama.cpp est 0.05

  • Parfois, vous devrez expérimenter pour savoir quelles valeurs conviennent le mieux à votre cas d'utilisation.

circle-exclamation
  • Fenêtre de contexte maximale : 202,752

🖥️ Exécuter GLM-4.7-Flash

Selon votre cas d'utilisation, vous devrez utiliser des paramètres différents. Certains GGUF ont une taille similaire car l'architecture du modèle (comme gpt-oss) a des dimensions non divisibles par 128, donc certaines parties ne peuvent pas être quantifiées en bits inférieurs.

Parce que ce guide utilise du 4 bits, vous aurez besoin d'environ 18 Go de RAM/mémoire unifiée. Nous recommandons d'utiliser au moins une précision 4 bits pour de meilleures performances.

circle-exclamation

Tutoriel Llama.cpp (GGUF) :

Instructions pour exécuter dans llama.cpp (note : nous utiliserons du 4 bits pour tenir sur la plupart des appareils) :

1

Obtenez la dernière llama.cpp sur GitHub iciarrow-up-right. 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 voulez seulement une inférence CPU. Pour appareils Apple Mac / Metal, définissez -DGGML_CUDA=OFF puis continuez comme d'habitude - le support Metal est activé par défaut.

2

Vous pouvez directement tirer depuis Hugging Face. Vous pouvez augmenter le contexte jusqu'à 200K selon ce que votre RAM/VRAM permet.

Vous pouvez aussi essayer les paramètres d'échantillonnage GLM-4.7 recommandés par Z.ai :

  • Pour les cas d'utilisation généraux : --temp 1.0 --top-p 0.95

  • Pour l'appel d'outils : --temp 0.7 --top-p 1.0

  • N'oubliez pas de désactiver la pénalité de répétition !

Suivez ceci pour instruction générale cas d'utilisation par défaut :

Suivez ceci pour appel d'outils cas d'utilisation par défaut :

3

Téléchargez le modèle via (après avoir installé pip install huggingface_hub). Vous pouvez choisir UD-Q4_K_XL ou d'autres versions quantifiées. Si les téléchargements restent bloqués, voir Hugging Face Hub, débogage XET

4

Ensuite, exécutez le modèle en mode conversation :

Ajustez aussi fenêtre de contexte selon les besoins, jusqu'à 202752

Réduire la répétition et les boucles

circle-check

Cela signifie que vous pouvez maintenant utiliser les paramètres recommandés par Z.ai et obtenir d'excellents résultats :

  • Pour les cas d'utilisation généraux : --temp 1.0 --top-p 0.95

  • Pour l'appel d'outils : --temp 0.7 --top-p 1.0

  • Si vous utilisez llama.cpp, définissez --min-p 0.01 car la valeur par défaut de llama.cpp est 0.05

  • N'oubliez pas de désactiver la pénalité de répétition ! Ou réglez --repeat-penalty 1.0

Nous avons ajouté "scoring_func": "sigmoid" en config.json pour le modèle principal - voirarrow-up-right.

circle-exclamation

🐦Exemple Flappy Bird avec UD-Q4_K_XL

À titre d'exemple, nous avons mené la longue conversation suivante en utilisant UD-Q4_K_XL via ./llama.cpp/llama-cli --model unsloth/GLM-4.7-Flash-GGUF/GLM-4.7-Flash-UD-Q4_K_XL.gguf --fit on --temp 1.0 --top-p 0.95 --min-p 0.01 :

ce qui a rendu le jeu Flappy Bird suivant en forme HTML :

chevron-rightJeu Flappy Bird en HTML (Extensible)hashtag

Et nous avons pris quelques captures d'écran (4 bits fonctionne) :

🦥 Affinage (Fine-tuning) de GLM-4.7-Flash

Unsloth prend désormais en charge l'affinage de GLM-4.7-Flash, cependant vous devrez utiliser transformers v5. Le modèle 30B ne tient pas sur un GPU Colab gratuit ; cependant, vous pouvez utiliser notre notebook. L'affinage LoRA 16 bits de GLM-4.7-Flash utilisera environ 60 Go de VRAM:

circle-exclamation

Lors de l'affinage des MoE, il n'est probablement pas judicieux d'affiner la couche routeur, donc nous l'avons désactivée par défaut. Si vous souhaitez préserver ses capacités de raisonnement (optionnel), vous pouvez utiliser un mélange de réponses directes et d'exemples de chaîne de pensée. Utilisez au moins 75 % raisonnement et 25 % non-raisonnement dans votre jeu de données pour que le modèle conserve ses capacités de raisonnement.

🦙 Service & déploiement Llama-server

Pour déployer GLM-4.7-Flash en production, nous utilisons llama-server Dans un nouveau terminal, par exemple via tmux, déployez le modèle via :

Puis dans un nouveau terminal, après avoir fait pip install openai, faites :

Ce qui affichera

💻 GLM-4.7-Flash dans vLLM

Vous pouvez maintenant utiliser notre nouveau Quantification FP8 dynamiquearrow-up-right du modèle pour une inférence premium et rapide. Installez d'abord vLLM depuis la nightly :

Puis servez La version FP8 dynamique d'Unslotharrow-up-right du modèle. Nous avons activé FP8 pour réduire l'utilisation de mémoire du cache KV de 50 %, et sur 4 GPU. Si vous avez 1 GPU, utilisez CUDA_VISIBLE_DEVICES='0' et définissez --tensor-parallel-size 1 ou supprimez cet argument. Pour désactiver FP8, retirez --quantization fp8 --kv-cache-dtype fp8

Vous pouvez alors appeler le modèle servi via l'API OpenAI :

vLLM GLM-4.7-Flash Décodage spéculatif

Nous avons constaté que l'utilisation du module MTP (prédiction multiple de tokens) de GLM 4.7 Flash fait chuter le débit de génération de 13 000 tokens sur 1 B200 à 1 300 tokens ! (10x plus lent) Sur Hopper, cela devrait aller, espérons-le.

Seulement 1 300 tokens/s de débit sur 1xB200 (130 tokens/s de décodage par utilisateur)

Et 13 000 tokens/s de débit sur 1xB200 (toujours 130 tokens/s de décodage par utilisateur)

🔨Appel d'outils avec GLM-4.7-Flash

Voir Tool Calling Guide pour plus de détails sur la façon de procéder pour l'appel 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 fonction et appelleront le point de terminaison OpenAI pour n'importe quel modèle :

Après avoir lancé GLM-4.7-Flash via llama-server comme dans GLM-4.7-Flash ou voir Tool Calling Guide pour plus de détails, nous pouvons alors effectuer certains appels d'outils :

Appel d'outil pour les opérations mathématiques pour GLM 4.7

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

Benchmarks

GLM-4.7-Flash est le modèle 30B le plus performant sur tous les benchmarks sauf AIME 25.

Benchmark
GLM-4.7-Flash
Qwen3-30B-A3B-Thinking-2507
GPT-OSS-20B

AIME 25

91.6

85.0

91.7

GPQA

75.2

73.4

71.5

LCB v6

64.0

66.0

61.0

HLE

14.4

9.8

10.9

SWE-bench Vérifié

59.2

22.0

34.0

τ²-Bench

79.5

49.0

47.7

BrowseComp

42.8

2.29

28.3

Mis à jour

Ce contenu vous a-t-il été utile ?