人工智能发展白皮书-技术架构篇(2018年).pdf

上传人:恋****泡 文档编号:791079 上传时间:2019-07-12 格式:PDF 页数:36 大小:2.68MB
返回 下载 相关 举报
人工智能发展白皮书-技术架构篇(2018年).pdf_第1页
第1页 / 共36页
人工智能发展白皮书-技术架构篇(2018年).pdf_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《人工智能发展白皮书-技术架构篇(2018年).pdf》由会员分享,可在线阅读,更多相关《人工智能发展白皮书-技术架构篇(2018年).pdf(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 人工智能发展白皮书人工智能发展白皮书 技术架构篇技术架构篇 (2018 年)年) 中国信息通信研究院中国信息通信研究院 中国人工智能产业发展联盟中国人工智能产业发展联盟 2018年年9月月版权声明版权声明 本白皮书版权属于中国信息通信研究院和中国人工智能产业发展联盟,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源:中国信息通信研究院和中国人工智能产业发展联盟”。违反上述声明者,编者将追究其相关法律责任。本白皮书版权属于中国信息通信研究院和中国人工智能产业发展联盟,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源:中国信息通信研究院

2、和中国人工智能产业发展联盟”。违反上述声明者,编者将追究其相关法律责任。 前言前言 人工智能是一种引发诸多领域产生颠覆性变革的前沿技术, 当今的人工智能技术以机器学习, 特别是深度学习为核心, 在视觉、 语音、自然语言等应用领域迅速发展, 已经开始像水电煤一样赋能于各个行业。世界各国高度重视人工智能发展,美国白宫接连发布数个人工智能政府报告,是第一个将人工智能发展上升到国家战略层面的国家,除此以外,英国、欧盟、日本等纷纷发布人工智能相关战略、行动计划, 着力构筑人工智能先发优势。 我国高度重视人工智能产业的发展,习近平总书记在十九大报告中指出,要“推动互联网、大数据、人工智能和实体经济深度融合

3、“,从 2016 年起已有“互联网+人工智能三年行动实施方案、新一代人工智能发展规划、促进新一代人工智能产业发展三年行动计划(2018-2020 年)等多个国家层面的政策出台,也取得了积极的效果,我国逐渐形成了涵盖计算芯片、开源平台、 基础应用、 行业应用及产品等环节较完善的人工智能产业链。 2018 人工智能发展白皮书是中国信息通信研究院、中国人工智能产业发展联盟首次联合发布。本篇为技术架构篇,从产业发展的角度,选择以深度学习算法驱动的人工智能技术为主线,分析作为人工智能发展“三驾马车”的算法、算力和数据的技术现状、问题以及趋势, 并对智能语音、 语义理解、 计算机视觉等基础应用技术进行分析

4、,并提出了目前存在的问题和技术的发展趋势。 后续我院与中国人工智能产业发展联盟将继续发布人工智能应用、 产业和政策方面研究成果。目录目录 一、 人工智能技术发展概述. 1 (一) 人工智能技术流派发展简析 . 1 (二) 深度学习带动本轮人工智能发展 . 2 二、 基于深度学习的人工智能技术现状. 3 (一) 基于深度学习的人工智能技术体系综述 . 3 1. 基础硬件层. 4 2. 深度神经网络模型编译器. 4 3. 软件框架层. 4 4. 基础应用技术. 5 (二) 算法发展趋势 . 5 1. 算法的设计逻辑. 5 2. 算法的主要任务. 6 3. 新算法不断提出. 7 (三) 软件框架成为

5、技术体系核心 . 8 1. 开源软件框架百花齐放各具特点. 8 2. 巨头以开源软件框架为核心打造生态. 11 (四) 编译器解决不同软硬件的适配问题 . 12 1. 深度学习网络模型编译器解决适应性问题. 13 2. 中间表示层解决可移植性问题. 14 3. 未来亟需模型转换及通用的模型表示. 15 (五) AI 计算芯片提供算力保障. 16 1. 深度学习对 AI 计算芯片的需求. 16 2. 典型 AI 计算芯片的使用现状. 16 (六) 数据为算法模型提供基础资源 . 19 (七) 高性能计算服务器和服务平台快速发展 . 20 1. GPU 服务器 . 20 2. 以服务的形式提供人工

