当前位置: 首页 > news >正文

llama.cpp更新(b9553):LLM inference in C/C++,本地和云端实现高性能大模型推理

前言:项目简介

随着大语言模型从云端 API 逐步走向本地部署、私有化部署和边缘端推理,开发者面临一个非常现实的问题:

1. 如何在普通 CPU、消费级 GPU 或边缘设备上运行大模型? 2. 如何降低模型显存和内存占用? 3. 如何让 LLaMA、Qwen、Gemma、Mistral、DeepSeek 等模型以统一格式运行? 4. 如何在本地提供类似 OpenAI API 的推理服务? 5. 如何在 x86、ARM、Apple Silicon、NVIDIA、AMD、Vulkan 等平台上尽量复用同一套推理框架?

llama.cpp正是为了解决这些问题而出现的开源项目。它由ggml-org维护,项目定位非常直接:

LLM inference in C/C++

也就是说,llama.cpp是一个用 C/C++ 实现的大语言模型推理框架。它的核心目标是:在尽可能少的依赖下,让大语言模型能够在广泛硬件平台上高效运行。

相比很多依赖 Python、PyTorch、CUDA 生态的大模型推理框架,llama.cpp的特点是:

1. 纯 C/C++ 实现,部署门槛低; 2. 支持 GGUF 模型格式; 3. 支持多种低比特量化; 4. 支持 CPU、GPU 以及 CPU+GPU 混合推理; 5. 支持命令行推理、HTTP Server、OpenAI-compatible API; 6. 支持多种模型架构和多种硬件后端; 7. 适合本地 AI、边缘 AI、嵌入式 AI 和私有化部署。

从应用角度看,llama.cpp可以用于:

本地聊天机器人 离线文本生成 RAG 检索增强生成 代码补全 边缘设备智能助手 私有化大模型服务 小型 AI Server 多模态模型推理

它已经成为本地大模型生态中最重要的基础设施之一。

b9553版本发布时间:2026-06-07 21:10
b9551版本发布时间:2026-06-07 19:27


一、发布时间以及主要更新内容

1. 项目基本状态

该版本的核心更新是:

common: relax sampler name matching

具体来说,之前在某些情况下,采样器名称的替代写法不能被正确识别。例如:

top-k min-p

与 canonical 名称:

top_k min_p

之间可能存在匹配问题。

在 b9553 中,采样器名称匹配逻辑被放宽和统一,主要变化包括:

1. 移除 allow_alt_names 参数; 2. 默认同时匹配 canonical name 和 alternative name; 3. 采样器名称匹配改为大小写不敏感; 4. 自动生成 sampler alias 映射; 5. 修复 llama-server UI 中替代采样器名称可能无法识别的问题。

这类更新看似不大,但对实际使用很有价值。因为很多用户在 Web UI、API 参数或脚本中可能会使用不同命名习惯,例如top-ktop_kTop-K。如果框架能够更宽容地识别这些名称,就能减少配置错误,提高服务端易用性。


3. 与前一个版本 b9551 相比

前一个页面可见 Release 为:

b9551 发布时间:2026-06-07 19:27

b9551 的主要更新是:

kv-cache: avoid kv cells copies

也就是围绕 KV Cache 的内部数据结构和拷贝行为进行优化。

与 b9551 相比,b9553 并不是继续改 KV Cache,而是聚焦在 sampler 参数解析和名称匹配上。可以简单对比如下:

版本发布时间主要更新方向影响范围
b95512026-06-07 19:27避免 KV cells 拷贝更偏底层推理状态管理
b95532026-06-07 21:10放宽 sampler 名称匹配更偏用户配置、server UI 和采样参数兼容性

如果从用户体验角度理解:

b9551 更关注内部推理效率和 KV Cache 行为; b9553 更关注采样器参数命名的兼容性和易用性。

4. 预构建包支持平台

b9553 Release 页面提供了多个平台的预构建包,包括:

macOS Apple Silicon arm64 macOS Intel x64 iOS XCFramework Ubuntu x64 CPU Ubuntu arm64 CPU Ubuntu s390x CPU Ubuntu x64 Vulkan Ubuntu arm64 Vulkan Ubuntu x64 ROCm Ubuntu x64 OpenVINO Android arm64 CPU Windows x64 CPU Windows arm64 CPU Windows x64 CUDA 12 Windows x64 CUDA 13 Windows x64 Vulkan Windows x64 HIP UI

