llama.cpp b11552修复服务端槽位占用时的上下文错乱问题
llama.cpp发布b11552版本,修复服务端在请求指定已占用id_slot时仍执行提示缓存更新、导致生成继续使用错误上下文的缺陷;现在繁忙槽位会原样返回,请求进入等待。
AI解读:这项修复针对一个具体并发场景:请求指定了一个正被占用的id_slot,此前系统会在请求被延迟前仍对该槽位执行提示缓存更新。
当RAM缓存中存在更匹配的内容时,它会被加载进该槽位,而另一个请求此时仍在该槽位生成,导致该生成在错误的上下文上继续。
b11552的行为改为繁忙槽位原样返回,请求等待该槽位,不再提前改动其上下文。
这是llama.cpp项目在GitHub Releases上发布的更新,版本号为b11552,改动对应合并请求 #30295。
来源同时列出了该版本面向macOS/iOS、Linux、Android、Windows、openEuler以及UI的构建产物,说明修复已进入各平台分发包。
llama.cpp发布b11552版本,其中服务端修复了一个与槽位占用相关的上下文错乱缺陷,改动见合并请求 #30295。
按照发布说明的描述,问题发生在请求指定了一个繁忙的id_slot时:该请求在被延迟处理之前,仍然会在该槽位上执行提示缓存更新。
如果RAM缓存中存有更匹配的内容,它会被加载进该槽位,而此时另一个请求仍在该槽位生成,原有的生成因此继续在错误的上下文上运行。
b11552将繁忙槽位原样返回,请求改为等待该槽位,不再提前改写其上下文。
受影响的请求路径
修复覆盖的是服务端对“请求指定id_slot”这一路径的处理。发布说明用一句话概括了旧行为与新行为:旧行为在延迟请求前仍更新该槽位的提示缓存,新行为不再触碰繁忙槽位。
发布说明没有给出该缺陷的影响范围、触发频率或涉及的具体版本区间,也没有提供吞吐、延迟或错误率等量化数据。
发布产物
b11552在GitHub Releases上发布了多平台构建产物,覆盖macOS Apple Silicon与Intel、iOS XCFramework、Ubuntu的CPU/Vulkan/CUDA 12与 13/ROCm 10.0/OpenVINO/SYCL构建、Linux arm64骁龙(CPU、Adreno GPU、Hexagon NPU)、Android arm64(含骁龙构建)、Windows x64与arm64以及Vulkan/OpenVINO/SYCL/ROCm等后端,另有UI打包。
发布说明同时标注了几项被禁用的构建:macOS Apple Silicon的KleidiAI构建、openEuler相关构建,均链接到对应的拉取请求。