1、背景介绍
人工智能技术已成功应用于自然语言处理、计算机视觉、人机交互、虚拟现实等众多领域。这主要得益于算法的创新和大规模数据的积累,而软硬件平台的快速发展为大规模数据上的算法实现和人工智能应用提供了强有力的保障。随着云服务器、边缘设备、终端设备等人工智能硬件运算设备的不断涌现,以及各类人工智能运算库、中间表示工具以及编程框架的快速发展,人工智能软硬件生态面临多样化、复杂化、碎片化的挑战。如果能屏蔽不同的底层硬件架构细节,制订标准化的开发接口,将会进一步有力地促进人工智能软硬件生态的良性发展。为向人工智能编程框架和应用软件提供统一接口,促使各类设备之间互联互通,提升人工智能处理器和应用开发者效率,新一代人工智能产业技术创新战略联盟于2018年3月成立了相应的专题组来制定算子开发接口标准,主要包括基础数学、神经网络、机器学习以及其他如类脑计算等算子。目前,相关算子标准已经形成了初步的工作组标准草案,为了进一步降低标准的使用门槛、保证标准的实用性以及提供规范的验证机制,专题组决定启动相应参考实现开源项目。
2、技术特点
本项目的主要技术特点如下:
- 采用C99标准实现,不依赖特定的操作系统和硬件,实现跨平台功能;
- 基于统一抽象的数据类型,在屏蔽具体实现细节同时,保证接口易用性;
- 利用面向对象的编程范式,将相关的属性与方法封装在一起;
- 避免依赖第三方库或者软件,最小化部署成本。
- 尽可能支持不同维度、不同精度、不同类型的数据
- 提供一致性的错误处理机制
3、项目亮点和特色
算子标准参考实现将由来自不同企业、高校以及科研院所协同开发和推广,旨在为标准的使用者和实现者提供代码级别的语义规范,因此,项目具有如下特点:
• 与标准接口定义保持一致;
• 保证实现的正确性和无歧义性;
• 逻辑简单、易阅读、易扩展。
标准参考实现将能支持主流的人工智能开发框架和不同领域应用模型,能够部署在云服务器、边缘、终端等各类设备上。同时,参考实现中的所有算子都将使用统一的测试框架进行单元测试。未来参考实现还将提供自动验证框架来验证不同厂商基于标准所提供实现的正确性。
4、同类项目的互补性说明
暂无与本项目互补的项目。目前主流的AI开发框架,如TensorFlow、Pytorch、MXNet和PaddlePaddle等,虽然都对常用的算子进行了定义和实现,但接口形式和语义存在着较大差异性,本项目希望能够标准化算子接口定义,为使用者和实现者提供统一接口。