这说明llama.cpp已经不是单一平台的小工具,而是一个跨平台推理基础设施。


二、项目框架设计

从仓库目录来看,llama.cpp的整体结构非常工程化,主要目录包括:

llama.cpp ├── app ├── benches ├── ci ├── cmake ├── common ├── conversion ├── docs ├── examples ├── ggml ├── gguf-py ├── grammars ├── include ├── licenses ├── media ├── models ├── pocs ├── requirements ├── scripts ├── src ├── tests ├── tools ├── vendor ├── CMakeLists.txt ├── Makefile ├── convert_hf_to_gguf.py ├── convert_hf_to_gguf_update.py ├── convert_llama_ggml_to_gguf.py ├── convert_lora_to_gguf.py ├── README.md └── LICENSE

可以将其整体架构理解为六层。

第一层:模型格式与转换层 ├── GGUF ├── convert_hf_to_gguf.py ├── convert_lora_to_gguf.py └── gguf-py 第二层:核心推理运行时 ├── src ├── include ├── common └── ggml 第三层:硬件后端加速层 ├── CPU ├── Metal ├── CUDA ├── HIP / ROCm ├── Vulkan ├── SYCL └── OpenVINO 第四层:工具与应用层 ├── llama-cli ├── llama-server ├── examples ├── tools └── app 第五层:工程支撑层 ├── cmake ├── scripts ├── tests ├── benches └── ci 第六层:文档与生态层 ├── docs ├── models ├── grammars ├── media └── vendor

1. ggml:底层张量计算基础

ggmlllama.cpp的底层计算基础。可以把它理解为面向大模型推理的轻量级张量计算库。

它负责的事情包括:

张量表示 算子实现 量化计算 图执行 CPU/GPU 后端适配 内存管理

llama.cpp本质上是基于ggml构建的大模型推理系统。很多新的模型支持、量化格式、硬件后端优化,最终都会落到ggml的算子和执行后端上。


2. GGUF:统一模型文件格式

GGUF是当前llama.cpp生态中非常关键的模型格式。它用于存储模型权重、tokenizer 信息、模型元数据、量化信息等内容。

相比早期模型文件格式,GGUF 更适合分发和部署,因为它可以把运行模型所需的大量信息封装在一个文件中。

典型模型文件类似:

Qwen2.5-7B-Instruct-Q4_K_M.gguf Llama-3.1-8B-Instruct-Q4_K_M.gguf gemma-3-1b-it-Q8_0.gguf

对于普通用户来说,只要下载一个.gguf文件,就可以通过llama-clillama-server启动模型。


3. llama-cli:命令行推理入口

llama-cli是最基础、最常用的推理入口。

典型命令如下:

llama-cli -m ./model.gguf -p "请解释什么是边缘计算"

也可以直接从 Hugging Face 下载并运行兼容模型:

llama-cli -hf ggml-org/gemma-3-1b-it-GGUF

它适合用于:

本地快速测试模型 命令行文本生成 模型量化效果验证 推理参数调试 简单脚本集成

4. llama-server:OpenAI 兼容服务端

llama-serverllama.cpp面向服务化部署的重要组件。它可以启动一个 HTTP 服务,并提供类似 OpenAI API 的接口。

典型命令如下:

llama-server -m ./model.gguf

也可以直接从 Hugging Face 运行模型:

llama-server -hf ggml-org/gemma-3-1b-it-GGUF

启动后,可以将本地模型作为一个 OpenAI-compatible API 使用,适合集成到:

RAG 系统 聊天机器人 本地 Agent 私有化 AI 服务 企业内网模型服务 开发调试平台

5. conversion:模型转换工具

llama.cpp支持将 Hugging Face 模型转换为 GGUF 格式,核心脚本包括:

convert_hf_to_gguf.py convert_hf_to_gguf_update.py convert_llama_ggml_to_gguf.py convert_lora_to_gguf.py

其中最常用的是:

python convert_hf_to_gguf.py /path/to/hf-model --outfile model.gguf

