开源llama.cpp Releases·原文 2026年11月6日

llama.cpp发布b12170:MoE缓存改为LRFU/MQ混合策略并采用ClassLRU

该版本由合并PR #31233 带入,为MoE专家缓存引入受LRFU/MQ启发的混合缓存与ClassLRU,缓存中超过一半的条目按令牌数计量,并随版本提供macOS、Linux、Windows、Android等多平台预编译包。

llama.cpp发布b12170版本,主要变更为MoE缓存改用受LRFU/MQ启发的混合缓存并采用ClassLRU,对应PR #31233。

提交记录显示,缓存时钟改为按真实令牌数推进:sel是RESHAPE节点,原始输入位于src[0],因此以sel->src[0]->ne[1] 作为计数。

moe-cache的实现要点

提交说明称,这套缓存使用类索引c与最近使用时间last_use记录条目,key只计算一次并直接复用,不再重复读取;得分由条目年龄(age)计算。

提交记录还提到移除分支并澄清exp2与log2的关系,重写了头部注释并对未使用槽位与排序作出说明。中途曾尝试使用std::array,随后以Revert回退。

  • 类数提高到 8,并文档化计算公式
  • 抽出decayed_crf,用于计算衰减后的值
  • 缓存大小以令牌价值计数显示
  • 加入断言,校验计算出的类数与半衰期一致

随版本提供的构建产物

发布页列出了b12170的多平台预编译包,覆盖macOS Apple Silicon(arm64)与Intel(x64)、iOS XCFramework、Linux x64/arm64/s390x(含CUDA 12/13、Vulkan、ROCm 10.0、OpenVINO 2026.4.1、SYCL FP32/FP16等变体)、Android arm64、Windows x64/arm64(含CUDA、Vulkan、OpenVINO、SYCL、ROCm)以及UI包。

发布页标注macOS Apple Silicon的KleidiAI启用包与openEuler相关包为DISABLED。

  • Linux侧提供Snapdragon的CPU、Adreno GPU、Hexagon NPU组合包,并附setup guide
  • Android侧同样提供Snapdragon组合包与README
  • Windows侧含OpenCL Adreno arm64包

信息来源

llama.cpp Releases原始来源