开源onnxruntime Releases·原文 2026年10月9日

ONNX Runtime 1.31.0发布:模型包API与EPContext回调转为稳定接口

微软onnxruntime发布 1.31.0,将模型包API和EPContext数据回调提升为稳定的C/C++接口,同时改进CPU会话初始化与量化MoE推理、扩展基于设备的执行提供程序选择。发布说明称变更自 1.30.0 起,CUDA与WebGPU内核细节由其插件EP单独发布。

AI解读:ONNX Runtime 1.31.0由作者tianleiwu在项目Releases页面发布,变更范围自 1.30.0 起。发布说明将模型包API与EPContext数据回调列为稳定化重点。

发布说明称,模型包C/C++ API稳定后用于加载包、选择兼容模型变体并创建会话;EPContext命名数据读写回调也转为稳定,并新增EP支持协商,避免注册回调静默回退到文件系统I/O。

CPU侧称通过并行化可并行的权重预打包降低会话初始化开销,并用MLAS QNBit内核与分组专家调度加速分块INT4/INT8 QMoE专家;QMoE新增accuracy_level属性,INT4默认用FP32激活,accuracy_level=4 才使用INT8激活计算。

兼容性方面,CUDA Plugin EP v0.3.0与WebGPU Plugin EP v0.5.0与 1.31.0 配套;核心与插件必须使用相同的contrib-op schema,建议从同一ONNX Runtime修订版本构建,否则可能出现错误执行或崩溃且插件注册阶段未必能检测到。

两处行为变化:GatherBlockQuantized对越界索引在CPU、CUDA、WebGPU的整数与浮点量化格式下都输出零切片,故意区别于ONNX Gather的报错语义;ACL EP被弃用并将在未来版本移除,使用 --use_acl的源码构建会收到弃用警告。

ONNX依赖仍为 1.22.0。发布说明称初始的ONNX 1.23集成已回退以等待上游修复,因此本版本不包含该集成的新opset与FLOAT6支持。支持的本地构建现在默认启用 1DS遥测,可用 --no_telemetry关闭。

微软onnxruntime项目发布ONNX Runtime 1.31.0,发布说明称本次变更自 1.30.0 起,重点是把模型包API和EPContext数据回调提升为稳定的C与C++ API,并改进CPU模型加载、量化MoE推理以及基于设备的执行提供程序选择。

发布说明由作者tianleiwu署名。CUDA与WebGPU的内核更新只在核心发布说明中概述,详细提供程序说明由其各自的插件EP发布单独覆盖。

稳定API与实验接口迁移

发布说明称,模型包C/C++ API已稳定,用于加载包、选择兼容的模型变体并创建会话;EPContext命名数据读写回调也已稳定,用于应用自行管理存储。新增EP支持协商,使已注册回调不会静默回退到文件系统I/O。

模型包消费者应改用OrtApi::GetModelPackageApi和稳定的OrtModelPackageApi表。EPContext回调注册改用稳定API,对应的实验性查找项被移除。稳定原生回调契约携带回调与状态指针,载荷限制由应用回调、绑定或EP执行,而不是由原生读取选项策略执行。

  • Compile API扩展为可将外部初始化器和EP context数据写入缓冲区,从而支持大于 2 GB模型的内存内编译工作流。
  • 新增工作区内存记账、来源报告和分区后预留验证;设置session.strict_workspace_verification=1 会在工作区声明越界或存在非零孤立预留时让初始化失败。该严格验证不支持ORT格式模型加载。
  • 新增源码构建选项onnxruntime_DISABLE_DEVICE_DISCOVERY=ON,跳过平台加速器探测并只报告CPU设备。

CPU、MLAS与量化MoE推理

发布说明称,CPU会话初始化时对可并行的权重预打包使用intra-op线程池进行并行化;跨会话共享预打包权重缓存仍走串行路径。

分块INT4/INT8 QMoE CPU专家推理改用预打包MLAS QNBit内核与分组专家调度。QMoE新增accuracy_level属性和ORT_QMOE_CPU_QNBIT_GEMM覆盖项;INT4默认使用FP32激活,accuracy_level=4 才选择INT8激活计算,而INT8权重专家在新路径上使用INT8激活。

  • 新增可选的CPU MatMulNBits FP32吞吐模式,使用mlas.qnbit.force_fp32=1,适用于x86/x64、FP32输入、4 位、块大小 32、accuracy-level 4的节点;它默认关闭,为整个会话选择同一条数值路径,并以单请求延迟换取批量吞吐。
  • 新增x86 AVX2/FMA/F16C FP16 LayerNorm/RMSNorm内核,以及AVX-512滑动窗口NCHWc深度卷积内核。
  • 集成KleidiAI SVE2.1 FP16 GEMM,并加入逐线程向量长度校验;在可用时仍保留SME/SME2优先级,KleidiAI更新到 1.30.0。
  • 优化RISC-V RVV内核,新增RVV LinearAttention与FP32最小值/最大值归约内核。