6、智能能力成为趋势. 21 三、 基于深度学习的基础应用技术现状. 22 (一) 智能语音技术改变人机交互模式 . 23 1. 智能语音技术概述. 23 2. 智能语音产品和服务形态多样. 23 (二) 计算机视觉技术已在多个领域实现商业化落地 . 24 1. 计算机视觉概述. 24 2. 计算机视觉技术应用领域广阔. 26 (三) 自然语言处理成为语言交互技术的核心 . 27 1. 自然语言处理技术现状. 27 2. 自然语言处理技术的应用方向. 28 四、 问题和趋势展望. 28 (一) 主要问题 . 28 (二) 趋势展望 . 30中国信息通信研究院&中国人工智能产业发展联盟 人工智能发展

7、白皮书-技术架构篇(2018) 1 一、 一、 人工智能技术发展概述 (一) 人工智能技术流派发展简析(一) 人工智能技术流派发展简析 让机器实现人的智能,一直是人工智能学者不断追求的目标,不同学科背景或应用领域的学者,从不同角度,用不同的方法,沿着不同的途径对智能进行了探索。其中,符号主义、连接主义和行为主义是人工智能发展历史上的三大技术流派。 符号主义又称为逻辑主义,在人工智能早期一直占据主导地位。该学派认为人工智能源于数学逻辑, 其实质是模拟人的抽象逻辑思维,用符号描述人类的认知过程。 早期的研究思路是通过基本的推断步骤寻求完全解,出现了逻辑理论家和几何定理证明器等。上世纪 70 年代出

8、现了大量的专家系统,结合了领域知识和逻辑推断,使得人工智能进入了工程应用。PC 机的出现以及专家系统高昂的成本,使符号学派在人工智能领域的主导地位逐渐被连接主义取代。 连接主义又称为仿生学派,当前占据主导地位。该学派认为人工智能源于仿生学, 应以工程技术手段模拟人脑神经系统的结构和功能。连接主义最早可追溯到 1943 年麦卡洛克和皮茨创立的脑模型,由于受理论模型、生物原型和技术条件的限制,在 20 世纪 70 年代陷入低潮。直到 1982 年霍普菲尔特提出的 Hopfield 神经网络模型和 1986年鲁梅尔哈特等人提出的反向传播算法, 使得神经网络的理论研究取得了突破。 2006 年, 连接

9、主义的领军者 Hinton 提出了深度学习算法,使神经网络的能力大大提高。2012 年,使用深度学习技术的 AlexNet模型在 ImageNet 竞赛中获得冠军。 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院&中国人工智能产业发展联盟 2 行为主义又称为进化主义,近年来随着 AlphaGo 取得的突破而受到广泛关注。该学派认为人工智能源于控制论,智能行为的基础是“感知行动”的反应机制,所以智能无需知识表示,无需推断。智能只是在与环境交互作用中表现出来, 需要具有不同的行为模块与环境交互,以此来产生复杂的行为。 在人工智能的发展过程中,符号主义、连接主义和行为主义等流派不仅先

10、后在各自领域取得了成果, 各学派也逐渐走向了相互借鉴和融合发展的道路。特别是在行为主义思想中引入连接主义的技术,从而诞生了深度强化学习技术,成为 AlphaGo 战胜李世石背后最重要的技术手段。 (二) 深度学习带动本轮人工智能发展(二) 深度学习带动本轮人工智能发展 深度学习已经在语音识别、图像识别等领域取得突破。深度学习全称深度神经网络,本质上是多层次的人工神经网络算法,即从结构上模拟人脑的运行机制, 从最基本的单元上模拟了人类大脑的运行机制。深度学习已经开始在计算机视觉、语音识别、自然语言理解等领域取得了突破。在语音识别领域,2010 年,使用深度神经网络模型的语音识别相对传统混合高斯模

