GLM-4.7-Flash 是 GLM-4.7 家族中輕量且高效能的 30B A3B MoE 成員,旨在以低成本在本地部署,用於程式開發、代理式工作流程與一般推理。你可以用三種實用方式在本地執行它:(1) 透過 Ollama(簡單、受管的本地執行環境),(2) 透過 Hugging Face / Transformers / vLLM / SGLang(以 GPU 為主的伺服器部署),或 (3) 透過 GGUF + llama.cpp / llama-cpp-python(適合 CPU/邊緣裝置)。
什麼是 GLM-4.7-Flash?
GLM-4.7-Flash 是由 Zhipu AI 開發的 GLM(General Language Model)家族的最新成員。它是旗艦 GLM-4.7 模型的輕量、速度優化版。旗艦模型面向雲端中的大規模推理任務,而「Flash」變體則特別針對「速度、成本效益與本地可部署性」進行工程化,同時在程式與邏輯等核心領域不犧牲顯著效能。
架構:30B-A3B MoE
GLM-4.7-Flash 的關鍵技術特徵是其「30B-A3B Mixture-of-Experts(MoE)」架構。
- 總參數量:約 30 Billion
- 活躍參數量:約 3 Billion
在傳統的「稠密」模型中,每生成一個 token 都會啟用所有參數,消耗巨大的計算資源。相較之下,GLM-4.7-Flash 在任一 token 上僅啟用少量專家(約 30 億參數)。
這讓模型能夠儲存大量知識(可與 30B 稠密模型相比),同時維持接近 3B 模型的推理速度與延遲。
這種架構是它能在消費級硬體上運行、並在基準測試中超越更大稠密模型的關鍵。
上下文視窗與模態
該模型具備令人印象深刻的 200,000 tokens(200k)上下文視窗,能在單一提示中攝取整個程式碼庫、長篇技術文件或漫長的聊天歷史。它主要是文字輸入、文字輸出的模型,但在指令跟隨與複雜代理式工作流程方面經過大量微調。
GLM-4.7-Flash 的關鍵特性是什麼?
GLM-4.7-Flash 不只是「另一個開放模型」;它引入了多項專為開發者社群量身打造的特性。
1.「思考模式」(System 2 Reasoning)
其中最受矚目的特性是整合的「思考過程」。受 OpenAI o1 等模型中的推理鏈啟發,GLM-4.7-Flash 可被指示在回答前先「思考」。
- 請求分析:先分解使用者提示,理解核心意圖。
- 腦力激盪與規劃:概述可能的解法或程式結構。
- 自我修正:若在內部獨白中偵測到邏輯缺陷,會在輸出前自我校正。
- 最終輸出:呈現打磨過的解決方案。
這讓它在調試複雜程式碼、解數學證明,以及處理多步邏輯謎題時表現出色,而小模型常在此類任務中產生幻覺。
2. 最先進的程式能力
Zhipu AI 發布並由獨立第三方驗證的基準顯示,GLM-4.7-Flash 在特定程式任務上優於競品,如 Qwen-2.5-Coder-32B 與 DeepSeek-V3-Lite。它擅長:
- 程式碼補全:高準確率預測後續數行程式碼。
- 重構:將舊有程式碼改寫為現代標準。
- 測試生成:自動為提供的函式撰寫單元測試。
3. 代理式工作流程最佳化
該模型經過微調,能作為 AI 代理的「後端大腦」。它原生支援「Function Calling」(工具使用),在連接相應工具時,可可靠地查詢資料庫、執行 Python 指令碼或瀏覽網頁。其高吞吐量(tokens per second)使其非常適合延遲容易累積的代理迴圈。
硬體相容性
得益於 MoE 的特性,GLM-4.7-Flash 對硬體需求出乎意料地寬鬆。
- 最低 VRAM(4-bit 量化):約 16 GB(可在 RTX 3090/4090、Mac Studio M1/M2/M3 Max 上執行)。
- 推薦 VRAM(BF16):約 64 GB(完整精度,需 A6000 或 Mac Studio Ultra)。
- Apple Silicon 支援:針對 Metal(MLX)高度最佳化,在 M3 Max 上可達每秒 60–80 tokens。
GLM-4.7-Flash 與競品相比如何?
為了理解 GLM-4.7-Flash 的價值主張,我們必須與本地 LLM 領域的現有領導者比較:Qwen 系列與 Llama 系列。
| Feature | GLM-4.7-Flash | Qwen-2.5-Coder-32B | Llama-3.3-70B |
|---|---|---|---|
| Architecture | 30B MoE (3B Active) | 32B Dense | 70B Dense |
| Inference Speed | 非常高(相當於 ~7B 模型) | 中 | 低 |
| Coding Proficiency | 優秀(專精) | 優秀 | 良好 |
| Context Window | 200k | 128k | 128k |
| VRAM Requirement | 低(~16-18GB @ 4-bit) | 中(~20GB @ 4-bit) | 高(~40GB @ 4-bit) |
| Reasoning | 原生思考模式 | 標準 CoT | 標準 CoT |
結論:GLM-4.7-Flash 抓住了「甜蜜點」。
它由於活躍參數更少而明顯比 Qwen-2.5-32B 更快,同時憑藉龐大的總參數量與專項訓練,在程式任務上可匹敵甚至超越對方。對於擁有 24GB VRAM GPU(如 RTX 3090/4090)的使用者而言,GLM-4.7-Flash 可謂當前性價比極高的模型選擇。
如何在本地安裝與使用 GLM-4.7-Flash(3 種方式)
以下是三種經過實測、可行的本地執行方式。每種方式都提供可直接複製的命令與簡短說明,便於你依據硬體與目標選擇合適流程。
涵蓋的三種方式:
- vLLM — 具備 GPU 排程與批次的生產級推理伺服器。適合多使用者或 API 型態的部署。
- Ollama — 簡單的本地模型管理/執行環境(適合快速試驗與桌面使用者)。注意部分發行版本需要預先釋出的 Ollama 版本。
- llama.cpp / GGUF with Flash Attention — 社群驅動、極簡快速路徑,適用於量化 GGUF 模型(適合單 GPU 與低延遲需求)。常需特殊分支以支援 flash attention。
API 使用
對不想管理基礎設施的人而言,CometAPI 提供 GLM-4.7 API。
為什麼在 CometAPI 使用 GLM-4.7 API?它提供比 GLM-4.7 flash 明顯更好的效能,且 CometAPI 的價格也低於 Zhipu 目前的 GLM-4.7 API。為什麼在 CometAPI 使用 GLM-4.7 API?它提供比 GLM-4.7-flash 明顯更好的效能,且 CometAPI 目前的價格低於 Zhipu 的 GLM-4.7 API。若你想在效能與價格之間取得平衡,CometAPI 是最佳選擇。
- Input Tokens:$0.44/M。
- Output Tokens:$1.78/M。
如何使用 vLLM 執行 GLM-4.7-Flash?
適合:生產部署、高吞吐量、伺服器環境。
vLLM 是一個採用 PagedAttention 以最大化推理速度的高效能函式庫。若你正在打造應用或代理,這是推薦的服務方式。
步驟 1:安裝 vLLM
你需要具備支援 CUDA 的 Linux 環境(Windows 上的 WSL2 亦可)。
bash
pip install vllm
步驟 2:啟動服務
指向 Hugging Face 儲存庫啟動伺服器。這會自動下載權重(如需,請先完成 huggingface-cli 登入,但 GLM 通常為公開)。
bash
# This command launches an OpenAI-compatible API server
vllm serve zai-org/GLM-4.7-Flash \
--trust-remote-code \
--tensor-parallel-size 1 \
--dtype bfloat16
提示:若你有多張 GPU,可增加 --tensor-parallel-size。
步驟 3:透過 OpenAI SDK 連線
由於 vLLM 提供相容 OpenAI 的端點,你可以輕鬆整合到既有程式碼庫。
pythonfrom openai import OpenAI# Point to your local vLLM serverclient = OpenAI( base_url="http://localhost:8000/v1", api_key="EMPTY" # vLLM doesn't require a key by default)completion = client.chat.completions.create( model="zai-org/GLM-4.7-Flash", messages=[ {"role": "system", "content": "You are an expert coding assistant."}, {"role": "user", "content": "Explain the difference between TCP and UDP."} ])print(completion.choices[0].message.content)
注意與提示
--tensor-parallel-size與speculative-config等旗標是社群指南中建議用於最佳化 MoE 模型吞吐量的範例。請依 GPU 數量與記憶體調整。- vLLM 經常需要 transformers/vLLM 的主分支以支援最新的模型模板;若出錯,請依社群指南安裝 GitHub 版本的函式庫(
pip install git+https://github.com/huggingface/transformers.git)。
如何用 Ollama 執行 GLM-4.7-Flash?
Ollama 是一個使用者友善的本地執行環境,能輕鬆下載並執行 GGUF 模型。Ollama 的函式庫頁面提供 GLM-4.7-Flash 的官方條目。
何時使用:你希望在 Mac/Windows/Linux 上最簡單地本地執行,運維最少,並可透過 CLI、Python 或本地 REST API 快速使用模型。
事前準備
安裝 Ollama(桌面/本地運行環境)。glm-4.7-flash 的 Ollama 函式庫頁面包含使用範例;並指出部分模型版本需要 Ollama 0.14.3 或更高版本(發佈時為預先釋出)。請確認你的 Ollama 版本。
步驟
- 安裝 Ollama(依各 OS 的官方下載/安裝指引)。
- 拉取模型(Ollama 會自動下載打包好的版本):
ollama pull glm-4.7-flash
- 啟動互動式工作階段:
ollama run glm-4.7-flash
# or use the REST endpoint:
curl http://localhost:11434/api/chat \
-d '{
"model": "glm-4.7-flash",
"messages": [{"role": "user", "content": "Write a unit test in pytest for a function that reverses a string."}]
}'
- 使用 Ollama SDK(Python 範例):
from ollama import chat
response = chat(
model='glm-4.7-flash',
messages=[{'role': 'user', 'content': 'Explain how binary search works.'}],
)
print(response.message.content)
進階伺服器用法
# run an Ollama server accessible to your apps (example)
ollama serve --model zai-org/GLM-4.7-Flash --port 11434
注意與提示
- 在 Ollama 上的 GLM-4.7-Flash 需要 Ollama 0.14.3 或相近版本。
- Ollama 自動處理格式(GGUF 等),簡化了在消費級 GPU 上執行量化版本。
- Ollama 暴露本地 REST API,便於整合到本地應用。
如何用 llama.cpp / GGUF 與 Flash Attention 執行?
此混合路徑適合想要最大掌控權、低階選項或單 GPU 極簡執行環境的使用者。社群已提供 GGUF 量化產物(Q4_K、Q8_0 等)與包含 FlashAttention 與 MoE/deepseek gating 的 llama.cpp 小型分支,以取得正確輸出與高速度。
你需要
- 一個量化的 GGUF 模型檔(可從 Hugging Face 或其他社群站點下載)。範例:
ngxson/GLM-4.7-Flash-GGUF。 - 具備 GLM-4.7/Flash attention 支援的社群分支
llama.cpp(社群分支已加入必要變更)。社群文章中參考的範例分支:am17an/llama.cpp的glm_4.7_headsize。
建置與執行範例(Linux)
# 1. clone a llama.cpp branch with GLM-4.7 / flash-attention patches
git clone --branch glm_4.7_headsize https://github.com/am17an/llama.cpp.git
cd llama.cpp
make
# 2. download GGUF (example uses Hugging Face)
# You can use huggingface_hub or hf_transfer to download
python -c "from huggingface_hub import hf_hub_download; hf_hub_download('ngxson/GLM-4.7-Flash-GGUF','GLM-4.7-Flash.gguf')"
# 3. Run with flash attention and proper override flags (community recommended)
./main -m GLM-4.7-Flash.gguf --override-kv deepseek2.expert_gating_func=int:2 \
--ctx 32768 \
--threads 8 \
--n_predict 512
注意與提示:由於 GLM-4.7-Flash 是 MoE,一些執行環境需要對 gating/專家路由進行特殊處理(因此有覆寫旗標)。若你在執行時看到幻覺或損壞的輸出,請檢查是否有更新的社群分支。
哪些設定與提示語最適合 GLM-4.7-Flash?
推薦設定
- 預設採樣(通用):
temperature: 1.0、top-p: 0.95,依需求設定較大的max_new_tokens——模型卡列有針對多輪/代理式評測的預設與特殊設定。若需要確定性的程式輸出,常見做法是降低溫度(0–0.7)。 - 思考/保留推理:對於複雜代理式或多步推理任務,請依文件啟用模型的「思考」/「保留推理」模式(Z.AI 提供思考旗標與解析工具)。
- 試探式解碼與效能:在伺服器堆疊中,建議使用試探式解碼(vLLM)與 EAGLE 風格策略(SGLang)以降低延遲並保持品質。
程式任務的提示語工程
- 使用明確指令:以「You are an expert software engineer. Provide code only.」開頭,並附上測試範例。
- 包含限制條件(語言版本、linters、邊界情況)。
- 要求提供單元測試與簡短說明,以利維護。
- 對於多步任務,若該模式可用,指示模型「先思考再行動」,有助於步驟排序與更安全的工具呼叫。
疑難排解、限制與運維考量
常見問題與緩解
- 記憶體錯誤/爆記:選擇更小的量化變體(q4/q8),或改用
llama.cpp的 GGUF 量化執行環境。Ollama 與 LM Studio 提供更小變體及其記憶體占用。 - 在高溫度/「思考」模式下回應變慢:降低
temperature,或使用試探式解碼/降低「思考」冗長度以提速;在 Ollama 中,有使用者回報重啟後吞吐量變化——請監控資源使用。社群評論指出「思考」時長對溫度較敏感。 - API 與本地一致性:雲端/託管的 GLM-4.7 可能有額外最佳化或不同量化產物;請在具代表性的提示語上做本地測試,以驗證一致性。
安全與治理
即使在寬鬆授權下,也請將模型輸出視為不受信任,若輸出會進入生產流程,務必套用標準的內容過濾與安全檢查(尤其是將自動執行的程式碼)。對生成腳本使用沙箱化,並在 CI 中檢查生成程式碼。
結論
GLM-4.7-Flash 的發布標誌著開源權重 AI 的重要成熟節點。長期以來,使用者必須在「速度」(不夠聰明的 7B 模型)與「智慧」(運行緩慢且昂貴的 70B 模型)之間做選擇。GLM-4.7-Flash 有效地彌合了這一鴻溝。
如果你想要更好的 GLM-4.7 並且希望價格更實惠,那麼 CometAPI 是最佳選擇。
開發者可透過 CometAPI 存取 GLM-4.7 API,截至本文發佈之日列示了最新模型。開始之前,請在 Playground 探索模型能力,並參考 API guide 取得詳細操作說明。訪問前,請確保已登入 CometAPI 並取得 API key。CometAPI 提供遠低於官方的價格,協助你整合。
使用 CometAPI 存取 ChatGPT 模型,開始選購!
準備好了嗎?→ 立即註冊 GLM-4.7!
![以下以「GLM-4-7B-Flash」(常見記法為 GLM-4-7B-Flash,您寫的 GLM-4.7-Flash 多半指此型號)為例,說明本機離線使用的常見方式。請先在 Hugging Face 或 ModelScope 找到對應的模型倉庫並接受授權,後續將 <model-id> 替換為實際倉庫名;GLM 系列通常需要 trust_remote_code。
一、環境與依賴
- 建議:Python 3.10+,CUDA 11.8+/12.x(若用 NVIDIA GPU),PyTorch 對應版本
- 可選加速:flash-attn(需符合 GPU 架構與 CUDA 版本)
- 安裝基本依賴
pip install --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install --upgrade transformers accelerate sentencepiece safetensors
pip install --upgrade bitsandbytes # 如需4-bit量化推理
pip install flash-attn --no-build-isolation # 可選(GPU 支援時)
二、使用 Transformers 直接推理
- 半精度/自動分配到 GPU
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "<model-id>" # 例如:THUDM/glm-4-7b-flash(請以實際倉庫名為準)
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16, # 或 torch.float16(依 GPU 支援)
device_map="auto",
trust_remote_code=True
).eval()
# 若模型提供 chat 介面(GLM 常見)
response, history = model.chat(tokenizer, "你好,給我一段 GLM 本機使用的示例。", history=[])
print(response)
# 或使用 chat template(通用方式)
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "介紹一下 GLM-4-7B-Flash 的本機部署方法。"}
]
input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
input_ids,
max_new_tokens=512,
temperature=0.7,
top_p=0.9
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
- 4-bit 量化(降低顯存佔用)
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
quant_cfg = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype="bfloat16"
)
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
quantization_config=quant_cfg,
device_map="auto",
trust_remote_code=True
).eval()
- Apple Silicon(MPS)簡述
import torch
device = torch.device("mps") if torch.backends.mps.is_available() else torch.device("cpu")
# 直接 .to(device) 或 device_map="auto" 由 PyTorch 分配(性能不及 CUDA,僅作輕量測試)
三、用 vLLM 跑本地 OpenAI 相容服務
- 安裝與啟動
pip install "vllm>=0.5.0"
python -m vllm.entrypoints.openai.api_server --model <model-id> --trust-remote-code --max-model-len 4096 --dtype auto
- 調用(curl)
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "<model-id>",
"messages": [{"role":"user","content":"用要點說明如何本機使用 GLM-4-7B-Flash"}],
"temperature": 0.7
}'
- 調用(Python,openai 相容)
pip install openai
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:8000/v1", api_key="EMPTY")
resp = client.chat.completions.create(
model="<model-id>",
messages=[{"role":"user","content":"請示範本機推理指令"}],
temperature=0.7
)
print(resp.choices[0].message.content)
四、常見注意事項
- 模型倉庫與授權:到 Hugging Face 或 ModelScope 搜尋「GLM-4-7B-Flash」或相近名稱,閱讀說明並接受授權。不同倉庫可能提供原始、量化(如 GPTQ/AWQ/INT4)或「Flash/Long」等變體。
- trust_remote_code:GLM 系列常需設為 True 以載入自定義模型邏輯與 chat 介面。
- 顯存需求(粗略參考):7B FP16/BF16 約需 12–16GB;4-bit 量化約 6–8GB。實際取決於序列長度與張量並行策略。
- 加速:若安裝並啟用 flash-attn,需確保 CUDA/驅動/GPU 架構相容;否則請移除或改用預設注意力實作。
- 長文本與上下文:若為「Flash」或「Long」變體,請依倉庫說明設置 max_position_embeddings 或相應啟動參數(如 vLLM 的 --max-model-len)。
- Windows 使用者:建議 CUDA + WSL2 或原生 CUDA 環境;bitsandbytes 在某些 Windows/CUDA 組合上需額外配置。
五、快速故障排查
- ImportError/ModuleNotFoundError:升級 transformers、accelerate、safetensors;確認 trust_remote_code=True。
- CUDA OOM:嘗試 4-bit 量化、減小 batch/序列長度、關閉梯度計算(eval、no_grad)、或使用 vLLM+paged attention。
- 推理很慢:確認是否在 CPU 上;如可用,安裝 flash-attn;調整 max_new_tokens、temperature/top_p;或改用量化權重。
如您提供具體的模型倉庫名稱(<model-id>)與硬體環境(GPU/顯存/作業系統),可進一步給出精確的安裝與啟動指令。](/_next/image/?url=https%3A%2F%2Fresource.cometapi.com%2FHow%20to%20Use%20GLM-4.7-Flash%20Locally.webp&w=3840&q=75)