转换后,还可以进一步量化,得到更小、更适合本地运行的模型文件。


三、关键功能解析与技术破局

1. 纯 C/C++ 实现:降低部署复杂度

llama.cpp的第一个核心优势是纯 C/C++ 实现,尽量减少外部依赖。

很多大模型推理框架依赖 Python、PyTorch、CUDA、Transformers 等复杂生态。对于服务器部署来说这不是大问题,但对于边缘设备、个人电脑、嵌入式设备和轻量化环境来说,依赖越多,部署越麻烦。

llama.cpp的思路是:

用 C/C++ 实现核心推理逻辑; 用 ggml 实现张量计算; 用 GGUF 封装模型; 用少量命令行工具完成推理和服务化。

这使它非常适合:

离线环境 内网环境 低资源服务器 ARM 开发板 工控机 个人电脑 边缘计算节点

2. GGUF 格式:让模型分发和运行更简单

GGUF 是llama.cpp生态的关键突破之一。

传统 Hugging Face 模型通常包含多个文件:

config.json tokenizer.json tokenizer.model model-00001-of-000xx.safetensors generation_config.json special_tokens_map.json

而 GGUF 更倾向于把推理所需信息封装进单个模型文件,用户使用时只需要关注:

model.gguf

这极大降低了部署复杂度。

对于 CSDN 读者来说,可以简单理解为:

Hugging Face 模型格式:适合训练、微调、生态集成; GGUF 模型格式:适合推理、分发、本地部署。

3. 低比特量化:让大模型跑在普通硬件上

llama.cpp支持多种低比特整数量化,包括:

1.5-bit 2-bit 3-bit 4-bit 5-bit 6-bit 8-bit

量化的核心目的,是降低模型权重占用,使模型能够在更小内存或显存上运行。

例如,一个 FP16 的 7B 模型可能需要十几 GB 存储和显存,而量化到 Q4 后,模型体积可能明显下降,从而可以在普通消费级 GPU、MacBook、工控机甚至部分 ARM 设备上运行。

常见量化格式包括:

Q4_K_M Q5_K_M Q6_K Q8_0

一般经验是:

Q4_K_M:体积小,速度和质量平衡较好; Q5_K_M:质量更好,体积略大; Q8_0:质量接近高精度,但占用更高; 低于 4bit:更省资源,但质量损失可能更明显。

对于边缘推理和私有部署而言,量化是llama.cpp最重要的实用能力之一。


4. 多硬件后端:从 CPU 到 GPU 再到边缘设备

llama.cpp支持非常广泛的硬件后端,包括:

CPU Apple Metal NVIDIA CUDA AMD HIP / ROCm Vulkan SYCL OpenVINO ARM NEON x86 AVX / AVX2 / AVX512 / AMX RISC-V RVV

这使它能够覆盖:

Intel / AMD 普通 PC Apple Silicon Mac NVIDIA GPU 工作站 AMD GPU 服务器 Raspberry Pi / Orange Pi / Jetson 等 ARM 设备 Android arm64 设备 Windows / Linux / macOS

这也是llama.cpp影响力很大的原因之一。它不是只服务一种硬件,而是尽可能把大模型推理扩展到各种设备上。


5. CPU+GPU 混合推理:显存不够也能跑

在很多本地部署场景中,最大的问题是:

模型太大,GPU 显存不够。

llama.cpp支持 CPU+GPU 混合推理,可以将部分层 offload 到 GPU,剩余部分留在 CPU 内存中运行。

典型参数是:

-ngl 32

或者新版命令中使用相应 GPU layer 参数。

例如:

llama-cli -m ./model.gguf -p "你好" -ngl 32

这表示将部分模型层放到 GPU 上执行。对于显存有限的设备,这种方式非常实用。


6. llama-server:本地模型变成 API 服务

llama-serverllama.cpp从工具走向工程部署的重要能力。

它的意义在于:用户不仅可以在命令行里跑模型,还可以把本地模型包装成一个服务,让其他应用通过 HTTP API 调用。

例如:

llama-server -m ./Qwen2.5-7B-Instruct-Q4_K_M.gguf --host 0.0.0.0 --port 8080

