Transformers 直接跑 llama.cpp 量化权重:复用 ggml 内核,Apple Silicon 上性能追平 llama.cpp
Hugging Face 9 月 22 日在官方博客宣布,transformers 开始原生支持高效加载 GGUF 模型:从 Hub 上挑一个 GGUF 检查点,用 from_pretrained 加载后即可在本机生成。GGUF 由 llama.cpp 团队开发,把权重、元数据、tokenizer 与可选对话模板打包进单个文件,Ollama、LM Studio、Jan 等本地推理工具都建立在其之上。官方给出的量化体积对照(以 Unsloth 的 Qwen3.5-4B 为例):BF16 8.42GB、Q6_K 3.53GB、Q5_K_M 3.14GB、Q4_K_M 2.74GB,建议从 Q4_K_M 起步。
性能做法是复用 llama.cpp 底层的 ggml 内核(经 kernels 库)并削减 generate 的开销。官方基准在 MacBook Pro M2 Max、32GB 统一内存、macOS 26.6、PyTorch 2.12.1、kernels 0.17.0 上测得,结论是「三个检查点上都接近 llama.cpp」,并称已复用 ggml 的 Metal 内核。当前限制明确:首发只聚焦 Apple Silicon 本地推理,架构从 Qwen3.5 开始。
它改变了什么:本地推理此前是「llama.cpp 生态」与「transformers 生态」两条互不相通的路径,量化权重只能在 llama.cpp 一侧使用,而微调、评测、调试都在 transformers 一侧。这次打通后,笔记本能放下的量化检查点可以直接进熟悉的 Python/PyTorch 工作流。边界:官方自称「接近」而非超过,且只覆盖 Apple Silicon + Qwen3.5 架构,其他平台与架构尚未验证。
原文链接:Hugging Face 官方博客