11、型识别错误率降低超过 20%, 目前所有的商用语音识别算法都基于深度学习。在图像分类领域,目前针对ImageNet 数据集的算法分类精度已经达到了 95%以上,可以与人的分辨能力相当。 深度学习在人脸识别、 通用物体检测、 图像语义分割、自然语言理解等领域也取得了突破性的进展。 中国信息通信研究院&中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 3 海量的数据和高效的算力支撑是深度学习算法实现的基础。 深度学习分为训练(training)和推断(inference)两个环节。 训练需要海量数据输入,训练出一个复杂的深度神经网络模型。推断指利用训练好的模型, 使用待判断的数

12、据去 “推断” 得出各种结论。 大数据时代的到来,图形处理器(Graphics Processing Unit,GPU)等各种更加强大的计算设备的发展,使得深度学习可以充分利用海量数据(标注数据、弱标注数据或无标注数据),自动地学习到抽象的知识表达,即把原始数据浓缩成某种知识。当前基于深度学习的人工智能技术架构如图1 所示。 图 1 基于深度学习的人工智能技术应用架构图 二、 二、 基于深度学习的人工智能技术现状 (一) 基于深度学习的人工智能技术体系综述(一) 基于深度学习的人工智能技术体系综述 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院&中国人工智能产业发展联盟 4 当

13、前, 基于深度学习的人工智能算法主要依托计算机技术体系架构实现,深度学习算法通过封装至软件框架1的方式供开发者使用。软件框架是整个技术体系的核心,实现对人工智能算法的封装,数据的调用以及计算资源的调度使用。为提升算法实现的效率,其编译器及底层硬件技术也进行了功能优化。 具体架构请见图 1 中的基础硬件层、深度神经网络模型编译器及软件框架三层。 本章所探讨的人工智能技术体系主要包含三个维度, 一是一是针对人工智能算法原理本身的探讨, 二是二是对算法实现所依托的技术体系进行概述,三是是针对深度学习所需的数据进行分析。 1. 基础硬件层 基础硬件层为算法提供了基础计算能力。 硬件层涵盖范围除了中央处

14、理器中央处理器(Central Processing Unit,CPU)及 GPU 外,还包括为特定场景应用而定制的计算芯片,以及基于计算芯片所定制的服务器,包括 GPU 服务器集群,各类移动终端设备以及类脑计算机等。 2. 深度神经网络模型编译器 深度神经网络模型编译器是底层硬件和软件框架、 以及不同软件框架之间的桥梁。该层旨在为上层应用提供硬件调用接口,解决不同上层应用在使用不同底层硬件计算芯片时可能存在的不兼容等问题。其涵盖范围包括针对人工智能计算芯片定向优化的深度神经网络模型编译器,以及针对不同神经网络模型表示的规定及格式。 3. 软件框架层 1软件框架 (software frame

15、work) , 通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。 中国信息通信研究院&中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 5 软件框架层实现算法的模块化封装, 为应用开发提供集成软件工具包。 该层涵盖范围包括针对算法实现开发的各类应用及算法工具包,为上层应用开发提供了算法调用接口,提升应用实现的效率。 4. 基础应用技术 当前人工智能的商业化实现主要是基于计算机视觉、智能语音、自然语言处理等基础应用技术实现,并形成了相应的产品或服务。本部分将在第三章进行详细讨论。 (二) 算法

16、发展趋势(二) 算法发展趋势 当前,人工智能算法已经能够完成智能语音语义、计算机视觉等智能化任务,在棋类、电子游戏对弈,多媒体数据生成等前沿领域也取得了一定进展,为人工智能应用落地提供了可靠的理论保障。 1. 算法的设计逻辑 人工智能算法的设计逻辑可以从“学什么”、“怎么学”和“做什么”三个维度进行概括。 首先是学什么。人工智能算法需要学习的内容,是能够表征所需完成任务的函数模型。 该函数模型旨在实现人们需要的输入和输出的映射关系, 其学习的目标是确定两个状态空间 (输入空间和输出空间)内所有可能取值之间的关系;其次是怎么学。算法通过不断缩小函数模型结果与真实结果误差来达到学习目的, 一般该误