这样就可以在本地或局域网中提供模型服务。

适合场景包括:

本地 Chat UI RAG 后端 企业内网问答系统 AI Coding 工具接入 多用户共享推理服务 边缘节点模型服务

7. 多模型支持:不只支持 LLaMA

虽然项目叫llama.cpp,但它已经不只是 LLaMA 模型运行器。

README 中列出的 text-only 模型包括:

LLaMA LLaMA 2 LLaMA 3 Mistral Mixtral DBRX Jamba Falcon Baichuan Aquila StarCoder MPT Bloom Yi StableLM DeepSeek Qwen Phi Gemma Mamba Grok-1 Xverse InternLM GPT-2

这说明llama.cpp已经成为通用本地 LLM 推理框架,而不是某一个模型家族的专用工具。


8. 多模态支持:llama-server 正在扩展能力边界

README 热点中提到,llama-server已经加入多模态支持。这意味着llama.cpp正在从纯文本推理扩展到图像、音频等更复杂的输入形态。

对未来本地 AI 来说,这非常关键。因为多模态模型通常资源占用更高、部署更复杂,如果llama.cpp能够继续保持轻量化和跨平台能力,将进一步推动多模态模型在本地和边缘端落地。


四、使用教程

下面以 Ubuntu / Linux 环境为例,给出基础使用流程。


1. 克隆项目

git clone https://github.com/ggml-org/llama.cpp cd llama.cpp

2. 编译 llama.cpp

推荐使用 CMake:

cmake -B build cmake --build build --config Release -j

编译完成后,常用可执行文件通常位于:

build/bin/

例如:

build/bin/llama-cli build/bin/llama-server

3. 使用本地 GGUF 模型运行

准备一个.gguf模型文件,例如:

Qwen2.5-7B-Instruct-Q4_K_M.gguf

执行:

./build/bin/llama-cli -m ./Qwen2.5-7B-Instruct-Q4_K_M.gguf -p "请用简单语言解释什么是大语言模型"

如果模型较大,可以根据硬件情况调整线程数:

./build/bin/llama-cli -m ./model.gguf -p "你好" -t 8

4. 从 Hugging Face 直接运行模型

llama.cpp支持使用-hf参数直接下载并运行兼容模型:

llama-cli -hf ggml-org/gemma-3-1b-it-GGUF

也可以启动服务端:

llama-server -hf ggml-org/gemma-3-1b-it-GGUF

这种方式适合快速体验,不需要手动下载模型文件。


5. 使用 GPU 加速

如果你有 NVIDIA GPU,并且编译时启用了 CUDA,可以尝试:

./build/bin/llama-cli -m ./model.gguf -p "你好" -ngl 32

其中:

-ngl 表示 offload 到 GPU 的层数

显存越大,可以尝试 offload 更多层。显存不足时,可以减少该数值。


6. 启动 OpenAI-compatible API Server

启动本地服务:

./build/bin/llama-server -m ./model.gguf --host 0.0.0.0 --port 8080

启动后,可以用 OpenAI-compatible 方式调用。示例:

curl http://localhost:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "local-model", "messages": [ { "role": "user", "content": "请介绍 llama.cpp 的作用" } ], "temperature": 0.7 }'

这样就可以把本地模型接入自己的应用程序、RAG 系统或 Agent 框架。


7. 模型转换为 GGUF

如果你下载的是 Hugging Face 格式模型,可以使用转换脚本:

python convert_hf_to_gguf.py /path/to/hf-model --outfile model.gguf

如果缺少 Python 依赖,可以先安装:

pip install -r requirements.txt

转换完成后,得到:

model.gguf

然后即可使用llama-clillama-server运行。


8. 模型量化

如果希望进一步减小模型体积,可以使用量化工具。

典型流程是:

./build/bin/llama-quantize model-f16.gguf model-q4_k_m.gguf Q4_K_M

常见量化选择:

Q4_K_M:推荐入门,体积与效果平衡较好 Q5_K_M:效果更好,体积更大 Q8_0:质量较高,但资源占用更高

量化后运行:

./build/bin/llama-cli -m model-q4_k_m.gguf -p "你好"

9. Windows 用户快速体验

