GLM-4.7: Leitfaden zum Ausführen lokal
Ein Leitfaden, wie man das Z.ai-GLM-4.7-Modell auf deinem eigenen lokalen Gerät ausführt!
GLM-4.7 ist das neueste Thinking-Modell von Z.ai und liefert stärkere Leistungen bei Coding, Agenten und Chat als GLM-4.6. Es erreicht SOTA-Performance bei SWE-bench (73,8 %, +5,8), SWE-bench Multilingual (66,7 %, +12,9) und Terminal Bench 2.0 (41,0 %, +16,5).
Das vollständige Modell mit 355B Parametern benötigt 400 GB Festplattenspeicher, während Unsloth Dynamic 2-bit GGUF die Größe reduziert auf 134 GB (-75%). GLM-4.7-GGUF
Alle Uploads verwenden Unsloth Dynamic 2.0 für SOTA-5-Shot-MMLU- und Aider-Performance, was bedeutet, dass Sie quantisierte GLM-LLMs mit minimalem Genauigkeitsverlust ausführen und feinabstimmen können.
⚙️ Verwendungshandbuch
Das dynamische 2-Bit-Quant UD-Q2_K_XL belegt 135 GB Festplattenspeicher – das funktioniert gut auf einer 1x24GB-Karte und 128GB RAM mit MoE-Offloading. Das 1-Bit-UD-TQ1-GGUF funktioniert auch nativ in Ollama!
Sie müssen --jinja für llama.cpp-Quants verwenden – das nutzt unsere festen Chat-Vorlagen und aktiviert die korrekte Vorlage! Sie können falsche Ergebnisse erhalten, wenn Sie --jinja
Die 4-Bit-Quants passen in eine 1x40GB-GPU (mit auf RAM ausgelagerten MoE-Layern). Rechnen Sie mit etwa 5 Tokens/s mit diesem Setup, wenn Sie zusätzlich 165 GB RAM zur Verfügung haben. Es wird empfohlen, mindestens 205 GB RAM zu haben, um dieses 4-Bit-Modell auszuführen. Für optimale Leistung benötigen Sie mindestens 205 GB einheitlichen Speicher oder 205 GB kombinierten RAM+VRAM für 5+ Tokens/s. Um zu erfahren, wie Sie die Generierungsgeschwindigkeit erhöhen und längere Kontexte unterbringen können, lesen Sie hier.
Auch wenn es nicht zwingend erforderlich ist: Für die beste Leistung sollten VRAM und RAM zusammen der Größe des Quants entsprechen, das Sie herunterladen. Wenn nicht, funktioniert das Auslagern auf Festplatte/SSD mit llama.cpp, allerdings wird die Inferenz langsamer. Verwenden Sie außerdem --fit on in llama.cpp um die maximale GPU-Nutzung automatisch zu aktivieren!
Empfohlene Einstellungen
Verwenden Sie unterschiedliche Einstellungen für verschiedene Anwendungsfälle. Empfohlene Einstellungen für Standard- und mehrstufige agentische Anwendungsfälle:
temperature = 1.0
temperature = 0.7
top_p = 0.95
top_p = 1.0
131072 max new tokens
16384 max new tokens
Verwenden Sie
--jinjafür llama.cpp-Varianten – wir haben auch einige Probleme mit Chat-Vorlagen behoben!Maximales Kontextfenster:
131,072
GLM-4.7-Tutorials ausführen:
Sehen Sie sich unsere Schritt-für-Schritt-Anleitungen zum Ausführen von GLM-4.7 in Ollama und llama.cpp.
✨ In llama.cpp ausführen
Holen Sie sich die neueste llama.cpp auf GitHub hier. Sie können auch die folgenden Build-Anweisungen befolgen. Ändern Sie -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn Sie keine GPU haben oder nur CPU-Inferenz möchten. Für Apple-Mac-/Metal-Geräte, setzen Sie -DGGML_CUDA=OFF und fahren Sie dann wie gewohnt fort – Metal-Unterstützung ist standardmäßig aktiviert.
Wenn Sie llama.cpp direkt zum Laden von Modellen verwenden möchten, können Sie Folgendes tun: (:Q2_K_XL) ist der Quantisierungstyp. Sie können auch über Hugging Face herunterladen (Punkt 3). Dies ist ähnlich wie ollama run . Verwenden Sie export LLAMA_CACHE="folder" um zu erzwingen, dass llama.cpp an einem bestimmten Ort gespeichert wird. Denken Sie daran, dass das Modell nur eine maximale Kontextlänge von 128K hat.
Verwenden Sie --fit on am 15. Dez. 2025 eingeführt für maximale Nutzung Ihrer GPU und CPU.
Optional können Sie -ot ".ffn_.*_exps.=CPU" verwenden, um alle MoE-Layer auf die CPU auszulagern! Dadurch können Sie effektiv alle Nicht-MoE-Layer auf 1 GPU unterbringen, was die Generierungsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Layer unterzubringen, wenn Sie mehr GPU-Kapazität haben.
Wenn Sie etwas mehr GPU-Speicher haben, versuchen Sie -ot ".ffn_(up|down)_exps.=CPU" Dies lagert die MoE-Layer für Up- und Down-Projektionen aus.
Versuchen Sie -ot ".ffn_(up)_exps.=CPU" wenn Sie noch mehr GPU-Speicher haben. Dies lagert nur die MoE-Layer für Up-Projektionen aus.
Und schließlich lagern Sie alle Layer aus via -ot ".ffn_.*_exps.=CPU" Dies verwendet am wenigsten VRAM.
Sie können den Regex auch anpassen, zum Beispiel -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" bedeutet, Gate-, Up- und Down-MoE-Layer auszulagern, aber nur ab der 6. Schicht.
Laden Sie das Modell herunter via (nach der Installation von pip install huggingface_hub hf_transfer ). Sie können auswählen UD-Q2_K_XL (dynamisches 2-Bit-Quant) oder andere quantisierte Versionen wie Q4_K_XL . Wir empfehlen unser dynamisches 2,7-Bit-Quant UD-Q2_K_XL zu verwenden, um Größe und Genauigkeit auszubalancieren.
Sie können --threads 32 für die Anzahl der CPU-Threads bearbeiten, --ctx-size 16384 für die Kontextlänge, --n-gpu-layers 2 für GPU-Offloading, also für wie viele Layer. Versuchen Sie, dies anzupassen, wenn Ihrem GPU-Speicher der Platz ausgeht. Entfernen Sie es auch, wenn Sie nur CPU-Inferenz haben.
🦙 In Ollama ausführen
Installieren Sie ollama falls Sie es noch nicht getan haben! Um weitere Varianten des Modells auszuführen, sehen Sie hier.
Führen Sie das Modell aus! Beachten Sie, dass Sie ollama servein einem anderen Terminal aufrufen können, falls es fehlschlägt! Wir enthalten alle unsere Korrekturen und vorgeschlagenen Parameter (temperature usw.) in params in unserem Hugging-Face-Upload!
Um andere Quants auszuführen, müssen Sie zuerst die geteilten GGUF-Dateien zu einer einzigen zusammenführen, wie im folgenden Code. Danach müssen Sie das Modell lokal ausführen.
✨ Bereitstellen mit llama-server und der Completion-Bibliothek von OpenAI
Um llama-server für die Bereitstellung zu verwenden, nutzen Sie folgenden Befehl:
Verwenden Sie anschließend die Python-Bibliothek von OpenAI nach pip install openai :
🔨Tool-Calling mit GLM 4.7
Siehe Tool Calling Guide für weitere Details dazu, wie Tool-Calling durchgeführt wird. In einem neuen Terminal (wenn Sie tmux verwenden, nutzen Sie CTRL+B+D) erstellen wir einige Tools wie das Addieren von 2 Zahlen, das Ausführen von Python-Code, das Ausführen von Linux-Funktionen und vieles mehr:
Wir verwenden dann die folgenden Funktionen (kopieren, einfügen und ausführen), die die Funktionsaufrufe automatisch parsen und für jedes Modell den OpenAI-Endpunkt aufrufen:
Nachdem GLM 4.7 über llama-server wie in GLM-4.7 oder siehe Tool Calling Guide für weitere Details gestartet wurde, können wir dann einige Tool-Aufrufe durchführen:
Tool-Aufruf für mathematische Operationen für GLM 4.7