17、差称为损失函数。损失函数能够合理量化真实结果和训练结果的误差, 并将之反馈给机器继续作迭代训练, 最终实现学习模型输出和真实结果的误差处在合理范围;最后是做什么。机器学习主要完成三件任务,即分类、回归人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院&中国人工智能产业发展联盟 6 和聚类。目前多数人工智能落地应用,都是通过对现实问题抽象成相应的数学模型,分解为这三类基本任务进行有机组合,并对其进行建模求解的过程。 2. 算法的主要任务 人工智能实际应用问题经过抽象和分解,主要可以分为回归、分类和聚类三类基本任务,针对每一类基本任务,人工智能算法都提供了各具特点的解决方案: 一是一是

18、回归任务的算法。 回归是一种用于连续型数值变量预测和建模的监督学习算法。目前回归算法最为常用的主要有四种,即线性回归(正则化)、回归树(集成方法)、最邻近算法和深度学习。二二是分类任务的算法。 分类算法用于分类变量建模及预测的监督学习算法,分类算法往往适用于类别(或其可能性)的预测。其中最为常用的算法主要有五种,分别为逻辑回归(正则化)、分类树(集成方法)、支持向量机、朴素贝叶斯和深度学习方法。三是三是聚类任务的算法。聚类算法基于数据内部结构来寻找样本集群的无监督学习任务, 使用案例包括用户画像、电商物品聚类、社交网络分析等。其中最为常用的算法主要有四种即 K 均值、仿射传播、分层/层次和聚类

19、算法 (Density-Based Spatial Clustering of Applications with Noise, DBSCAN)。 表 1 人工智能主要算法分类 回归任务 分类任务 聚类任务 线性回归(正则化) 回归树(集成方法) 最邻近算法 深度学习 逻辑回归(正则化) 分类树(集成方法) 支持向量机 朴素贝叶斯 深度学习 K 均值 仿射传播 分层/层次 聚类算法 中国信息通信研究院&中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 7 3. 新算法不断提出 近年来,以深度学习算法为代表的人工智能技术快速发展,在计算机视觉、语音识别、语义理解等领域都实现了

20、突破。但其相关算法目前并不完美,有待继续加强理论性研究,也不断有很多新的算法理论成果被提出,如胶囊网络、生成对抗网络、迁移学习等。 胶囊网络是为了克服卷积神经网络的局限性而提出的一种新的网络架构。卷积神经网络存在着难以识别图像中的位置关系、缺少空间分层和空间推理能力等局限性。受到神经科学的启发,人工智能领军人物 Hinton 提出了胶囊网络的概念。胶囊网络由胶囊而不是由神经元构成,胶囊由一小群神经元组成,输出为向量,向量的长度表示物体存在的估计概率,向量的方向表示物体的姿态参数。胶囊网络能同时处理多个不同目标的多种空间变换,所需训练数据量小,从而可以有效地克服卷积神经网络的局限性,理论上更接近

21、人脑的行为。但胶囊网络也存在着计算量大、大图像处理上效果欠佳等问题,有待进一步研究。 生成对抗网络(GAN: Generative Adversarial Networks)是于 2014年提出的一种生成模型。该算法核心思想来源于博弈论的纳什均衡,通过生成器和判别器的对抗训练进行迭代优化, 目标是学习真实数据的分布,从而可以产生全新的、与观测数据类似的数据。与其他生成模型相比,GAN 有生成效率高、设计框架灵活、可生成具有更高质量的样本等优势,2016 年以来研究工作呈爆发式增长,已成为人工智能一个热门的研究方向。但 GAN 仍存在难以训练、梯度消失、模人工智能发展白皮书-技术架构篇(2018

22、) 中国信息通信研究院&中国人工智能产业发展联盟 8 式崩溃等问题,仍处于不断研究探索的阶段。 迁移学习是利用数据、任务或模型之间的相似性,将学习过的模型应用于新领域的一类算法。 迁移学习可大大降低深度网络训练所需的数据量,缩短训练时间。其中,Fine-Tune 是深度迁移学习最简单的一种实现方式, 通过将一个问题上训练好的模型进行简单的调整使其适用于一个新的问题,具有节省时间成本、模型泛化能力好、实现简单、 少量的训练数据就可以达到较好效果的优势, 已获得广泛应用。 (三) 软件框架成为技术体系核心(三) 软件框架成为技术体系核心 当前,人工智能基础性算法已经较为成熟,各大厂商纷纷发力建设算

