OpenVINO™正式进入 llama.cpp:GGUF 模型现已支持 Intel CPU、GPU 与 NPU

张开发
2026/4/10 20:54:59 15 分钟阅读

分享文章

OpenVINO™正式进入 llama.cpp:GGUF 模型现已支持 Intel CPU、GPU 与 NPU
作者武卓过去在 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™在 IntelCPU / 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支持的格式包括FP16Q8_0Q4_0Q4_1Q4_KQ4_K_M同时也支持在运行时转换Q5_K和Q6_K。对于开发者来说价值很直接保留熟悉的 llama.cpp 工作流继续使用 GGUF 模型同时在 Intel 硬件上获得一条统一的后端路径。目录本文将按以下步骤介绍如何使用 OpenVINO™ 后端构建并运行 llama.cpp前置准备第 1 步准备环境第 2 步使用 OpenVINO™ 后端构建 llama.cpp第 3 步下载一个示例模型进行测试第 4 步选择设备并通过 OpenVINO™ 后端运行推理总结分步指南使用 OpenVINO™ 后端构建并运行 llama.cppllama.cpp 中的 OpenVINO™ 后端同时支持Linux和Windows。整体流程并不复杂准备环境、克隆仓库、使用 -DGGML_OPENVINOON 进行构建、下载 GGUF 模型然后在运行时通过环境变量选择CPU、GPU 或 NPU。下面的步骤将以Windows为例演示如何使用 OpenVINO™ 后端构建并运行 llama.cpp。为了让文章更简洁Linux 对应的环境准备与运行方式请参考官方文档https://github.com/ggml-org/llama.cpp/blob/master/docs/backend/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_PROXYhttp://127.0.0.1:10809set HTTPS_PROXYhttp://127.0.0.1:10809请参考官方安装指南从压缩包安装OpenVINO™ RuntimeLinux|Windows第一步准备环境从克隆主仓库开始: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\setupvars.bat然后执行以下命令进行构建cmake -S . -B build/ReleaseOV -G Ninja -DCMAKE_BUILD_TYPERelease -DGGML_OPENVINOONcmake --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 来选择执行设备。你可以选择:CPUGPUNPU如果系统中有多个 GPU也可以显式指定 GPU.0 或 GPU.1。这正是 llama.cpp 中 OpenVINO™ 后端的一个实用价值在保持 GGUF 工作流不变的前提下用同一条后端路径覆盖 Intel CPU、GPU 和 NPU。运行示例运行 llama-simplebuild\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 1build\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_DEVICENPU”选择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/docs/backend/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 为这个项目所作出的贡献

更多文章