ONNX 牵手华为昇腾!开发者可在昇腾上跑原生模型:已支持 ONNX 算子 16 个,全量支持 ResNet 和 VGG 模型

中关村在线

开发者们看过来,ONNX 牵手华为昇腾,现在可以直接在昇腾上跑原生 ONNX 模型啦!

最新 ONNX Runtime 的生态全景图

ONNX Runtime 北向支持多种开发语言,包括 Python,C,C++,C#,Java,js 等;南向支持多种运行后端(Execution Provider,包括但不局限于 CPU、CUDA、CoreML),使用 ONNX Runtime,用户可以基于多种语言快速无缝在多种后端上直接运行 ONNX 模型,且不再需要额外的开发适配工作。

昇腾 CANN 简介

ONNX Runtime项目支持华为昇腾硬件平台的关键,是连接 AI 框架和昇腾硬件的桥梁—异构计算架构 CANN。

CANN是专门面向 AI 场景的异构计算架构,同时作为昇腾 AI 基础软硬件平台的核心组成部分之一,搭起了从上层深度学习框架到底层 AI 硬件的桥梁,全面支持昇思 MindSpore、飞桨(PaddlePaddle)、PyTorch、TensorFlow、Caffe、计图(Jittor)等主流 AI 框架,提供 900 多种优选模型,能够覆盖众多典型场景应用,兼容多种底层硬件设备,提供强大异构计算能力。

昇腾 CANN 与 ONNX 的长期合作

华为公司自 2018 年与微软亚洲研究院共同发起了首届 ONNX China Workshop 以来,积极参与 ONNX 社区建设,是历年 ONNX Workshop 中国地区会议的积极倡导者和组织者,在社区也曾发起 Edge WG、提出 Model Zoo CI 建议、参加 Steering Committee 选举等等。

昇腾 CANN 作为华为参与 ONNX 社区建设中重要的一环,也一直积极参与 ONNX 社区的模型适配工作。目前已支持140+个 onnx 模型推理,年底发布的 CANN6.0 版本将支持 200+ 个模型;支持 opset 8~13,主力支持 opset 11,算子支持率 85+%,CANN6.0 支持到 90+%。

让昇腾使能 ONNX 社区版本开发

昇腾 CANN 团队希望能够将长期以来的主动适配工作,逐渐转化为社区原生开发的一部分,能够更高效的服务用户,让用户第一时间就拥有昇腾 AI 软硬件平台支持的 ONNX 版本。而实现社区原生的一大关键就在于社区流水线中实现对昇腾的支持,而 ONNX Runtime 的支持则是重中之重。

使用最新的 ONNX Runtime,用户可以直接把原生 ONNX 模型跑在昇腾上。过程简单,易于使用。这也是在基于昇腾 CANN atc 工具的模型编译执行之外的又一条路径。

ONNX Runtime 支持后端

CANN Execution Provider 架构

昇腾作为国产芯片在海外开源社区的推入,其过程存在一定挑战。起初社区对于昇腾芯片以及 CANN 了解不足,昇腾开源团队通过与社区积极沟通、主动参与 ONNX meetup、详细讲解昇腾芯片的特点等方式,让社区详细了解了昇腾芯片以及 CANN 的能力,增强了对昇腾持续投入的信心,从而顺利合入代码。

ONNX Runtime CANN 后端已支持算子列表

目前,ONNX Runtime CANN 后端初步已支持 ONNX 算子 16 个,全量支持 ResNet 和 VGG 模型。用户可以在支持昇腾的环境中使用 ONNXRuntime 主干分支代码,配合 ONNX model zoo [ 3 ] 中的 ResNet 和 VGG 模型进行体验。如果用户想尝试其他的模型和算子,可以参考文档 [ 4 ] 自行编写代码,或者等待新版本发布,届时 CANN 后端会支持更多算子和模型。

未来,CANN 将在多个方面进行完善,包括:更多算子和模型的支持;算子融合、模型性能优化;支持算子自定义等。随着技术不断发展,大数据和机器学习的关系也越来越密切,在未来,也会进一步探索大数据 +AI 融合的场景,例如 Spark+ONNX+Ascend 这样的大数据 AI 全栈流程,探索生产可用、易用的大数据 AI 解决方案。

ONNX Runtime CANN 后端作为新功能难免有不足之处,欢迎大家在开源社区一起交流和完善。

相关链接:

[ 1 ] https://github.com/ microsoft/onnxruntime/pull/12416

[ 2 ] https://lfaidata.foundation

[ 3 ] https://github.com/onnx/models

[ 4 ] https://github.com/learningbackup/ai/blob/main/ascend/CANN%20Development%20Guideline.md

免责声明:本文来自刘跃进,不代表浮光掠影知识网 - 专注有价值知识的生活内容平台的观点和立场,如有侵权请联系本平台处理。

相关阅读

发表评论

表情:
评论列表 (暂无评论,1010人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码