23、法模型工具库,并将其封装为软件框架,供开发者使用,可以说软件框架是算法的工程实现。 企业的软件框架实现有闭源和开源两种形式:苹果公司等少数企业选择闭源方式开发软件框架,目的是打造技术壁垒;目前业内主流软件框架基本都是开源化运营。本篇主要关注开源软件框架的技术特点,对闭源软件框架不做过多讨论。 1. 开源软件框架百花齐放各具特点 人工智能国际巨头企业将开源深度学习软件框架作为打造开发及使用生态核心的核心。 总体来说开源软件框架在模型库建设及调用功能方面具有相当共性,但同时又各具特点。业界目前主要有深度学习训练软件框架和推断软件框架两大类别。 1) 深度学习训练软件框架 基于深度学习的训练框架主要

24、实现对海量数据的读取、 处理及训练,主要部署在 CPU 及 GPU 服务集群,主要侧重于海量训练模型实中国信息通信研究院&中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 9 现、系统稳定性及多硬件并行计算优化等方面的任务。目前主流的深度学习训练软件框架主要有 TensorFlow,MXNet,Caffe/2+PyTorch等。 TensorFlow 以其功能全面,兼容性广泛和生态完备而著称。该软件框架由谷歌大脑(Google Brain)团队主要支撑,实现了多 GPU上运行深度学习模型的功能,可以提供数据流水线的使用程序,并具有模型检查,可视化和序列化的配套模块。其生态系

25、统已经成为深度学习开源软件框架最大的活跃社区。 MXNet 以其优异性能及全面的平台支持而著称。该软件框架是由亚马逊公司(Amazon)主导的深度学习平台,目前已经捐献到阿帕奇软件基金会(Apache)进行孵化。其主要特点包括:一是可以在全硬件平台(包括手机端)运行,提供包括 Python、R 语言、Julia、C+、Scala、Matlab 以及 Javascript 的编程接口;二是具有灵活的编程模型, 支持命令式和符号式编程模型; 三是从云端到客户端可移植,可运行于多 CPU、多 GPU、集群、服务器、工作站及移动智能手机;四是支持本地分布式训练,在多 CPU/GPU 设备上的分布式训练

26、,使其可充分利用计算集群的规模优势。 Caffe/2+PyTorch 以其在图像处理领域的深耕和易用性而著称。该软件框架是由脸书公司(Facebook)主导的平台,目前 Caffe 1/2两个项目已经合并到 PyTorch 统一维护。在图像处理领域 Caffe 有着深厚的生态积累,结合 PyTorch 作为一个易用性很强的软件框架,越来越受到数据科学家的喜爱。我国很多人工智能图像处理团队选择人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院&中国人工智能产业发展联盟 10 PyTorch 作为主要工作平台。 Microsoft Cognitive Toolkit (CNTK)以其在

27、智能语音语义领域的优势及良好性能而著称。该软件框架由微软公司于 2016 年基于 MIT协议开源,它具有速度快、可扩展性强、商业级质量高以及 C+和Python 兼容性好等优点, 支持各种神经网络模型、 异构及分布式计算,依托于微软的产品生态,在语音识别、机器翻译、类别分析、图像识别、图像字幕、文本处理、语言理解和语言建模等领域都拥有良好应用。 PaddlePaddle 以其易用性和支持工业级应用而著称。 该软件框架是百度旗下的深度学习开源平台,是我国自主开发软件框架代表。其最大特点就是易用性,得益于其对算法的封装,对于现成算法(卷积神经网络 VGG、 深度残差网络 ResNet、 长短期记忆

28、网络 LSTM 等) 的使用可以直接执行命令替换数据进行训练。 非常适合需要成熟稳定的模型来处理新数据的情况。 除上之外, 业界及学术界还存在着多个机器学习及深度学习软件框架,如 Scikit-learn,Theano 等。这些软件框架在其专长领域仍然发挥重要作用。但由于各软件框架的维护力量及发展思路不同,同时缺少贡献人员,导致软件框架发展水平略显滞后,存在着包括算法库扩展不及时,API 水平较低以及不支持分布式任务等问题。 2) 深度学习推断软件框架 基于深度学习的推断的计算量相对训练过程小很多, 但仍涉及到大量的矩阵卷积、非线性变换等运算,为了满足在终端侧限定设备性中国信息通信研究院&中国