Windows 用户可以直接从 Releases 页面下载预编译包,例如:

Windows x64 CPU Windows arm64 CPU Windows x64 CUDA 12 Windows x64 CUDA 13 Windows x64 Vulkan Windows x64 HIP

下载解压后,在 PowerShell 中进入目录:

.\llama-cli.exe -m .\model.gguf -p "你好"

如果是 CUDA 版本,需要确保对应 CUDA 运行库可用。


10. ARM / aarch64 设备使用建议

对于 Raspberry Pi 5、Orange Pi 5B、Jetson AGX Orin 等 ARM64 设备,通常会显示:

uname -m

输出:

aarch64

这表示 64 位 ARM 架构。可以选择 Ubuntu arm64 CPU 版本,或者根据设备支持情况自行编译。

ARM 设备建议优先尝试小模型和低比特量化模型,例如:

1B / 1.5B / 3B / 7B Q4 模型

对于 Jetson AGX Orin,可以进一步关注 CUDA、GPU offload 和内存占用优化。


五、项目优势与局限

优势

第一,部署轻量。
llama.cpp使用 C/C++ 实现,依赖较少,适合本地、服务器和边缘设备部署。

第二,硬件支持广。
它支持 CPU、Metal、CUDA、HIP、Vulkan、SYCL、OpenVINO 等多种后端,可以覆盖 x86、ARM、Apple Silicon、NVIDIA、AMD 等平台。

第三,量化能力强。
支持多种低比特量化格式,可以显著降低模型体积和内存占用,让大模型在普通硬件上运行。

第四,GGUF 生态成熟。
大量开源模型已经提供 GGUF 版本,用户可以直接下载使用,部署体验明显优于复杂的多文件模型结构。

第五,服务化能力实用。
llama-server可以提供 OpenAI-compatible API,方便接入 RAG、Agent、Chat UI 和企业应用。

第六,社区活跃。
项目提交和 Release 非常频繁,新模型、新后端、新优化持续加入。


局限

第一,版本变化很快。
llama.cpp迭代速度很高,命令参数、API、构建方式可能随版本变化,需要关注 README 和 changelog。

第二,模型兼容性仍需确认。
虽然支持很多模型架构,但不是所有 Hugging Face 模型都能无缝转换和运行,遇到特殊结构时可能需要等待适配。

第三,性能调优有门槛。
线程数、batch size、context length、GPU offload 层数、量化格式都会影响性能,需要根据硬件反复测试。

第四,多模态仍在演进。
相比纯文本推理,多模态模型在格式、输入处理、显存占用和服务接口上更复杂,实际部署时需要更多验证。

第五,极致吞吐场景不一定最优。
如果目标是大规模云端批量推理,vLLM、TensorRT-LLM、SGLang 等框架在某些场景可能更适合;llama.cpp更突出的优势是轻量、本地、跨平台和边缘部署。


六、适合哪些用户?

llama.cpp适合以下几类用户:

用户类型推荐理由
本地大模型玩家可以在个人电脑上运行 GGUF 模型
AI 工程师可用于构建本地推理服务和 RAG 后端
边缘计算研究者支持 ARM、CPU、GPU 混合推理,适合边缘设备实验
企业私有化部署团队可以在内网部署 OpenAI-compatible API
嵌入式 / 工控开发者依赖少,部署灵活,适合低资源环境
大模型量化研究者支持多种量化格式和性能测试
多平台开发者支持 Windows、Linux、macOS、Android、iOS 等平台

七、总结

llama.cpp是当前本地大模型推理生态中最重要的开源项目之一。它的价值不只是“能运行 LLaMA”,而是构建了一套轻量、跨平台、高性能的大模型推理基础设施。

它的核心能力可以总结为:

1. 用 C/C++ 实现轻量级 LLM 推理; 2. 用 GGUF 格式简化模型分发和部署; 3. 用低比特量化降低模型资源占用; 4. 用多硬件后端覆盖 CPU、GPU 和边缘设备; 5. 用 llama-cli 支持命令行推理; 6. 用 llama-server 提供 OpenAI-compatible API; 7. 用转换和量化工具打通 Hugging Face 模型生态。