执行提供程序与算子变动

CoreML现在可通过OrtEpFactory、设备枚举、SessionOptionsAppendExecutionProvider_V2和EP选择策略暴露。发布说明称NPU选择需要iOS 16/macOS 13或更高版本,GPU选择需要iOS 15/macOS 12或更高版本。在同时宣传CoreML与WebGPU用于同一Apple GPU的构建中,PREFER_GPU/MAX_PERFORMANCE通过既有EP名称决胜规则选择CoreML,WebGPU仍可通过显式设备选择使用。

共享contrib算子方面,EngramGate与NGramHashMapping扩展支持Qwen4-Exp,并新增VarlenNGramHashMapping用于带请求本地历史的打包DeepSeek Engram批处理;打包哈希还支持Qwen4-Exp头偏移、EOS重置与段边界。GatedRMSNorm新增activation属性,支持SiLU、其别名Swish和Sigmoid门控,跨CPU、CUDA、WebGPU,默认仍为SiLU。

  • 新增无权重超连接算子BranchwiseRMSNorm、ScaledSiLU、HyperConnectionPreMix、HyperConnectionPostMix,提供CPU、CUDA、WebGPU实现。
  • GatherBlockQuantized扩展到FP8/FP4数据、全轴块和scale广播,并改进CPU UINT8反量化。
  • WebNN EP新增GroupNormalization、GroupNorm、SkipGroupNorm支持,并通过推断resample2d轴支持NHWC Resize,同时修复ConvTranspose形状算术溢出。
  • 其他EP修复包括:CANN并行执行死锁、并发XNNPACK分配器初始化,以及DirectML上传堆分配校验与Resize ROI轴扩展修正。

兼容性、行为变化与依赖

发布说明要求核心与插件使用相同的contributed-operator schema,建议从同一ONNX Runtime修订版本构建两者。发布说明称schema不匹配可能导致错误执行或崩溃,且可能在插件注册期间无法被检测到。CUDA Plugin EP v0.3.0与WebGPU Plugin EP v0.5.0与ONNX Runtime 1.31.0配套。

GatherBlockQuantized的行为变化为:越界索引在CPU、CUDA、WebGPU上的整数与浮点量化格式下都输出零切片。发布说明称这故意不同于ONNX Gather的报错语义。

  • ACL EP被弃用并将在未来版本移除;使用 --use_acl的源码构建现在会收到弃用警告。
  • ONNX依赖仍为 1.22.0。初始的ONNX 1.23集成已回退以等待上游修复,因此本版本不包含该集成的新opset或FLOAT6支持。
  • 支持的本地构建现在默认启用 1DS遥测;Windows TraceLogging可通过 --use_windows_telemetry或onnxruntime_USE_WINDOWS_TELEMETRY=ON选择,遥测可用 --no_telemetry关闭。

模型加载与运行时安全加固

发布说明列出多项模型加载与图校验改动:限制稀疏初始化器的稠密分配、检查稀疏值基数、校验内联原始初始化器大小和ORT格式字符串初始化器,并将字符串载荷计入初始化器大小限制。

图校验方面,拒绝重复的模型本地函数、递归函数图属性、携带子图的非控制流节点,以及向零输入schema提供输入;AOT函数展开也受到边界限制。外部数据校验被约束到已打开文件,并拒绝模型包控制的输出文件选项,包括优化模型输出路径。

  • 运行时与算子正确性方面,发布说明提到序列化捕获图重放等修复,但来源内容在列出该条时截断,未给出完整细节。
  • 优化器校验得到加强,覆盖初始化器类型、形状传播、QDQ权重形状与轴,以及LabelEncoder融合属性。
  • 量化工具侧:量化预处理跳过形状推断时保留已优化模型;量化器输出INT4/UINT4张量时将模型IR提升到版本 10;计算量化范围时避免中间溢出。

信息来源

更多

新闻专题
外观