29、人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 11 能及功耗等因素的场景下, 业界也开发了众多开源的终端侧软件框架。 Caffe2go 是最早出现的终端侧推断软件框架, 能够让深层神经网络在手机上高效的运行。 由于终端侧的 GPU 设备性能有限, Caffe2go是基于 CPU 的优化进行设计。TensorFlow Lite 可以运行在 Android 和 iOS 平台, 结合 Android 生态的神经网络运行时能够实现较为高效的 AI 移动端应用速度。NCNN 是腾讯开源的终端侧 AI 软件框架,支持多种训练软件框架的模型转换, 是主要面向CPU的AI模型应用,无第三方

30、依赖具有较高的通用性,运行速度突出,是国内目前较为广泛使用的终端侧 AI 软件框架。Core ML 是苹果公司开发的 iOS AI软件框架,能够对接 Caffe、PyTorch、MXNet、TensorFlow 等绝大部分 AI 模型, 并且自身提供了常用的各种手机端 AI 模型组件, 目前也汇集了众多开发者及贡献力量。Paddle-mobile 是百度自研的移动端深度学习软件框架,主要目的是将 Paddle 模型部署在手机端,其支持 iOS GPU 计算。但目前功能相对单一,支持较为有限。TensorRT是英伟达(NVIDIA)开发的深度学习推断工具,已经支持 Caffe、Caffe2、Te

31、nsorFlow、MXNet、PyTorch 等主流深度学习库,其底层针对NVIDIA显卡做了多方面的优化, 可以和CUDA编译器结合使用。 目前主要产业巨头均推出了基于自身技术体系的训练及推断软件框架,但由于目前产业生态尚未形成,深度学习模型表示及存储尚未统一,训练软件框架及推断软件框架尚未形成一一对应关系,技术生态争夺将继续持续。 2. 巨头以开源软件框架为核心打造生态 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院&中国人工智能产业发展联盟 12 人工智能开源软件框架生态的核心, 是通过使用者和贡献者之间的良好互动和规模化效应,形成现实意义的标准体系和产业生态,进而占据人

32、工智能核心的主导地位。 开源软件框架的用户包括最终服务及产品的使用者和开发者。 当前开源软件框架的技术发展呈现出以下几方面的特点: 一是一是谷歌与其他公司间持续竞争。 巨头公司在技术上将积极探寻包括模型互换,模型迁移等技术联合,以对抗谷歌公司。例如脸书(Facebook) 和微软已经合作开发了一个可互换的人工智能软件框架解决方案。二是二是开源软件框架在向统一和标准化方向发展。随着人工智能应用的爆发, 开发人员在不同平台上创建模型及部署模型的需求愈发强烈, 在各类软件框架间的模型迁移互换技术研发已经成为重点。三是三是更高级的 API2逐渐占据主导地位。以 Keras 为例,它是建立在Tensor

33、Flow、Theano、CNTK、MXNet 和 Gluon 上运行的高级开源神经网络库, 以其高级 API 易用性而得到了广泛的使用。 四是四是模型的集群并发计算成为业界研究热点。 当前人工智能网络对于单计算节点的算力要求过高, 但当前主流开源软件框架对于模型分割进行计算并没有实现,而这个问题也将随着应用场景的不断丰富而不断引起重视,成为开源软件框架下一个核心竞争点。 (四) 编译器解决不同软硬件的适配问题(四) 编译器解决不同软硬件的适配问题 在实际工程应用中,人工智能算法可选择多种软件框架实现,训练和开发人工智能模型也可有多种硬件选项, 这就开发者带来了不小2应用程序编程接口(API):

