zGLM-4.7-Flash : comment l'exécuter en local

Exécutez et fine-tunez 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 agentiques et le chat. Il utilise ~3,6B de paramètres, prend en charge un contexte de 200K et domine les benchmarks SWE-Bench, GPQA et de raisonnement/chat.

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

circle-check

Tutoriel d’exécutionLe fine-tuning

GGUF de 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 du modèle quantifié que vous téléchargez. Si ce n’est pas le cas, llama.cpp peut quand même fonctionner via un déchargement sur SSD/HDD, mais l’inférence sera plus lente.

Après avoir parlé avec l’équipe de Z.ai, elle recommande d’utiliser ses paramètres d’échantillonnage GLM-4.7 :

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

temperature = 1.0

temperature = 0.7

top_p = 0.95

top_p = 1.0

repeat penalty = désactivée ou 1.0

repeat penalty = désactivée ou 1.0

  • Pour un cas d’usage général : --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 voir quels paramètres fonctionnent le mieux pour votre cas d’usage.

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

🖥️ Exécuter GLM-4.7-Flash

Selon votre cas d’utilisation, vous devrez utiliser différents réglages. Certains GGUF finissent par avoir une taille similaire parce que l’architecture du modèle (comme modèles d’OpenAI incluent une fonctionnalité qui permet aux utilisateurs d’ajuster le « niveau d’effort de raisonnement » du modèle. Cela vous donne le contrôle sur le compromis entre les performances du modèle et sa vitesse de réponse (latence), qui dépend du nombre de jetons que le modèle utilisera pour réfléchir.) a des dimensions non divisibles par 128, donc certaines parties ne peuvent pas être quantifiées avec moins de bits.

Comme 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 (notez que nous utiliserons 4 bits pour s’adapter à 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 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.

2

Vous pouvez effectuer un téléchargement direct depuis Hugging Face. Vous pouvez augmenter le contexte jusqu’à 200K selon la quantité de RAM/VRAM disponible.

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

  • Pour un cas d’usage général : --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 le les cas d’utilisation d’instructions générales :

Suivez ceci pour le appel d’outils :

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 se bloquent, voir Hugging Face Hub, débogage XET

4

Puis exécutez le modèle en mode conversation :

Aussi, ajustez la fenêtre de contexte selon les besoins, jusqu’à 202752

Réduction des répétitions et des 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 un cas d’usage général : --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 définissez --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 effectué 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 au format HTML :

chevron-rightJeu Flappy Bird en HTML (extensible)hashtag

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

🦥 Affinage 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 ; toutefois, 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, nous l’avons donc désactivée par défaut. Si vous voulez conserver ses capacités de raisonnement (optionnel), vous pouvez utiliser un mélange de réponses directes et d’exemples de raisonnement pas à pas. Utilisez au moins 75 % de raisonnement et 25 % sans raisonnement dans votre jeu de données pour que le modèle conserve ses capacités de raisonnement.

🦙 Service et 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 avec :

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 quant FP8 Dynamicarrow-up-right du modèle pour une inférence premium et rapide. Installez d’abord vLLM depuis nightly :

Puis servez la version FP8 dynamique d’Unslotharrow-up-right du modèle. Nous avons activé FP8 pour réduire de 50 % l’utilisation mémoire du cache KV, 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, supprimez --quantization fp8 --kv-cache-dtype fp8

Vous pouvez ensuite appeler le modèle servi via l’API OpenAI :

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

Nous avons constaté que l’utilisation du module MTP (prédiction multi-token) 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 heureusement aller.

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 manière d'effectuer 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 encore :

Nous utilisons ensuite les fonctions ci-dessous (copiez-collez et exécutez) 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 des appels d’outils :

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

Appel d’outil pour exécuter le 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 Verified

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 ?