端侧 AI 推理框架周报(2026-06-07 ~ 2026-06-14)
本周(2026-06-07 ~ 2026-06-14)共追踪 15 个开源推理框架/工具链仓库,其中 11 个有更新,总计 182 次提交。以下是各仓库的关键变化与技术分析。
alibaba/MNN — 8 commits
Wan2.1 视频生成模型支持
MNN 本周合并了对 Wan2.1-T2V-1.3B 视频生成模型的导出和推理支持(#4469)。这是继之前支持的 Wan2.1 文生图模型之后的进一步扩展,将 MNN 的 Diffusion 推理能力从图像扩展到视频生成领域。SD1.5 的 resize cache warmup bug 也在同一波修复中(#4530)。
LLM 核心修复
- Qwen2.5-Omni 音频预处理(#4459):修复了多模态音频输入在预处理中的边界情况,这对于 Omni 模型在实际场景中的部署至关重要。
- gapLen 计算 bug(#4527):修复了
_maskQK中mask为空时提前返回导致的gapLen未初始化问题,这个 patch 来自阿里内部代码审查(Merge-Request 27957084)。
后端优化
- CPU int4 重排加速(#4511):优化 Reducer 非 fast path 下的 int4 数据重排,减少不必要的路径分支。
- Metal Convolution1x1(#4520):优化分支选择逻辑,提升 Apple GPU 上的推理性能。
- CUDA FP16FP32Mix Softmax/MatMul(#4476):修复了混合精度模式下 Softmax 的回显伪影(echo artifact)和 MatMul 精度类型问题。
sophgo/tpu-mlir — 2 commits
本周主要是构建系统清理:将 PPL(算能的底层计算库)从源码内建改为外部下载引用,大幅缩减仓库体积。同时优化了 release 脚本,移除了不再使用的发布文件。这表明 TPU-MLIR 正在往更模块化、更易于 CI/CD 的方向演进。
sophgo/LLM-TPU — 2 commits
Qwen3.5 历史对话支持:为 Qwen3.5 增加了 history 上下文能力,同时上传了 Qwen3.5-35B 的 bmodel 模型文件。另外修复了 C++ demo 中 prefill_mask 的初始化问题。随着 Qwen3.5 系列模型的发布,算能平台上的部署需求明显在增加。
ggml-org/llama.cpp — 30 commits
本周 llama.cpp 迎来了大量重要更新。
ggml 0.15.0 版本发布
ggml 版本号连续跳跃:先是 6 月 11 日升级到 0.15.0(#1539),次日又发布 0.15.1 补丁(#1541)。伴随版本更新同步了多个底层优化。
EAGLE3 投机解码支持(#18039)
这是本周最重大的功能更新。EAGLE3 是 EAGLE 系列投机解码框架的第三代,相比标准自回归解码,投机解码通过小模型预草拟多个 token 再经大模型验证,能显著降低推理延迟。llama.cpp 的 EAGLE3 实现支持从目标模型中提取 layer 输入,配合 Gemma4 等模型使用。
cohere2-MoE 架构支持(#24260)
为 MoE(混合专家)架构的 cohere2 模型添加了完整的架构支持,包括路由、共享 expert 的 lookup 逻辑适配。
mtmd 多模态 batching API(#24384)
mtmd(multi-modal transformer decoder)新增了 batching API,支持批量多模态输入处理,已通过 Gemma4 视觉模型验证。这是向生产级多模态部署迈出的重要一步。
Vulkan 后端大幅增强
- 非连续 unary/GLU 算子支持(#24215):将 unary 和 GLU 操作重写为支持非连续张量,使用 fastdiv 进行索引计算。
- Adreno q5_0/q5_1 内核(#24319):为 Qualcomm Adreno GPU 增加了 q5_0 和 q5_1 量化格式的 GEMM/GEMV 内核,这是对移动端 GPU 推理的重要补充。
- Pipeline barrier 修复(#23770):为 memcpy 读操作添加 barrier,确保 Vulkan 后端的正确性。
- 连续 buffer 传输 fast path(#23973):为 Vulkan 增加连续 buffer 传输的优化路径。
WebUI / PWA 支持(#23871)
llama.cpp 的 WebUI 正式支持 PWA(Progressive Web App),包括离线缓存、Service Worker、启动屏和自动更新检测,使其更像原生应用。
JPEG EXIF 方向处理(#24196)
修复了多模态场景下智能手机照片因 EXIF 旋转方向信息被忽略而导致图片显示异常的问题——浏览器解码时自动应用旋转,mtmd 不再需要关心 EXIF 标签。
其他重要变更
- OpenCL q5_0/q5_1:Adreno GPU 的额外 OpenCL 后端支持。
- SYCL CI 修复:恢复 Intel SYCL 后端的构建与发布。
- 推理预算配置修复(#24517):修复了 WebUI 的
thinking_budget_tokens请求被model.ini配置覆盖的优先级问题。 - CUDA Docker GCC 版本支持(#24447):Docker 构建时可指定 CUDA 编译器的 GCC 版本。
qualcomm/ai-hub-models — 30 commits
高通 AI Hub 模型库本周主要是持续集成与质量保障方向的改进。
LLM 模型迁移与新 Driver
- Llama 3.2 1B/3B 和 Qwen 2.5 VL 7B 迁移到新 driver(#3479)。
- Llama 3.2 3B 模型代码重构为统一格式,提取共享代码到
_shared/llama3/model.py(#3464)。 - QDC(Qualcomm Device Cloud)任务改进:增加 sleep 和非 burst 模式以稳定完成 100 prompt 测试(#3514)。
评测体系改进
- MMMU 评测数据集(#3445):添加了 MMMU(Massive Multi-discipline Multimodal Understanding)多模态理解基准评测。注意 baseline 需在 FP32 下运行,FP16 会显著降低分数。
- Scorecard 负载均衡(#3505):基于历史逐阶段运行时间对 scorecard 分片进行动态负载均衡,解决了部分分片耗时 14h 而其它仅 2h 的严重不均衡问题。
- BERT 精度修复(#3527):发现所有 BERT 模型因错误的 dataset cache key 共享了同一个 ground truth,导致多模型评测结果完全错误。
技术基础设施
- ONNX EP 全设备强制启用(#3520)。
- S26 设备支持(#3509),同时清理了
-for-galaxy后缀的处理逻辑。 - GPU 集群迁移(#3454):LLM 性能测试迁移到 GPU 集群。
- qai_hub 0.49 适配(#3511):替换
Model.producer弃用属性为Model.get_producer()。 - CI 安全检查(#3486):添加 PreToolUse hook 以约束 shell 命令执行安全。
microsoft/onnxruntime — 30 commits
CUDA EP 核心改进
- QMoE SoftmaxTopK 小批量优化(#28980):使用 CUB 和 warp-level top-k 内核替换旧的一线程一行热路径,显著提升 MoE 路由在自回归解码小批量场景的性能。
- QMoE int4/int8 weight prepack 统一(#28978 / #28749):强制 QMoE INT4/INT8 权重始终使用 SM80(Ampere)CUTLASS layout 进行预处理,修复了 Hopper(SM90)上输出错误的 bug。同时在 PrePack hook 中完成 layout 转换,与
MatMulNBits保持对称。 - CUDA 插件 EP 兼容性扩展(#28824):将最低支持运行时版本降至 1.24.4,通过 version-gated callback 保证新特性在旧运行时上优雅降级。
- cuDNN SDPA 集成(#28849):升级
cudnn_frontend从 1.12.0 → 1.24.0,并在 Hopper/Blackwell(SM≥90)上为 MHA/GQA 开启 cuDNN SDPA 内核,结合 Flash Attention 与 cutlass FMHA 的优势提升 prefill 吞吐。
WebGPU 重大改进
- FlashAttention decode 融合内核(#28389):将 QKT 和 SplitVx 两个 shader 融合为单个 QKV 内核,使用 online softmax 消除中间
qk张量。扩展为支持任意序列长度(不只是 seq_len=1),并加入 m_tile 优化(m_tile=1/2/4)来摊销 K/V 加载。 - Session 级 buffer pool(#28761):引入
SessionBufferPool,允许 session 持有已回收的 generator buffer cache(storage + uniform),并注入新创建的 generator。通过sessionBufferPoolGenerations选项控制保留代数。 - Qwen3 风格 Q/K RMSNorm 融合(#28484):为 WebGPU
GroupQueryAttention添加 per-head Q/K RMS 归一化 prologue,将 Attention 前的SimplifiedLayerNormalization折叠到内核内部。
MLAS / RISC-V
- RVV INT8 GEMM/GEMV(#28308):为 RISC-V Vector(RVV)添加 INT8 GEMM、M=1 SGEMM routing 和激活函数内核,这是 MLAS 在 RISC-V 端侧芯片部署的重要进展。
- NHWC Depthwise Convolution(#28565):扩展无 transpose 的 NHWC 卷积路径以支持 Depthwise 卷积。
算子与模型优化
- Softplus/Softsign opset 22 BF16 支持(#28982):补齐 CUDA EP 的 opset 22 BFloat16 支持缺口。
- Name-based partitioning(#28903):实现基于节点名称子串匹配的设备分配机制,作为 annotation 匹配的替代方案。
- LoRA 安全性改进(#28801):修复 Python 绑定和 adapter 文件导入导出中的 use-after-free 和异常安全性问题。
- STFT 复杂输入修复(#28961):修复 STFT frame 指针在复值输入下的偏移计算。
- QMoE weights_prepacked 安全检测(#28965):当
weights_prepacked=0但 session 禁用了 prepacking 时给出明确错误,防止静默错误。
microsoft/onnxruntime-genai — 8 commits
Hunyuan Dense V1 导出支持(#2189):支持 Hunyuan Dense V1 模型的导出,将动态 NTK-alpha RoPE 烘焙到 rope_theta 中,并清理了泛型 RoPE scaling 元数据以避免 double scaling。
工具调用与 Harmony/GPT-OSS(#2200):更新了对 Harmony 和 GPT-OSS 聊天模板的工具调用支持。
Bug 修复
- TopK NaN 崩溃(#2195):当视觉模型因 corrupt 图像产生全 NaN logits 时,CUDA TopK kernel 会导致 illegal memory access 并摧毁 GPU 状态。修复方案:将
TopK_Pair.p初始值从INT_MAX改为正无穷语义,避免 NaN 比较导致越界。 - CPU provider 回归(#2179):修复 0.13.x 版本中
append_provider('cpu')因 provider 解耦重构导致的回归问题。 - WebGPU allocator 选项传递(#2177):确保用户设置的 provider 选项正确传递到 allocator initialization session。
- Qwen 视觉 pipeline 网格维度校验(#2219):增加
grid_t/grid_h/grid_w的正值校验,防止整数溢出。
pytorch/executorch — 30 commits
WebGPU 后端大爆发
这是 ExecuTorch WebGPU 后端的里程碑周。Julian Ng-Thow-Hing 贡献了一组密切相关的 PR,为 WebGPU 部署 LLM 补齐关键能力:
Fused SDPA(sdpa_with_kv_cache)(#20086/#20259):实现融合的 scaled dot-product attention 算子,包含 QK attention weights、softmax 和 attention output 三个子 kernel,支持动态
input_pos和 in-graph KV cache。这是 WebGPU 上运行 LLM 的核心算子。4-bit weight-only 量化 Linear(linear_q4gsw)(#20226/#20227):支持 Int4 分组对称量化线性层的 WebGPU 计算。weight 以
[N, K/2]uint8 格式序列化存储,在 WGSL 中通过(q-8)*scale反量化后计算。配套的测试套件覆盖 Llama-3.2-1B 的真实线性层形状(q/o-proj、k/v-proj、gate/up-proj、down-proj、lm_head)及 4k/8k 大 token prefill。GPU timestamp query profiling(#20201/#20258):实现了后端无关的 GPU 时间戳查询基础设施,包括
WebGPUQueryPool和ShaderDuration数据结构。
CUDA 后端优化
- Int4/Int8 matvec 向量化 activation 加载(#20144):通过将 Q8Block 对齐到 16 字节、使用向量化加载替代标量加载,提升 decode-only 场景下 matvec 的指令吞吐。
- SDPA 实现选择的 L_kv 阈值优化(#20142):重新 benchmark 了
splited_sdpa与regular_sdpa的选择阈值,修复了此前只适配 Qwen SDPA 配置导致 Gemma4 场景下选择错误的问题。新阈值为L_kv == 128。 - Gemma4 31B TurboQuant(#19891):为 Gemma4 启用 TurboQuant 量化路径。
Arm 后端进展
- TOSA dialect 算子扩展:新增 ARGMAX(#20112)、FFT2D/RFFT2D(#20111)。
- Adaptive Pooling(#20220):添加
DecomposeAdaptiveMaxPool2dPass到 pass manager。 - FP8 conv/matmul TOSA lowering 修复(#20219):FP16 累加的 FP8 MATMUL 正确 lowering 到 TOSA 1.0。
- Dim mapping helpers(#20222):处理 permute/view 操作后 reduction dim 的映射转换。
- Cortex-M CI 完善(#20224):补齐 DSP 和 Scalar 目标的 CI 覆盖。
基础设施与 CI
- VMA 共享修复(#20225):修复
etvk.vma_dep=instantiated模式下与 IGL 等其他 VMA 消费者的符号冲突。 - Samsung backend 修复(#20228):修复因 PassManager 迁移导致的导入崩溃。
- A100 CI 迁移 OSDC(#20212):从 AWS 迁移到 OSDC(Open Source Developer Cloud)runner。
- Cadence Xtensa CI(#20208):添加 Cadence Xtensa DSP 后端的 OSS CI 交叉编译支持。
- QNN Windows 原生构建(#20052):支持 QNN ExecuTorch 组件的 Windows .dll/.exe 原生构建。
futz12/ncnn_llm — 7 commits
ncnn_llm 本周最值得注意的是 GLM 的 OCR 支持:为 ChatGLM 视觉模型增加了 OCR(光学字符识别)能力。此外清理了一些错误的 router 实现,并调整了 README 的排版和内容。
apache/tvm — 30 commits
本周 TVM 的提交非常密集,主要是测试修复和 TIRx 集成后的遗留问题清理。
TIRx 集成清理(#19581 的后继工作)
TIRx 的 bringup(tvm.tirx 命名空间)引入了大量变更,本周的工作集中在修复其后遗症:
- Software Pipeline offset 修复(#19742):修复了 legacy PTX MMA 指令(
ptx_ldmatrix_legacy、ptx_mma_legacy、mma_store_legacy、mma_fill_legacy)在InjectSoftwarePipeline中的 opaque buffer offset 重写问题。此前导致 GEMM 测试的数值误差高达 40.2%。 - s_tir transform 测试修复(#19735 / #19737):修复了 11 个因 TIRx 引入导致失败的 transform 测试,同时将这些测试正式纳入 CI 的 python-unittest 阶段。
- Triton call_kernel compile options 保留(#19728):确保用户传入
num_warps等参数不会被内部的 constexpr dict 覆盖。 - PTX async script API 更新(#19739):将测试中的旧 API 迁移到
T.ptx.cp_async.commit_group()命名空间。
PyTorch 前端扩展
- 添加
logical_or/logical_xor的 ExportedProgram 和 FX 前端转换器(#19756)。 - 修复
aten.index.Tensor多索引 tensor 无 None entry 时 lower 到 CUDA 的路径(#19732)。
Python 基础设施重构
- Autoload backends(#19727):类似 PyTorch 的 device backend autoload 机制,外部包可在
tvm.backendsentry-point 注册回掉函数,在import tvm时自动加载。 - 移除 TVMError(#19727):替换为原生 Python 异常。
- Diagnostic 系统迁移(#19722):用 tvm-ffi 的
visit_error_context机制替换旧的Diagnostic/DiagnosticContext。验证器直接抛出带 offending node 的ffi::Error,pass 执行器捕获后追加 pass 名称和 TVMScript 源码位置。 - pyproject.toml 依赖清理(#19723):删除冗余依赖项。
- Disco session attribute 修复(#19736):修复因
__slots__ = ()object 元类变更导致 Disco Python wrapper 无法存储实例属性、每个 session 构造都失败的问题。同时修复了 NVSHMEM 构建。
CI/CD 改进
- cibuildwheel 4.1.0 升级(#19754):Build CUDA wheels 的 Docker 镜像切换到
quay.io/manylinux_cuda/,不再额外下载 CUDA toolkit。 - cuda-python 12.9.4(#19738):对齐 PyTorch 2.10.0 的
cuda-bindings要求。 - LLVM 版本兼容性修复(#19752/#19753/#19744/#19745):修复 SVE 代码生成、vectorized lround、+v9a vscale_range 和 stepvector intrinsic 在 LLVM 19/20 上的测试断言。
ml-explore/mlx-lm — 5 commits
功能增强
- batch_generate 扩展(#1359):
batch_generate接口新增return_logprobs和return_token_ids参数,使批量推理能同时返回对数概率和 token ID,对评估和采样策略调试非常有用。 - transformers>=5.7(#1356):更新 transformers 依赖到 5.7+,适配最新的 HuggingFace 模型定义。
安全与 Bug 修复
- CVE-2026-5843 修复(#1385):
trust_remote_code不再默认启用,model_file的执行需要用户显式授权,防止远程代码执行的供应链安全漏洞。 - Server 404 修复(#1327):修复短 prompt(<11 tokens)下
rfind_think_start的负索引导致 IndexError、表现为 HTTP 404 的问题。 - top_k 错误信息修正(#1377):纠正了
top_k参数绑定的描述文案。
总结
本周技术亮点:
- WebGPU 推理框架竞争白热化:Microsoft ONNX Runtime 的 FlashAttention decode 融合 + buffer pool,与 PyTorch ExecuTorch 的 SDPA + int4 量化 linear 同时发力,WebGPU 端到端的 LLM 推理管道正在成型。
- llama.cpp EAGLE3 + cohere2-MoE:投机解码和 MoE 架构的加入,让 llama.cpp 不仅是”跑得动的框架”,更是技术上持续领先的探索者。
- TVM TIRx 整合进入收尾阶段:大量测试修复表明 TIRx 的引入是一个大规模的底层重构,后续将释放更灵活的 S-TIR 编程能力。
- 安全与鲁棒性被重视:MLX CVE 修复、ORT GenAI NaN TopK 崩溃修复、ORT LoRA use-after-free 修复,说明框架项目方在加速功能开发的同时也在收紧安全防线。
- RISC-V 生态初见端倪:ONNX Runtime MLAS 的 RVV INT8 GEMM 支持,标志着主流推理框架开始关注 RISC-V 平台。