34、是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力。按照实现功能抽象维度可分为高级 API 和低级 API 两个层级。 中国信息通信研究院&中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 13 的挑战。 原因一是一是可移植性问题, 各个软件框架的底层实现技术不同,导致在不同软件框架下开发的模型之间相互转换存在困难; 二是二是适应性问题, 软件框架开发者和计算芯片厂商需要确保软件框架和底层计算芯片之间良好的适配性。 解决以上两个挑战的关键技术之一就是深度神经网络模型编译器,它在传统编译器功能基础上,通过扩充面向深度学习网络模型计算的专属

35、功能, 以解决深度学习模型部署到多种设备时可能存在的适应性和可移植性问题。 1. 深度学习网络模型编译器解决适应性问题 传统编译器缺少对深度学习算法基础算子(卷积、残差网络及全连接计算等)的优化,且对人工智能多种形态的计算芯片适配缺失,针对人工智能底层计算芯片及上层软件框架进行适配优化的编译器需求强烈。 目前业界主要采用依托传统编译器架构进行演进升级的方式来解决这个问题。当前业界主流编译器主要包括英伟达公司的CUDA 编译器,英特尔公司开发的 nGraph 以及华盛顿大学团队开发的 NNVM 编译器。 目前产业界绝大多数编译器都是按照 LLVM 体系架构设计的。LLVM 全称 Low Leve

36、l Virtual Machine,是一种应用广泛的开源编译器架构。该项目由伊利诺伊大学发起,由于其开源特性,目前已有基于这个软件框架的大量工具可以使用, 形成了具有实际标准意义的生态。 英伟达通过提供针对 LLVM 内核的 CUDA源代码及并行线程执行后端打造了 CUDA 编译器。该编译器可支持 C、C+以及 Fortran人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院&中国人工智能产业发展联盟 14 语言,能够为运用大规模并行英伟达 GPU 的应用程序加速。英特尔基于 LLVM 架构打造 nGraph 计算库,为深度学习提供优化方法,可以处理所有的计算芯片抽象细节,目前已经

37、开发了 TensorFlow/XLA、MXNet 和 ONNX 的软件框架桥梁; 华盛顿大学基于 LLVM 架构打造了 NNVM/TVM 编译器, 能够直接从多个深度学习前端将工作负载编译成为优化的机器代码。实现端到端的全面优化。 2. 中间表示层解决可移植性问题 在工程实践中, 人工智能软件框架训练完成的模型将按照中间表示层的规定进行表达和存储。 中间表示层 (Intermediate Representation,IR)是编译器用来表示源码的数据结构或代码,可以看作是不同中间件的集合,在性能优化及通信方面有着非常重要的作用。上文介绍的LLVM 架构最大优点之一就是其有一个表达形式很好的中间

38、表示层语言,这种模块化设计理念能够支撑各种功能扩充,三大主流深度学习网络模型编译器均是通过在中间表示层中增加专属优化的中间件来实现功能演进创新的。 扩充性能的中间表示层是打通深度学习计算中多种不同前端训练软件框架和多种不同后端的表达桥梁, 使深度学习网络模型编译器更有效实现二者之间的优化和影射。在深度学习网络模型编译器中,中间表示层的核心思想借鉴了 LLVM 架构设计,新增加的专属中间件是解决推断侧模型运行在不同硬件平台的重要描述方法。 当前深度学习网络模型编译器的中间表示层主要分为 NNVM/TVM 和TensorFlow XLA 两大阵营,但实际上类似 ONNX、NNEF 等模型交中国信息

39、通信研究院&中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 15 换格式也是各种对中间层表示的定义。业界共识“IR”的竞争,将是未来软件框架之争的重要一环。 3. 未来亟需模型转换及通用的模型表示 在工程实践上, 除了上文提到使用统一的中间表示层对模型进行表达及存储外, 输入数据格式以及模型表示规范也同样是重要的影响因素。 主流软件框架输入数据集格式各有不同。 由于在训练中已经过清洗和标注的数据依然面临着多线程读取、 对接后端分布式文件系统等实际操作问题, 各主流人工智能软件框架均采用了不同的技术和数据集格式来实现此类数据操作。 如 TensorFlow 定义了 TFRe

