llama.cpp发布b11600,修复T5模型无缓存注意力KQ偏置运算失败
该版本在无缓存注意力中对T5的相对位置偏置补零填充,解决n_tokens不能整除填充宽度 256 时KQ加法出错的问题。
AI解读:llama.cpp发布b11600版本,核心改动是graph: pad the KQ bias of the no-cache attention(#30446)。
改动原因:无缓存注意力会把K、V和掩码填充到 256,而T5额外加入 [n_tokens, n_tokens] 的相对位置偏置,当n_tokens不能整除填充宽度时,与KQ的加法会失败。
修复方式:像K和V一样,用零把该偏置填充到掩码的KV维度。
该版本同时提供macOS、iOS、Linux、Android、Windows等多平台预编译产物,Linux侧覆盖CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL等后端。
llama.cpp发布b11600版本,主要改动来自提交 #30446,标题为graph: pad the KQ bias of the no-cache attention。
根据发布说明,该修复针对无缓存注意力中的T5相对位置偏置,避免偏置与KQ相加时因形状不匹配而失败。
修复针对的具体问题
发布说明称,无缓存注意力会将K、V和掩码填充到 256。T5还会添加一个形状为 [n_tokens, n_tokens] 的相对位置偏置,因此当n_tokens不能整除填充宽度时,该偏置与KQ的加法会失败。
按照说明中的做法,该偏置被用零填充到掩码的KV维度,处理方式与K和V相同。
随版本附带的多平台构建
发布页面同时列出了b11600的多平台预编译产物。macOS/iOS提供Apple Silicon arm64、Intel x64和iOS XCFramework下载;其中macOS Apple Silicon的KleidiAI构建标注为DISABLED。
Linux侧覆盖Ubuntu x64/arm64/s390x的CPU构建,以及Vulkan、CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO 2026.4.1、SYCL FP32/FP16等后端;另有面向Snapdragon的Linux arm64包,包含CPU、Adreno GPU和Hexagon NPU。
Android提供arm64 CPU以及Snapdragon平台包;Windows覆盖x64/arm64 CPU、arm64 OpenCL Adreno、CUDA 12.4、CUDA 13.4、Vulkan、OpenVINO 2026.4.1、SYCL和ROCm 10.0。openEuler相关构建标注为DISABLED。