国家标准计划《人工智能 算子接口 第2部分:神经网络类》由 TC28(全国信息技术标准化技术委员会)归口,TC28SC42(全国信息技术标准化技术委员会人工智能分会)执行 ,主管部门为国家标准委。
主要起草单位 北京大学 、鹏城实验室 、中国电子技术标准化研究院 、中国科学院软件研究所 、北京百度网讯科技有限公司 、华为技术有限公司 、中科寒武纪科技股份有限公司 、上海商汤智能科技有限公司 、新一代人工智能产业技术创新战略联盟(中关村视听产业技术创新联盟) 。
| 35 信息技术、办公机械 |
| 35.040 字符集和信息编码 |
随着人工智能(AI)技术的蓬勃发展,云服务器、边缘设备、终端设备等不同类型的处理器层出不穷,与此同时,各类计算库、中间表示工具以及编程框架也呈现百花齐放的态势。
AI软硬件的极大丰富,为应用的高效部署提供了诸多便利,但同时也带来了多样化、复杂化、碎片化的挑战。
一方面,AI软件从业者需要考虑软件与各种不同主流人工智能处理器之间的适配,花费大量精力提升软件的可移植性,另一方面,每一款AI硬件的研发,都必须从底层对常用人工智能软件提供支持,否则难以融入现有的软件生态。
这种M*N级别的软硬件映射关系,已经逐渐发展成桎梏人工智能应用发展的一大障碍。
若能屏蔽不同的底层硬件架构细节,制订标准化的软件接口,则有望将上述映射的复杂度降低,从而有力地促进人工智能软硬件生态的良性发展。
AI算子是构建人工智能应用的基本运算,是相关硬件操作的封装,AI软件通过调用算子接口使用硬件资源完成计算,算子库作为算子的集合,在人工智能软件栈中,处于承接底层硬件和上层软件的咽喉地位,是解决上述软硬件生态中复杂映射问题的关键。
不少人工智能软件研发团队已投入大量资源不断完善底层算子,并针对自身的软件提供高效支持。
然而,无论是从功能的全面性,还是接口的一致性来看,现有的人工智能计算框架和高性能算子库中的算子还不够完善和统一,相关的标准化工作亟待开展。
为缓解人工智能软硬件适配难度大、不同软件的算子接口不一致的问题,本工作旨在研制兼顾通用性和高效性的人工智能基础数学类算子接口标准。
本标准支持不同维度、不同存储格式、不同精度和不同类型的数据,并且能广泛覆盖人工智能领域内共性的基础数学操作。
并且,本标准不限制其软硬件实现方式,给予开发人员最大的优化空间。
本标准规范了人工智能领域的神经网络类算子的基本功能和参数要求,包括激活函数、损失函数、正则化、归一化、池化运算、卷积运算、模型评估、循环网络、编码、距离计算、视觉运算以及优化器等12个子类,可以覆盖常用AI算法中的大部分神经网络类算子。 本标准适用于指导人工智能芯片设计人员和软件开发人员设计、开发与应用接口统一的人工智能算子库,降低AI软硬件映射复杂度。 本标准支持不同维度、不同密度、不同精度和不同类型的数据处理,适用于不同类型的基础数学操作,不限制软硬件的实现方式,给予接口实现者较大的优化空间,能满足云服务器、边缘设备、终端设备等不同神经网络处理器设备的计算和存储需求,并提供相关软硬件优化扩展以及用户自定义的扩展等功能。