ONNX Runtime发布v1.28.3补丁版,修复多处内存越界与堆溢出
微软onnxruntime发布v1.28.2之上的补丁版v1.28.3,重点修复内存安全、模型校验、插件执行问题,并更新打包基础设施。
微软onnxruntime发布v1.28.3,这是v1.28.2之上的补丁版本,包含内存安全与模型校验修复、一个插件执行修复以及打包基础设施更新。发布说明由GitHub Copilot协助起草。
修复的内存安全问题
本次发布的bug修复集中在越界读与溢出等内存安全问题上。
修复了EmbedLayerNormalization在beta为标量时形状推断中的越界读(#32610)。
修复了在将打包的sub-byte缓冲区复用于完整字节张量时的堆缓冲区溢出(#32611)。
修复了当Loop或Scan的主体输入同时也是初始化器(initializer)时的越界读(#32609)。
加强了相关contrib算子的形状推断,包括GroupQueryAttention、SparseAttention和CausalConvWithState(#32607)。
修复了ConvTransposeWithDynamicPads以及InferenceContextImpl::getInputData中的越界读(#32679、#32681)。
模型校验与插件执行修复
除了内存问题,这次还加严了模型结构校验,并修了一个插件执行路径上的问题。
拒绝无效图结构:向零输入算子schema提供输入,以及在非控制流节点上挂载子图(#32633、#32641)。
在插件EP的单张量数据传输过程中保留streams(#32666)。
构建与测试可靠性更新
打包与测试基础设施方面,本次解除了若干依赖阻塞。
解除了Linux镜像前提条件、经过认证的ARM64 pip索引、镜像的Dawn checkout、经过认证的Android pip与Gradle源,以及移动工作负载的经过认证的NuGet源等打包阻塞(#31724、#29743、#32400、#32005)。
为Linux minimal CoreML构建安装uuid-dev,并从一项量化测试中移除了对Hugging Face下载的依赖(#32491、#32443)。
贡献者
本次发布共有 10 位贡献者:@wangw-1991、@bbernhar、@shiyi9801、@tianleiwu、@adrastogi、@eserscor、@jiafatom、@miaobin、@sanaa-hamel-microsoft、@xiaofeihan1。