llama.cpp 0.4.0:初步支持 Qwen3.8-Flash-Next 与 Nemotron-3-Puzzle,另有两项降内存改动
多数人在自有硬件上跑模型时用的这个项目发布了新版本。两个新模型系列获得初步支持,但真正有用的是内存这一侧:张量改为按需读取,量化器加了上限。服务端的上下文限制现在按 slot 分别施加。
本地跑模型的事实标准 llama.cpp 发布了 0.4.0 版本。发布消息来自项目自己的账号。
发布说明可归为三点:两个新模型系列的初步支持、按需张量读取,以及服务端按 slot 的上下文限制。
新增模型
- Qwen3.8-Flash-Next(
qwen4exp架构)。说明中指出这是初步支持,优化工作尚待进行。 - NVIDIA Nemotron-3-Puzzle-75B-A9B
- Nemotron 3.5 DSpark 变体
- nanbeige4.2-3B
此外,DeepSeek-V4、GLM 与 qwen4exp 获得了稀疏 flash attention 支持。
真正的重点是内存
版本号不是新闻,这两项改动才是。二者针对同一个问题:在配置一般的机器上跑大模型时的内存峰值。
按需张量读取。张量改为在需要时惰性加载,而不是一次性全部载入,从而降低模型初始化阶段的内存开销。
量化器内存上限与行片流式处理。量化器现在有了上限,并以行片方式流式处理数据,以避免量化过程中的内存尖峰。
两者合起来意味着:同样的硬件能放下更大的模型,或者同样的模型占用更少内存。
服务端:按 slot 的上下文
llama.cpp 服务端现在可以为每个 slot 单独施加上下文大小限制。这让并发请求之间的资源管理更好做:一个长上下文请求不再吃掉整台服务器的内存。
与之并列的还有两项:KV 单元的 token 跟踪与 n-gram 历史查找,以及面向 RPC 的 Apple RDMA 传输支持。底层 ggml 依赖由 0.22.0 升到 0.23.0。
对企业读者而言
这个版本面向的是那些希望在自有机器上跑模型、而不是把数据送去云端的机构。本地推理的门槛通常不是模型本身,而是打开模型所需的内存;而内存要看峰值,不是平均值。按需张量读取与量化器上限,正好作用在那个峰值上。
实际意义是:此前在你服务器上放不下的模型,现在也许放得下。但在依赖它之前请在自己的硬件上实测,因为收益随模型与量化格式而变。
来源
- 一手来源:llama.cpp v0.4.0 发布说明,ggml-org:github.com/ggml-org/llama.cpp
- 发布信息:项目自有账号的版本发布贴,9 月 4 日。