40、cord、 MXNet及 PaddlePaddle 使用的是 RecordIO 等。 深度学习网络模型的表示规范分为两大阵营。第一阵营是 Open Neural Network Exchange(ONNX,开放神经网络交换),是一个用于表示深度学习模型的标准, 可使模型在不同软件框架之间进行转移。ONNX 由微软和 Facebook 联合发布,该系统支持的软件框架目前主要包括 Caffe2,PyTorch,Cognitive Toolkit 和 MXNet,而谷歌的TensorFlow 并没有被包含在内。 第二阵营是 Neural Network Exchange Format(NNEF,神经

41、网络交换格式),是由 Khronos Group 主导的跨厂商神经网络文件格式, 计划支持包括 Torch, Caffe, TensorFlow, 等几乎所有人工智能软件框架的模型格式转换,目前已经有 30 多家计算芯片企业参与其中。 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院&中国人工智能产业发展联盟 16 表 2 NNEF 及 ONNX 的主要差别对比 NNEF ONNX 非盈利组织发起的开源协议, 实现代码开源 企业发起的开源项目 基于文字的结构化描述,格式化过程 数据结构导向的工具 采用执行文件格式描述网络, 能够描述复合操作 采用扁平化方式描述网络 能够在未来通过

42、相似的流程语法描述动态图 可以通过控制流操作描述动态图 通过避免涉及到机器表示及量化的方法加速推断,采用灵活的优化举措 为张量使用固定的数据格式 (五) (五) AI 计算芯片提供算力保障计算芯片提供算力保障 现有深度神经网络需要用更短的时间、更低功耗完成计算,这就给深度学习计算芯片提出了更高的要求。 1. 深度学习对 AI 计算芯片的需求 总体来看, 深度神经网络对计算芯片的需求主要有以下两个方面:一是一是计算芯片和存储间海量数据通信需求,这里有两个层面,一个是缓存(Cache)和片上存储(Memory)的要大,另一个是计算单元和存储之间的数据交互带宽要大。二是二是专用计算能力的提升,解决对

43、卷积、残差网络、全连接等计算类型的大量计算需求,在提升运算速度的同时实现降低功耗。总的来说,AI 计算芯片的发展过程可以总结为一直在围绕如何有效解决存储与计算单元的提升这两个问题而展开,成本问题则作为一个舵手控制着最终的航向。 2. 典型 AI 计算芯片的使用现状 中国信息通信研究院&中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 17 在深度学习训练环节,除了使用 CPU 或 GPU 进行运算外,现场可编程门阵列( FieldProgrammable Gate Array,FPGA)以及专用集成电路(Application Specific Integrated Cir

44、cuit,ASIC)也发挥了重大作用;而用于终端推断的计算芯片主要以 ASIC 为主。 表 3 AI 计算芯片分类 类别 通用芯片CPU 通用芯片GPU 半定制化芯片FPGA 全定制化芯片ASIC 类脑芯片 特点 通用性高 性能3功耗比低 通用性高 性能功耗比中 通用性一般 可编程 性能功耗比中 可定制 性能功耗比高 理论阶段性能功耗比高 CPU 在深度学习训练场景下表现不佳。最初的深度学习场景是使用CPU为架构搭建的, 如最初GoogleBrain就是基于CPU组成的。但由于 CPU 其本身是通用计算器,大量芯片核心面积要服务于通用场景的元器件,导致可用于浮点计算的计算单元偏少,无法满足深度学习特别是训练环节的大量浮点运算需求,且并行计算效率太低,很快被具有数量众多的计算单元、 具备强大并行计算能力的 GPU 代替。 GPU 成为目前深度学习训练的首要选择。GPU 的关键性能是并行计算, 适合深度学习计算的主要原因一是一是高带宽的缓存有效提升大量数据通信的效率。 GPU 的缓存结构为共享缓存, 相比于 CPU, GPU线程(Thread)之间的数据通讯不需要访问全局内存,而在共享内存中就可以直接访问。二是二是多计算核心提升并行计算能力。GPU 具有数以千计的计算核心, 可实现 10-100 倍于 CPU 的应用吞吐

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 医学相关

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com