Tool-Aufruf zum Ausführen von generiertem Python-Code für GLM 4.7

🏂 Die Generierungsgeschwindigkeit verbessern
Verwenden Sie --fit on am 15. Dez. 2025 eingeführt für maximale Nutzung Ihrer GPU und CPU. Siehe https://github.com/ggml-org/llama.cpp/pull/16653 --fit on lagert automatisch so viel vom Modell wie möglich auf die GPU aus und legt den Rest auf die CPU.
Wenn Sie mehr VRAM haben, können Sie versuchen, mehr MoE-Layer oder ganze Layer auszulagern.
Normalerweise -ot ".ffn_.*_exps.=CPU" lagert alle MoE-Layer auf die CPU aus! Dadurch können Sie effektiv alle Nicht-MoE-Layer auf 1 GPU unterbringen, was die Generierungsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Layer unterzubringen, wenn Sie mehr GPU-Kapazität haben.
Wenn Sie etwas mehr GPU-Speicher haben, versuchen Sie -ot ".ffn_(up|down)_exps.=CPU" Dies lagert die MoE-Layer für Up- und Down-Projektionen aus.
Versuchen Sie -ot ".ffn_(up)_exps.=CPU" wenn Sie noch mehr GPU-Speicher haben. Dies lagert nur die MoE-Layer für Up-Projektionen aus.
Sie können den Regex auch anpassen, zum Beispiel -ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU" bedeutet, Gate-, Up- und Down-MoE-Layer auszulagern, aber nur ab der 6. Schicht.
Llama.cpp führt außerdem einen High-Throughput-Modus ein. Verwenden Sie llama-parallel. Lesen Sie mehr darüber hier. Sie können auch den KV-Cache auf 4 Bit quantisieren zum Beispiel um den VRAM-/RAM-Datenverkehr zu reduzieren, was den Generierungsprozess ebenfalls beschleunigen kann.
📐Wie man langen Kontext unterbringt (volle 128K)
Um längeren Kontext unterzubringen, können Sie KV-Cache-Quantisierung verwenden, um die K- und V-Caches auf niedrigere Bits zu quantisieren. Dies kann auch die Generierungsgeschwindigkeit aufgrund des geringeren RAM-/VRAM-Datenverkehrs erhöhen. Die zulässigen Optionen für die K-Quantisierung (Standard ist f16) sind unten aufgeführt.
--cache-type-k f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1
Sie sollten die _1 Varianten verwenden, um die Genauigkeit etwas zu erhöhen, auch wenn es etwas langsamer ist. Zum Beispiel q4_1, q5_1
Sie können auch den V-Cache quantisieren, aber dafür müssen Sie llama.cpp mit Flash Attention-Unterstützung kompilieren via -DGGML_CUDA_FA_ALL_QUANTS=ON , und--flash-attn verwenden, um es zu aktivieren. Dann können Sie es zusammen mit --cache-type-k --cache-type-v f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 :
verwenden
Zuletzt aktualisiert
War das hilfreich?