从最新版本 b9553 可以看出,项目仍在快速优化用户体验和工程细节。本次更新虽然主要是 sampler 名称匹配逻辑,但它反映出llama.cpp正在持续打磨服务端、Web UI 和参数兼容性。

如果你想在本地、边缘端或私有环境中运行大语言模型,llama.cpp是一个非常值得掌握的基础工具。对于工业边缘计算、AI Agent、本地 RAG、私有化 Chatbot 和离线智能助手等方向,它都具有很高的实用价值。


八、互动话题

你认为llama.cpp最有价值的能力是什么?

A. 可以在普通电脑上运行大模型 B. 支持 GGUF,模型部署简单 C. 支持低比特量化,显著降低资源占用 D. 支持 CPU+GPU 混合推理 E. 支持 llama-server,能提供 OpenAI-compatible API F. 支持多种硬件后端,如 CUDA、Metal、Vulkan、OpenVINO G. 适合边缘设备和工控机部署 H. 社区活跃,新模型适配速度快 I. 适合构建本地 RAG 和 AI Agent

欢迎在评论区讨论:

你更关注 llama.cpp 的“本地推理能力”,还是更关注它在边缘设备、私有化部署和工业场景中的工程落地价值?

http://www.jsqmd.com/news/974841/

相关文章:

  • i.MX RT1170 SSARC硬件加速:实现嵌入式低功耗瞬间唤醒的实战指南
  • 如何用AI图片分层工具3分钟将任何图片转换为可编辑PSD图层
  • 模拟传感器信号调理与软件校准:从MPX2000评估板到高精度数据采集系统设计
  • 【花雕学编程】Arduino BLDC 之基于陀螺仪的机器人静态行走步态控制(ZMP稳定)
  • NSK DFT2806-3 高刚性双螺母滚珠丝杠详述
  • 轻松搞定论文:6款2026年靠谱AI写作辅助网站深度测评
  • BGP策略实验作业
  • 2026年南通市PMP培训机构哪家好?官方授权R.E.P.报考指南 - 众智商学院课程中心
  • 关于时区问题
  • Redfish接口自动化入门:Postman集合+环境变量+Tests脚本全配置指南
  • AntiDupl.NET终极指南:释放30%硬盘空间的智能图片去重神器
  • 告别密码焦虑!用FreeIPA+FreeRADIUS+FreeOTP给你的企业网络加把‘软锁’(CentOS 8实战)
  • 高压电抗器厂家哪家好?选厂重点看产品线与系统配套能力 - 资讯焦点
  • FPGA开发板上跑起来的VGA贪吃蛇——带完整工程代码和课设报告
  • 从图形界面到命令行:CentOS 7无GUI静默安装Oracle 12c全记录
  • MPC860 Rev.D升级实战:引脚复用、FEC_PINMUX与X_WMRK配置详解
  • 中小学电子课本免费下载神器:一键获取PDF教材的完整解决方案
  • 天龙八部单机版GM工具终极指南:从零开始掌握游戏管理
  • 基于NXP EdgeLock SE05x的DLMS/COSEM智能电表安全实现方案
  • 浏览器市场分析 - 大屏静态布局制作
  • PMSM电机四种智能控制仿真:MPCC/MPTC预测控制、MRAC自适应、滑模SMC一键运行
  • 徐州市中级经济师工商管理/人力资源管理:适配人群、岗位匹配与备考全攻略 - 众智商学院课程中心
  • 小红书投流不踩坑!新手开户、投放、服务商挑选全解答 - 资讯焦点
  • 2026年 膏体充填设备/矿山充填设备/煤矸石回填设备厂家最新推荐榜单:矿井填充与固体废弃物处置领域技术实力派深度解析 - 品牌发掘
  • 基于DSP56F80x的永磁同步电机速度闭环控制实战解析
  • Space Thumbnails:让Windows资源管理器也能预览3D模型的终极解决方案
  • 硅胶定制产业转型:精密制造如何重构供应链价值体系 - 资讯焦点
  • 从代码注释到精美手册:手把手教你用Doxygen + Markdown打造项目文档网站
  • d2s-editor终极指南:5个常见暗黑2存档问题的一站式解决方案
  • 基于TPU的SVM死区时间校正XOR方案:原理、配置与工程实践