llama.cpp 项目发布了构建版本 b10353,解决了 CUDA 和 Metal 后端中 ggml_roll 操作的一个关键 bug。此前,由于这些后端忽略了步幅信息,置换(非连续)源张量会无声地产生错误结果。

  • 该修复为 CUDA 和 Metal roll 内核都添加了连续源要求,与现有的 GGML_OP_ROPE 保护相匹配。
  • 此更改确保调度器为非连续输入回退到 CPU 实现,后者能正确处理步幅。
  • 添加了一个置换的 test_roll 案例以验证修复。

此更新可防止依赖具有非标准内存布局的 ROLL 操作的模型出现数据损坏。