Qwen 3.8 27B模型在16GB GPU上实现高效运行
原文:Qwen 3.8 27B at 50 tok/s with 100k Context on a 16GB GPU! (beellama.cpp)
我想分享我在消费级 16GB GPU(RTX 4070 Ti SUPER)上成功运行 Qwen 3.8 27B 模型并支持超大上下文窗口的设置。目标是在不牺牲质量和速度的情况下将所有内容装入 VRAM。🧠 主要组件 模型:来自 Hugging Face 上 jrell 的 Qwen3.8-27B-i1-IQ4_XS-GGUF-Smaller。这是一个专门设计的自定义混合量化模型,旨在适应多标记预测(MTP)和长上下文,同时保持在 16GB VRAM 的预算内。聊天模板:我使用了 peculiar-ragdoll 的 Qwen-Sharp-Chat-Templates 中的 Jinja 模板。它有助于减少思考标记的数量,同时不明显影响质量,这对速度提升很有帮助。推理引擎:这是关键。我使用了 beellama.cpp(GitHub 链接),因为它支持 kvarn KV 缓存类型,这是优化的关键。🖥️ 优化的 llama-server 命令(Windows)以下是我正在运行的优化命令。关键在于 kvarn 缓存设置和尾部精度。%LLAMA_DIR%/llama-server.exe ^ -m %MODEL_PATH% ^ -a %MODEL_NAME% ^ --port 11434 ^ --temp 1.0 ^ --top-p 0.95 ^ --top-k 20 ^ --min-p 0.0 ^ --presence-penalty 0.0 ^ --repeat-penalty 1.0 ^ --parallel 1 ^ --n-gpu-layers 99 ^ --batch-size 1024 ^ --ubatch-size 256 ^ --flash-attn on ^ --spec-type draft-mtp ^ --spec-draft-n-max 2 ^ --cache-type-k kvarn5 ^ <-- 关键:K 缓存的高精度 --cache-type-v kvarn4 ^ <-- 关键:V 缓存的平衡精度 --kv-tail-tokens 1024 ^ <-- 保持最近标记的完整精度 --ctx-size 100000 ^ --fit-ctx 100000 ^ --jinja ^ --chat-template-kwargs "{\"preserve_thinking\": true, \"reasoning_effort\":\"medium\"}" ^ --chat-template-file %MODEL_JINJA% ^ --no-mmproj-offload ^ --threads 7 ^ --threads-batch 8 ^ --metrics ^ --verbosity 3 ^ --perf 📊 结果与优化说明 指标 结果 说明 生成速度 47-50 标记/秒 对于 27B 密集模型来说非常优秀。上下文窗口 100,000 标记 通过优化缓存成功从 88k 提升。VRAM 使用量 ~15.93GB