机器学习推理引擎ONNX Runtime 1.8开始支持网页AI用例

微软更新其机器学习推理引擎ONNX Runtime,发布1.8版本,这个版本更新加快了ONNX Runtime,在Android和iOS移动设备上的推理和训练速度,并且添加ONNX Runtim对网页支持,此外,这个版本还推出用于加速PyTorch工作负载的官方组件。ONNX Runtime是一个跨平台机器模型Runtime加速器,能够使用硬件加速功能,在一系列设备上,高性能地执行机器学习推理和训练。

ONNX Runtime 1.8的新功能之一,便是提供ONNX Runtime的网页支持。官方提到,网页端推理有许多好处,包括减少服务器和客户端的通信,能保护用户的隐私,同时也能减少程序安装,而且跨平台的浏览器,可以快速地将应用带上各平台。ONNX Runtime Web能够让人工智能开发人员,使用CPU和GPU构建网页机器学习应用。

对CPU工作负载来说,WebAssembly能够以接近原生的速度执行模型,ONNX Runtime Web使用Emscripten将原生ONNX Runtime CPU引擎编译成为WebAssembly后端,这将能够执行任何ONNX模型,并且支持几乎所有原生ONNX Runtime的功能,包括多线程和量化等,甚至是移动设备版本的ONNX Runtime。

在加速GPU任务的部分,ONNX Runtime Web使用了访问GPU的浏览器新标准WebGL,另外,微软也在探索使用WebGPU等新技术,来进一步加快在GPU上的ONNX Runtime Web推理。

对于在移动设备上越来越流行的人工智能应用,ONNX Runtime也强化了移动设备支持用例,官方提到,在移动设备上执行人工智能的优点,诸如脱机处理,并且具有隐私安全和低延迟的特性。微软在ONNX Runtime 1.6的时候,开始支持NNAPI和CoreML,以加快模型在手机上执行的速度,而这个新版本,微软发布可集成iOS应用程序和ONNX Runtime Mobile的Pod C/C++函数库。

现在Android和iOS程序包,都能以预构建组件的形式,分别从Maven Central和CocoaPods安装,Android程序包会使用Android设备上的NNAPI加速器,而iOS程序包则会使用CoreML,来加速模型执行。

ONNX Runtime用户可通过下载torch-ort组件,来使用ONNX Runtime Training,该功能可加速大型Transformer模型的分布式训练。ONNX Runtime Training包含GPU执行和GPU内存优化核心,可以提供达1.4倍的训练吞吐量,使得大型模型也可在性能较低的GPU上运行。