OpenVINO™正式进入 llama.cpp:GGUF 模型现已支持 Intel CPU、GPU 与 NPU
openlab_96bf3613
更新于 11小时前
作者:武卓
过去,在 llama.cpp 里跑 GGUF 模型这件事,逻辑一直很清晰:
选模型、下模型、运行起来。
简单、直接,而且足够高效。
这也是为什么 GGUF 和 llama.cpp 直到今天依然是本地大模型开发里最受欢迎的组合之一。
但当越来越多开发者开始把目光投向 Intel 平台上的 CPU、GPU,尤其是 NPU,一个更现实的问题也随之出现:
能不能不改变熟悉的 GGUF 工作流,就把模型更自然地跑在不同 Intel 设备上?
现在,这件事有了更清晰的答案。
OpenVINO™ 已经正式进入 llama.cpp 主仓库,成为官方后端之一。
这意味着,开发者不需要放弃熟悉的 llama.cpp 工具链,也不需要切换到另一套全新的软件栈,就可以在 Intel® CPU、GPU 和 NPU 上运行 GGUF 模型。
这件事真正有价值的地方,不只是“多了一个后端”。
更重要的是,它为 Intel 平台带来了一条统一的执行路径:
-
继续使用熟悉的 GGUF 模型
-
继续使用熟悉的 llama.cpp 工作流
-
同时通过 OpenVINO™,在 Intel CPU / GPU / NPU 上获得一致的后端支持
在底层,GGML 计算图会被转换为 OpenVINO™ 图,并利用 OpenVINO™ 的编译、缓存与面向设备的优化能力来执行。
而对于开发者来说,最直接的感受就是:工作流不用变,但可用设备变多了,部署路径也更顺了。
这篇文章不会停留在概念介绍上。
我们将直接从实操出发,一步一步完成下面这件事:
在 Windows 环境下,构建带 OpenVINO™ 后端的 llama.cpp,并在 Intel CPU、GPU 或 NPU 上跑通一个 GGUF 模型。
如果你已经熟悉 llama.cpp,那么这篇文章会帮助你快速上手 OpenVINO™ 后端。
如果你正在做 AI PC 或 Intel 平台上的本地 AI 应用,这也是一个非常值得关注的新能力。
OpenVINO™ 后端为 llama.cpp 带来了什么?
这个后端为 llama.cpp 提供了一条统一的 Intel 执行路径,覆盖 CPU、GPU 和 NPU,对于 AI PC 场景下的开发尤其有价值。
同一个 GGUF 模型,可以更自然地部署到不同的 Intel 客户端设备上,而不需要迁移到另一套软件栈。
它支持 Intel CPU、GPU 和 NPU,支持的格式包括
-
FP16
-
Q8_0
-
Q4_0
-
Q4_1
-
Q4_K
-
Q4_K_M
同时,也支持在运行时转换 Q5_K 和 Q6_K。
对于开发者来说,价值很直接:
保留熟悉的 llama.cpp 工作流,继续使用 GGUF 模型,同时在 Intel 硬件上获得一条统一的后端路径。
目录:
本文将按以下步骤介绍如何使用 OpenVINO™ 后端构建并运行 llama.cpp:
-
前置准备
-
第 1 步:准备环境
-
第 2 步:使用 OpenVINO™ 后端构建 llama.cpp
-
第 3 步:下载一个示例模型进行测试
-
第 4 步:选择设备并通过 OpenVINO™ 后端运行推理
-
总结
分步指南:使用 OpenVINO™ 后端构建并运行 llama.cpp
llama.cpp 中的 OpenVINO™ 后端同时支持 Linux 和 Windows。
整体流程并不复杂:准备环境、克隆仓库、使用 -DGGML_OPENVINO=ON 进行构建、下载 GGUF 模型,然后在运行时通过环境变量选择 CPU、GPU 或 NPU。
下面的步骤将以 Windows 为例,演示如何使用 OpenVINO™ 后端构建并运行 llama.cpp。
为了让文章更简洁,Linux 对应的环境准备与运行方式,请参考官方文档:https://github.com/ggml-org/llama.cpp/blob/master/doc***ackend/OPENVINO.md
前置准备:
下载并安装 Microsoft Visual Studio 2022 Build Tools。安装时请选择"Desktop development with C++" 。
-
打开一个 PowerShell 窗口,执行以下命令安装依赖工具:
winget install Git.Gitwinget install GNU.Wgetwinget install Ninja-build.Ninja
-
使用 vcpkg安装OpenCL ,在同一个PowerShell 窗口中:
cd C:\git clone https://github.com/microsoft/vcpkgcd vcpkg.\bootstrap-vcpkg.bat.\vcpkg install opencl# 可选但推荐执行以下命令,将 vcpkg 集成到 Visual Studio / CMake:.\vcpkg integrate install
如果你处在本地代理环境下,且 vcpkg 在下载依赖时失败,可以设置代理:
set HTTP_PROXY=http://127.0.0.1:10809set HTTPS_PROXY=http://127.0.0.1:10809
第一步:准备环境
从克隆主仓库开始:
git clone https://github.com/ggml-org/llama.cppcd llama.cpp
第二步:使用 OpenVINO™ 后端构建 llama.cpp
打开一个 x64 Native Tools Command Prompt for VS 2022 窗口。首先初始化 OpenVINO™ 环境:
"C:\Program Files (x86)\Intel\openvino_2026.0.0\setupvar***at"
然后执行以下命令进行构建:
cmake -S . -B build/ReleaseOV -G Ninja -DCMAKE_BUILD_TYPE=Release -DGGML_OPENVINO=ONcmake --build build/ReleaseOV --parallel
第三步:下载一个示例模型进行测试
作为示例模型,我们可以使用如下命令下载 Llama-3.2-1B-Instruct-Q4_0.gguf。 在官方文档中,还列出了更多已验证模型,覆盖 Llama, Qwen, Phi, MiniCPM, Hunyuan, Mistral, 以及蒸馏版DeepSeek 等。
mkdir C:\modelscurl -L https://huggingface.co/unsloth/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q4_0.gguf -o C:\models\Llama-3.2-1B-Instruct-Q4_0.gguf
第四步:选择设备,并通过 OpenVINO™ 后端运行推理
在运行时,OpenVINO™ 后端允许你通过环境变量 GGML_OPENVINO_DEVICE 来选择执行设备。
你可以选择:
-
CPU
-
GPU
-
NPU
如果系统中有多个 GPU,也可以显式指定 GPU.0 或 GPU.1。
这正是 llama.cpp 中 OpenVINO™ 后端的一个实用价值:在保持 GGUF 工作流不变的前提下,用同一条后端路径覆盖 Intel CPU、GPU 和 NPU。
运行示例
-
运行 llama-simple
build\ReleaseOV\bin\llama-simple.exe -m "C:\models\Llama-3.2-1B-Instruct-Q4_0.gguf" -n 50 "The story of AI is "
-
以聊天模式运行
build\ReleaseOV\bin\llama-cli.exe -m "C:\models\Llama-3.2-1B-Instruct-Q4_0.gguf" -c 1024
-
运行 llama-bench
注:运行 llama-bench 时,需要加上 -fa 1
build\ReleaseOV\bin\llama-bench.exe -m "C:\models\Llama-3.2-1B-Instruct-Q4_0.gguf" -fa 1
下面就是它在我的 Intel® Core™ Ultra X7 358H 笔记本 iGPU 上,以 llama-simple 模式运行的效果:
你同样可以通过设置“set GGML_OPENVINO_DEVICE=NPU”选择NPU作为运行推理的设备,并且 通过 -c 512 指定更合适的上下文长度。下面是在聊天模式下运行的命令::
build\ReleaseOV\bin\llama-cli.exe -m "C:\models\Llama-3.2-1B-Instruct-Q4_0.gguf" -c 512
下面是它在我的 Intel Core Ultra X7 358H 笔记本 NPU 上,以聊天模式运行的效果:
除了上述示例,这个后端同样适用于其他标准 llama.cpp 工具,包括 llama-cli, llama-completion, llama-server, llama-bench, 以及 llama-perplexity. 更详细的运行方法,请参考官方文档: https://github.com/ggml-org/llama.cpp/blob/master/doc***ackend/OPENVINO.md .
小结
随着 OpenVINO™ 正式成为 llama.cpp 主仓库中的官方后端,开发者现在可以继续沿用熟悉的 llama.cpp + GGUF 工作流,同时把推理目标扩展到 Intel® CPU、GPU 和 NPU。这并不只是“多支持了一种硬件”,而是让 Intel 平台上的本地 AI 部署,第一次在 llama.cpp 这条主流路径里拥有了更统一、更自然的执行方式。
对于很多开发者来说,这种价值非常实际。
你不需要放弃 GGUF,也不需要离开标准 llama.cpp 工具链,就可以开始探索同一模型在不同 Intel 设备上的运行方式。这对于 AI PC、本地助手、边缘侧应用以及轻量化推理验证来说,都是一个非常有吸引力的方向。
当然,如果你的工作流本身就是围绕 OpenVINO™ IR 模型、自定义 OpenVINO™ 推理流水线,或者你希望进一步使用更多原生 OpenVINO™ 特性来追求 Intel 硬件上的更优性能与更深度的部署能力,那么直接使用原生 OpenVINO™ 依然是更合适的选择。原生 OpenVINO™ 和 llama.cpp + OpenVINO™ 后端,并不是互相替代的关系,而是分别面向不同开发习惯和不同部署阶段的两条路径。
致谢
我们真诚感谢 Zijun Yu, Mustafa Cavus, Xuejun Zhai, Yamini Nimmagadda, Ravi Panchumarthy, and Muthaiah Venkatachalam 为这个项目所作出的贡献
OpenVINO 小助手微信: OpenVINO-China
如需咨询或交流相关信息,欢迎添加OpenVINO小助手微信,加入专属社群,与技术专家实时沟通互动。