欢迎来到环境100文库! | 帮助中心 分享价值,成长自我!

环境100文库

换一换
首页 环境100文库 > 资源分类 > PDF文档下载
 

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

  • 资源ID:4477       资源大小:2.68MB        全文页数:36页
  • 资源格式: PDF        下载权限:游客/注册会员/VIP会员    下载费用:10碳币 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信开放平台登录 QQ登录   微博登录  
下载资源需要10碳币 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

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

人工智能发展白皮书 技术架构篇 ( 2018 年) 中国信息通信研究院 中国人工智能产业发展联盟 2018年 9月版权声明 本白皮书版权属于中国信息通信研究院和中国人工智能产业发展联盟,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源中国信息通信研究院和中国人工智能产业发 展联盟”。违反上述声明者,编者将追究其相关法律责任。 前言 人工智能是一种引发诸多领域产生颠覆性变革的前沿技术, 当今的人工智能技术以机器学习, 特别是深度学习为核心, 在视觉、 语音、自然语言等应用领域迅速发展,已经开始像水电煤一样赋能于各个行业。世界各国高度重视人工智能发展, 美国白宫接连发布数个人工智能政府报告,是第一个将人工智能发展上升到国家战略层面的国家,除此以外,英国、欧盟、日本 等纷纷发布人工智能相关战略、行动计划, 着力构筑人工智能先发优势。 我国高度重视人工智能产业的发展,习近平总书记在十九大报告中指出,要“推 动互联网、大数据、人工智能和实体经济深度融合“,从 2016 年起已有“互联网 人工智能三年行动实施方案、新一代人工智能发展规划、促进新一代人工智能产业发展三年行动计划 2018-2020 年 等多个国家层面的政策出台,也取得了积极的效果,我国逐渐形成了涵盖计算芯片、开源平台、 基础应用、 行业应用及产品等环节较完善的人工智能产业链。 2018 人工智能发展白皮书是中国信息通信研究院、中国人工智能产业发展联盟首次联合发布。本篇为 技术架构篇,从产业发展的角度,选择以深度学习算法驱动的人工智 能技术为主线,分析作为人工智能发展“三驾马车”的算法、算力和数据的技术现状、问题以及趋势, 并对智能语音、 语义理解、 计算机视觉等基础应用技术进行分析,并提出了目前存在的问题和技术的发展趋势。后续我院与中国人工智能产业发展联盟将继续发布人工智能应用、 产业和政策方面研究成果。目录 一、 人工智能技术发展概述. 1 (一) 人工智能技术流派发展简析 . 1 (二) 深度学习带动本轮人工智能发展 . 2 二、 基于深度学习的人工智能技术现状. 3 (一) 基于深度学习的人工智能技术体系综述 . 3 1. 基础硬件层. 4 2. 深度神经网络模型编译器. 4 3. 软件框架层. 4 4. 基础应用技术. 5 (二) 算法发展趋势 . 5 1. 算法的设计逻辑. 5 2. 算法的主要任务. 6 3. 新算法不断提出. 7 (三) 软件框架成为技术体系核心 . 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. 以服务的形式提供人工智能能力成为趋势 21 三、 基于深度学习的基础应用技术现状 22 (一) 智能语音技术改变人机交互模式 23 1. 智能语音技术概述 23 2. 智能语音产品和服务形态多样 23 (二) 计算机视觉技术已在多个领域实现商业化落地 24 1. 计算机视觉概述 24 2. 计算机视觉技术应用领域广阔 26 (三) 自然语言处理成为语言交互技术的核心 27 1. 自然语言处理技术现状 27 2. 自然语言处理技术的应用方向 28 四、 问题和趋势展望 28 (一) 主要问题 28 (二) 趋势展望 30中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 1 一、 人工智能技术发展概述 (一) 人工智能技术流派发展简析 让机器实现人的智能,一直是人工智能学者不断追求的目标,不同学科背景或应用领域的学者,从不同 角度,用不同的方法,沿着不同的途径对智能进行了探索。其中,符号主义、连接主义和行为主义是人工智能发展历史上的三大技术流派。 符号主义又称为逻辑主义, 在人工智能早期一直占据主导地位。该学派认为人工智能源于数学逻辑, 其实质是模拟人的抽象逻辑思维,用符号描述人类的认知过程。早期的研究思路是通过基本的推断步骤寻求完全解,出现了逻辑理论 家和几何定理证明器等。上世纪 70 年代出现了大量的专家系统,结合了领域 知识和逻辑推断,使得人工智能进入了工程应用。 PC 机的出现以及专家系统高昂的成本,使符号学派在人工智能领域的主导地位逐渐被连接主义取代。 连接主义又称为仿生学派, 当前占据主导地位。该学派认为人工智能源于仿生学, 应以工程技术手段模拟人脑神经系统的结构和功能。连接主义最早可追溯到 1943 年麦卡洛克和皮茨创立的脑模型,由于受理论模型、生物原型和技术条件的限制,在 20 世纪 70 年代陷入低潮。直到 1982 年霍普菲尔特提出的 Hopfield 神经网络模型和 1986年鲁梅尔哈特等人提出的反向传播算法, 使得神经网络的理论研究取得了突破。 2006 年, 连接主义的领军者 Hinton 提出了深度学习算法,使神经网络的能力大大提高。 2012 年,使用深度学习技术的 AlexNet模型在 ImageNet 竞赛中获得冠军。 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 2 行为主义又称为进化主义, 近年来随着 AlphaGo 取得的突破而受到广泛关注。该学派认为人 工智能源于控制论,智能行为的基础是“感知行动”的反应机制,所以 智能无需知识表示,无需推断。智能只是在与环境交互作用中表现出来,需要具有不同的行为模块与环境交互,以此来产生复杂的行为。 在人工智能的发展过程中,符号主义、 连接主义和行为主义等流派不仅先后在各自领域取得了成果,各学派也逐渐走向了相互借鉴和融合发展的道路。特别是在行为主义思想中引入连接主义的技术,从而诞生了深度强化学习技术,成为 AlphaGo 战胜李世石背后最重要的技术手段。 (二) 深度学习带动本轮人工智能发展 深度学习已经在语音识别、图像识别等领域取得突破 。 深度学习全称深度神经网络,本质上是 多层次的人工神经网络算法,即从结构上模拟人脑的运行机制, 从最基本的单元上模拟了人类大脑的运行机制。深度学习已经开始在计算机视觉、语音识别、自然语言理解等领域取得了突破。在语音识别领域, 2010 年,使用深度神经网络模型的语音识别相对传统混合高斯 模型识别错误率降低超过 20, 目前所有的商用语音识别算法都基于深度学习。 在图像分类领域 , 目前针对ImageNet 数据集的算法分类精度已经达到了 95以上,可以与人的分辨能力相当。 深度学习在人脸识别、 通用物体检测、 图像语义分割、自然语言理解等领域也取得了突破性的进展。 中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 3 海量的数据和高效的算力支撑是深度学习算法实现的基础。 深度学习分为训练 training和推断 inference两个环节。 训练需要海量数据输入,训练出一个复杂的深度神经网络模型。推断指利用训练好的模型, 使用待判断的数据去 “推断” 得出各种结论。大数据时代的到来,图形处理器( Graphics Processing Unit, GPU)等各种更加强大的计算设备的发展,使得深度学习可以充分 利用海量数据(标注数据、弱标注数据或无标注数据),自动地学习到抽象的知识表达,即把原始数据浓缩成某种知识。当前基于深度学习的人 工智能技术架构如图1 所示。 图 1 基于深度学习的人工智能技术应用架构图 二、 基于深度学习的人工智能技术现状 (一) 基于深度学习的人工智能技术体系综述 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 4 当前, 基于深度学习的人工智能算法主 要依托计算机技术体系架构实现,深度学习算法通过封装至软件框架1的方式供开发者使用。软件框架是整个技术体系的核心,实现对人工智能算法的封装,数据的调用以及计算资源的调度使用 。 为提升算法实现的效率,其编译器及底层硬件技术也进行了功能优化。 具体架构请见图 1 中的基础硬件层、深度神经网络模型编译器及软件框架三层。 本章所探讨的人工智能技术体系主要包含三个维度, 一是 针对人工智能算法原理本身的探讨, 二是 对算法实现所依托的技术体系进行概述,三是 针对深度学习所需的数据进行分析。 1. 基础硬件层 基础硬件层为算法提供了基础计算能力。硬件层涵盖范围除了 中央处理器 ( Central Processing Unit, CPU)及 GPU 外,还包括为特定场景应用而定制的计算芯片,以及基于计算芯片所定制的服务器,包括 GPU 服务器集群,各类移动终端设备以及类脑计算机等。 2. 深度神经网络模型编译器 深度神经网络模型编译器是底层硬件和软件框架、 以及不同软件框架之间的桥梁。该层旨在为 上层应用提供硬件调用接口,解决不同上层应用在使用不同底层硬件计算芯片时可能存在的不兼容等问题。其涵盖范围包括针对人工智能计算芯片定向优 化的深度神经网络模型编译器,以及针对不同神经网络模型表示的规定及格式。 3. 软件框架层 1软件框架(software framework ),通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。 中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 5 软件框架层实现算法的模块化封装, 为应用开发提供集成软件工具包。 该层涵盖范围包括针对算法实现开发的各类应用及算法工具包,为上层应用开发提供了算法调 用接口,提升应用实现的效率。 4. 基础应用技术 当前人工智能的商业化实现主要是基于计算机视觉、智能语音、自然语言处理等基础应用技术实现, 并形成了相应的产品或服务。本部分将在第三章进行详细讨论。 (二) 算法发展趋势 当前,人工智能算法已经能够完成智能语音语义、计算机视觉等智能化任务,在棋类、电子游戏对弈,多媒体数据生成等前沿领域也取得了一定进展,为人工智能 应用落地提供了可靠的理论保障。 1. 算法的设计逻辑 人工智能算法的设计逻辑可以从“学什么”、“怎么学”和“做什么”三个维度进行概括。 首先是学什么 。 人工智能算法需要学习的内容,是能够表征所需完成任务的函数模型。该函数模型旨在实现人们需要的输入和输出的映射关系, 其学习的目标是确定两个状态空间 (输入空间和输出空间)内所有可能取值之间的关系; 其次是怎么学。 算法通过不断缩小函数模型结果与真实结果误差来达到学习目的, 一般该误差称为损失函数。损失函数能够合理量化真实结果和训练结果的误差, 并将之反馈给机器继续作迭代训练,最终实现学习模型输出和真实结果的误差处在合理范围; 最后是做什么 。 机器学习主要完成三件任务,即分类、回归人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 6 和聚类。目前多数人工智能落地应用,都是通过对现实问题抽象成相应的数学模型,分解为这三类基本任务 进行有机组合,并对其进行建模求解的过程。 2. 算法的主要任务 人工智能实际应用问题经过抽象和分解,主要可以分为 回归、分类和聚类三类基本任务,针对每一类基本任务,人工智能算法都提供了各具特点的解决方案 一是 回归任务的算法。 回归是一种用于连续型数值变量预测和建模的监督学习算法。目前回归 算法最为常用的主要有四种,即线性回归(正则化)、回归树(集成方法)、最邻近算法和深度学习。 二 是分类任务的算法。 分类算法用于分类变量建模及预测的监督学习算法,分类算法往往适用于类别(或其可能性 )的预测。其中最为常用的算法主要有五种,分别为逻辑回归(正则化)、分类树(集成方法)、支持向量机、朴素贝叶斯和深度学习方法。 三是 聚类任务的算法。聚类算法基于数据内部结构来寻 找样本集群的无监督学习任务, 使用案例包括用户画像、电商物品聚类、 社交网络分析等。其中最为常用的算法主要有四种即 K 均值、仿射传播、分层 /层次和聚类算法 Density-Based Spatial Clustering of Applications with Noise, DBSCAN。 表 1 人工智能主要算法分类 回归任务 分类任务 聚类任务 线性回归(正则化) 回归树(集成方法) 最邻近算法 深度学习 逻辑回归(正则化) 分类树(集成方法) 支持向量机 朴素贝叶斯 深度学习 K 均值 仿射传播 分层/ 层次 聚类算法 中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 7 3. 新算法不断提出 近年来,以深度学习算法为代表的人工智能技术快速发展,在计算机视觉、语音识别、语义理解等领域 都实现了突破。但其相关算法目前并不完美,有待继续加强理论性研 究,也不断有很多新的算法理论成果被提出,如胶囊网络、生成对抗网络、迁移学习等。 胶囊网络是为了克服卷积神经网络的局限性而提出的一种新的网络架构。卷积神经网络存在着难以识 别图像中的位置关系、缺少空间分层和空间推理能力等局限性。受到 神经科学的启发,人工智能领军人物 Hinton 提出了胶囊网络的概念。胶囊网络由胶囊而不是由神经元构成,胶囊由一小群神经元组成,输出为向量,向量的长度表示物体存在的估计概率,向量的方向表示 物体的姿态参数。胶囊网络能同时处理多个不同目标的多种空间变换, 所需训练数据量小,从而可以有效地克服卷积神经网络的局限性, 理论上更接近人脑的行为。但胶囊网络也存在着计算量大、大图像处 理上效果欠佳等问题,有待进一步研究。 生成对抗网络 GAN Generative Adversarial Networks是于 2014年提出的一种生成模型。该算法核心思想来源于博弈论的纳什均衡,通过生成器和判别器的对抗训练进行迭代优化,目标是学习真实数据的分布,从而可以产生全新的、 与观测数据类似的数据。与其他生成模型相比, GAN 有生成效率高、设计框架灵活、可生成具有更高质量的样本等优势, 2016 年以来研究工作呈爆发式增长,已成为人工智能一个热门的研究方向。但 GAN 仍存在难以训练、梯度消失、模人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 8 式崩溃等问题,仍处于不断研究探索的阶段。 迁移学习是利用数据、任务或模型之间的相似性,将学习过的模型应用于新领域的一类算法。迁移学习可大大降低深度网络训练所需的数据量,缩短训练时间。其中,Fine-Tune 是深度迁移学习最简单的一种实现方式,通过将一个问题上训练好的模型进行简单的调整使其适用于一个新的问题,具有节省时间 成本、模型泛化能力好、实现简单、 少量的训练数据就可以达到较好效果的优势, 已获得广泛应用。 (三) 软件框架成为技术体系核心 当前,人工智能基础性算法已经较为成 熟,各大厂商纷纷发力建设算法模型工具库,并将其封装为软件框架, 供开发者使用,可以说软件框架是算法的工程实现 。 企业的软件框架实现有闭源和开源两种形式苹果公司等少数企业选择闭源方式开发软件框架,目的是打造技术壁垒;目前业内主流软件框架基本 都是开源化运营。本篇主要关注开源软件框架的技术特点, 对闭源软件框架不做过多讨论。 1. 开源软件框架百花齐放各具特点 人工智能国际巨头企业将开源深度学习软件框架作为打造开发及使用生态核心的核心。 总体来说开源软件框架在模型库建设及调用功能方面具有相当共性,但同时又各具 特点。业界目前主要有深度学习训练软件框架和推断软件框架两大类别。 1 深度学习训练软件框架 基于深度学习的训练框架主要实现对海量数据的读取、 处理及训练,主要部署在 CPU 及 GPU 服务集群,主要侧重于海量训练模型实中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 9 现、系统稳定性及多硬件并行计算优化 等方面的任务。目前主流的深度学习训练软件框架主要有 TensorFlow, MXNet, Caffe/2PyTorch等。 TensorFlow 以其功能全面,兼容性广泛和生态完备而著称。该软件框架由谷歌大脑( Google Brain)团队主要支撑,实现了多 GPU上运行深度学习模型的功能,可 以提供数据流水线的使用程序,并具有模型检查,可视化和序列化的配套模 块。其生态系统已经成为深度学习开源软件框架最大的活跃社区。 MXNet 以其优异性能及全面的平台支持而著称。该软件框架是由亚马逊公司(Amazon )主导的深度学习平台,目前已经捐献到阿帕奇软件基金会(Apache)进行孵化。其主要特点包括一是可以在全硬件平台(包括手机端)运行,提供包括 Python、 R 语言、 Julia、C、 Scala、 Matlab 以及 Javascript 的编程接口;二是具有灵活的编程模型, 支持命令式和符号式编程模型; 三是从云端到客户端可移植,可运行于多 CPU、多 GPU、集群、服务器、工作站及移动智能手机;四是支持本地分布式训练,在多 CPU/GPU 设备上的分布式训练,使其可充分利用计算集群的规模优势。 Caffe/2PyTorch 以其在图像处理领域的深耕和易用性而著称。该软件框架是由脸书公司( Facebook)主导的平台,目前 Caffe 1/2两个项目已经合并到 PyTorch 统一维护。在图像处理领域 Caffe 有着深厚的生态积累,结合 PyTorch 作为一个易用性很强的软件框架,越来越受到数据科学家的喜爱。我国很多人工智 能图像处理团队选择人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 10 PyTorch 作为主要工作平台。 Microsoft Cognitive Toolkit CNTK以其在智能语音语义领域的优势及良好性能而著称。该软件框架由微软公司于 2016 年基于 MIT协议开源,它具有速度快、可扩展性强、商业级质量高以及 C和Python 兼容性好等优点, 支持各种神经网络模型、 异构及分布式计算,依托于微软的产品生态,在语音识别、机器 翻译、类别分析、图像识别、图像字幕、文本处理、语言理解和语言建模等领域都拥有良好应用。 PaddlePaddle 以其易用性和支持工业级应用而著称。 该软件框架是百度旗下的深度学习开源平台, 是我国自主开发软件框架代表。其最大特点就是易用性,得益于其对算法的封装,对于现成算法 卷积神经网络 VGG、 深度残差网络 ResNet、 长短期记忆网络 LSTM 等 的使用可以直接执行命令替换数据进行训练。 非常适合需要成熟稳定的模型来处理新数据的情况。 除上之外, 业界及学术界还存在着多个 机器学习及深度学习软件框架,如 Scikit-learn, Theano 等。这些软件框架在其专长领域仍然发挥重要作用。但由于各软件框架的维护 力量及发展思路不同,同时缺少贡献人员,导致软件框架发展水平略 显滞后,存在着包括算法库扩展不及时, API 水平较低以及不支持分布式任务等问题。 2 深度学习推断软件框架 基于深度学习的推断的计算量相对训练过程小很多, 但仍涉及到大量的矩阵卷积、非线性变换等运算,为了满足在终端侧限定设备性中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 11 能及功耗等因素的场景下, 业界也开发了众多开源的终端侧软件框架。 Caffe2go 是最早出现的终端侧推断软件框架, 能够让深层神经网络在手机上高效的运行。 由于终端侧的 GPU 设备性能有限, Caffe2go是基于 CPU 的优化进行设计。 TensorFlow Lite 可以运行在 Android 和 iOS 平台,结合 Android 生态的神经网络运行时能够实现较为高效的 AI 移动端应用速度。 NCNN 是腾讯开源的终端侧 AI 软件框架,支持多种训练软件框架的模型转换, 是主要面向 CPU 的 AI 模型应用,无第三方依赖具有较高的通用性, 运行速度突出,是国内目前较为广泛使用的终端侧 AI 软件框架。 Core ML 是苹果公司开发的 iOS AI软件框架,能够对接 Caffe、 PyTorch、 MXNet、 TensorFlow 等绝大部分 AI 模型,并且自身提供了常用的各种手机端 AI 模型组件,目前也汇集了众多开发者及贡献力量。 Paddle-mobile 是百度自研的移动端深度学习软件框架,主要目的是将 Paddle 模型部署在手机端,其支持 iOS GPU 计算。但目前功能相对单一,支持较为有限。 TensorRT是英伟达( NVIDIA)开发的深度学习推断工具,已经支持 Caffe、Caffe2、 TensorFlow、 MXNet、 PyTorch 等主流深度学习库,其底层针对 NVIDIA 显卡做了多方面的优化,可以和 CUDA 编译器结合使用。 目前主要产业巨头均推出了基于自身技术体系的训练及推断软件框架,但由于目前产业生态 尚未形成,深度学习模型表示及存储尚未统一,训练软件框架及推断 软件框架尚未形成一一对应关系,技术生态争夺将继续持续。 2. 巨头以开源软件框架为核心打造生态 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 12 人工智能开源软件框架生态的核心, 是通过使用者和贡献者之间的良好互动和规模化效应,形 成现实意义的标准体系和产业生态,进而占据人工智能核心的主导地位。 开源软件框架的用户包括最终服务及产品的使用者和开发者。当前开源软件框架的技术发展呈现出以下几方面的特点 一是 谷歌与其他公司间持续竞争。 巨头公司在技术上将积极探寻包括模型互换,模型迁移等技术联合,以对抗 谷歌公司。例如脸书( Facebook)和微软已经合作开发了一个可互换的人工智能软件框架解决方案。 二是 开源软件框架在向统一和标准化方向发展。随着人工智能应用的爆发,开发人员在不同平台上创建模型及部署模型的需求愈发强烈, 在各类软件框架间的模型迁移互换技术研发已经成为重点。三是 更高级的 API2逐渐占据主导地位。以 Keras 为例,它是建立在TensorFlow、 Theano、 CNTK、 MXNet 和 Gluon 上运行的高级开源神经网络库,以其高级 API 易用性而得到了广泛的使用。 四是 模型的集群并发计算成为业界研究热点。当前人工智能网络对于单计算节点的算力要求过高, 但当前主流开源软件框架对于模型分割进行计算并没有实现,而这个问题也将随着应用场景的不断丰富而不断引起重视,成为开源软件框架下一个核心竞争点。 (四) 编译器解决不同软硬件的适配问题 在实际工程应用中,人工智能 算法可选择多种软件框架实现,训练和开发人工智能模型也可有多种硬件选项,这就开发者带来了不小2应用程序编程接口(API )是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力。按照实现功能抽象维度可分为高级 API 和低级 API 两个层级。 中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 13 的挑战。 原因 一是可移植性问题, 各个软件框架的底层实现技术不同,导致在不同软件框架下开发的模型之间相互转换存在困难; 二是适应性问题,软件框架开发者和计算芯片厂商需要确保软件框架和底层计算芯片之间良好的适配性。解决以上两个挑战的关键技术之一就是 深度神经网络模型编译器,它在传统编译 器功能基础上,通过扩充面向深度学习网络模型计算的专属功能,以解决深度学习模型部署到多种设备时可能存在的适应性和可移植性问题。 1. 深度学习网络模型编译器解决适应性问题 传统编译器缺少对深度学习算法基础算子(卷积、残差网络及全连接计算等)的优化,且对人工智能多种形态的计算芯片适配缺失,针对人工智能底层计算芯片及上层软件框架进 行适配优化的编译器需求强烈。 目前业界主要采用依托传统编译器架构进行演进升级的方式来解决这个问题。当前业界主流编 译器主要包括英伟达公司的CUDA 编译器,英特尔公司开发的 nGraph 以及华盛顿大学团队开发的 NNVM 编译器。 目前产业界绝大多数编译器都是按照 LLVM 体系架构设计的。LLVM 全称 Low Level Virtual Machine,是一种应用广泛的开源编译器架构。该项目由伊利诺伊大学发起,由于其开源特性,目前已有基于这个软件框架的大量工具可以使用,形成了具有实际标准意义的生态。 英伟达通过提供针对 LLVM 内核的 CUDA 源代码及并行线程执行后端打造了 CUDA 编译器。该编译器可支持 C 、 C以及 Fortran人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 14 语言,能够为运用大规模并行英伟达 GPU 的应用程序加速。英特尔基于 LLVM 架构打造 nGraph 计算库,为深度学习提供优化方法,可以处理所有的计算芯片抽象细节,目前已经开发了 TensorFlow/XLA、MXNet 和 ONNX 的软件框架桥梁; 华盛顿大学基于 LLVM 架构打造了 NNVM/TVM 编译器, 能够直接从多个深度学习前端将工作负载编译成为优化的机器代码。实现端到端的全面优化。 2. 中间表示层解决可移植性问题 在工程实践中,人工智能软件框架训练完成的模型将按照中间表示层的规定进行表达和存储。 中间表示层 (Intermediate Representation ,IR)是编译器用来表示源码的数据结构或代码,可以看作是不同中间件的集合,在性能优化及通信方面有着 非常重要的作用。上文介绍的LLVM 架构最大优点之一就是其有一个表达形式很好的中间表示层语言,这种模块化设计理念能够支撑各种功能扩充,三大主流深度学习网络模型编译器均是通过在中间表示层中增 加专属优化的中间件来实现功能演进创新的。 扩充性能的中间表示层是打通深度学习计算中多种不同前端训练软件框架和多种不同后端的表达桥梁, 使深度学习网络模型编译器更有效实现二者之间的优化和影射。在深度学习网络模型编译器中,中间表示层的核心思想借鉴了 LLVM 架构设计,新增加的专属中间件是解决推断侧模型运行在不同硬件平台的重要描述方法。 当前深度学习网络模型编译器的中间表示层主要分为 NNVM/TVM 和TensorFlow XLA 两大阵营,但实际上类似 ONNX、 NNEF 等模型交中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 15 换格式也是各种对中间层表示的定义。业界共识“ IR”的竞争,将是未来软件框架之争的重要一环。 3. 未来亟需模型转换及通用的模型表示 在工程实践上,除了上文提到使用统一的中间表示层对模型进行表达及存储外, 输入数据格式以及模型表示规范也同样是重要的影响因素。 主流软件框架输入数据集格式各有不同。 由于在训练中已经过清洗和标注的数据依然面临着多线程读取、 对接后端分布式文件系统等实际操作问题, 各主流人工智能软件框架均采用了不同的技术和数据集格式来实现此类数据操作。 如 TensorFlow 定义了 TFRecord、 MXNet及 PaddlePaddle 使用的是 RecordIO 等。 深度学习网络模型的表示规范分为两大阵营。 第一阵营是 Open Neural Network Exchange( ONNX,开放神经网络交换),是一个用于表示深度学习模型的标准, 可使模型在不同软件框架之间进行转移。ONNX 由微软和 Facebook 联合发布,该系统支持的软件框架目前主要包括 Caffe2, PyTorch, Cognitive Toolkit 和 MXNet,而谷歌的TensorFlow 并没有被包含在内。 第二阵营 是 Neural Network Exchange at( NNEF,神经网络交换格式),是由 Khronos Group 主导的跨厂商神经网络文件格式, 计划支持包括 Torch, Caffe, TensorFlow, 等几乎所有人工智能软件框架的模型格式转换,目前已经有 30 多家计算芯片企业参与其中。 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 16 表 2 NNEF 及 ONNX 的主要差别对比 NNEF ONNX 非盈利组织发起的开源协议,实现代码开源 企业发起的开源项目 基于文字的结构化描述,格式化过程 数据结构导向的工具 采用执行文件格式描述网络,能够描述复合操作 采用扁平化方式描述网络 能够在未来通过相似的流程语法描述动态图 可以通过控制流操作描述动态图 通过避免涉及到机器表示及量化的方法加速推断,采用灵活的优化举措 为张量使用固定的数据格式 (五) AI 计算芯片提供算力保障 现有深度神经网络需要用更短的时间、更低功耗完成计算,这就给深度学习计算芯片提出了更高的要求。 1. 深度学习对 AI 计算芯片的需求 总体来看, 深度神经网络对计算芯片的 需求主要有以下两个方面一是 计算芯片和存储间海量数据通信需求,这里有两个层面,一个是缓存(Cache )和片上存储(Memory )的要大,另一个是计算单元和存储之间的数据交互带宽要大。 二是专用计算能力的提升,解决对卷积、残差网络、全连接等计算类型的大量计算需求,在提升运算速度的同时实现降低功耗。总的来说, AI 计算芯片的发展过程可以总结为一直在围绕如何有效解决存储与计算单元的 提升这两个问题而展开,成本问题则作为一个舵手控制着最终的航向。 2. 典型 AI 计算芯片的使用现状 中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 17 在深度学习训练环节,除了使用 CPU 或 GPU 进行运算外,现场可编程门阵列( Field- Programmable Gate Array, FPGA)以及专用集成电路( Application Specific Integrated Circuit, 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 的应用吞吐量。同时,3性能此处性能是指计算芯片在深度学习计算中的性能表现。 人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 18 基于由 NVIDIA 推出的通用并行计算架构 CUDA,使 GPU 能够解决复杂的计算问题。其包含的 CUDA 指令集架构( ISA)以及 GPU 内部的并行计算引擎可针对当前深度学习计算进行加速, 但是由于深度学习算法还未完全稳定,若深度学习算法发生大的变化,则 GPU 存在无法灵活适配问题。 FPGA 在深度学习加速方面具有可重构、 可定制的特点。 因 FPGA没有预先定义的指令集概念,也没有确 定的数据位宽,所以可以实现应用场景的高度定制。但 FPGA 的灵活性(通用性)也意味着效率的损失。由于 FPGA 应用往往都需要支持很大的数据吞吐量,这对于内存带宽和 I/O 互连带宽要求很高。同时由于逻辑利用率低,引发无效功耗大。 FPGA 市场化的主要阻碍是成本高昂,价格在几十到几万美元一片不等,且应用者必须具备电路设计知识和经验。由于 FPGA 省去了流片过程, 在深度学习发展初期成为计算芯片主要解决方案之一,在 GPU 和 ASIC 中取得了权衡, 很好的兼顾了处理速度和控制能力。 ASIC(专用集成电路, Application Specific Integrated Circuit)是不可配置的高度定制专用计算芯片。ASIC 不同于 GPU 和 FPGA 的灵活性,定制化的 ASIC 一旦制造完成将不能更改,所以初期成本高、开发周期长,使得进入门槛高。但 ASIC 作为专用计算芯片性能高于 FPGA, 相同工艺的 ASIC计算芯片比 FPGA计算芯片快 5-10倍,同时规模效应会使得 ASIC 的成本降低。但高昂的研发成本和研发周期是未来广泛应用的阻碍。 ASIC 主要生产企业包括如 Google 的TPU 系列计算芯片,以及国内的寒武纪、地平线等公司。 中国信息通信研究院 中国人工智能产业发展联盟 人工智能发展白皮书-技术架构篇(2018) 19 TPU 的核心为脉动阵列机,其设计思想是将多个运算逻辑单元( ALU)串联在一起,复用从一个寄存器中读取的结果,从而有效平衡了运算和 I/O 的需求。但其只适合做信号处理的卷积、信号和图像处理( signal and image processing),矩阵算术( matrix arithmetic)和一些非数值型应用( non-numeric application)。 另一类 ASIC 代表企业为国内寒武纪,其 DianNao 系列核心思想为结合神经网络模型的数据局部性特点以及计算特性, 进行存储体系以及专用硬件设计,从而获取 更好的性能加速比以及计算功耗比。 (六) 数据为算法模型提供基础资源 基于深度学习的人工智能技术, 核心在于通过计算找寻数据中的规律, 运用该规律对具体任务进行预测和决断。 源数据需要进行采集、标注等处理后才能够使用,标注的数据 形成相应数据集。业务类型主要包括 数据采集、数据处理、数据存储以及数据交易 等环节。 当前,人工智能数据集的参与主体主要有以下几类 一是学术机构,为开展相关研究工作,自行采集、标注,并建设学术数据集。这类数据集以 ImageNet 为代表,主要用于算法的创新性验证、学术竞赛等,但其迭代速度较慢,难用于实际应用场景。 二是政府,等中立机构,他们以公益形式开放的公共数据,主要包括政府、银行机构等行业数据及经济运行数据等,数据标注一般由使用数据的机构完成。三是 人工智能企业,他们为开展业务而自行建设数据集,企业一般自行采集,标注形成自用数据集,或采购专业数据公司提供的数据外包服务。 四是 数据处理外包服务公司,这类公司业务包括出售现成数据人工智能发展白皮书-技术架构篇(2018) 中国信息通信研究院 中国人工智能产业发展联盟 20 训练集的使用授权,或根据用户的具体 需求提供数据处理服务(用户提供原始数据、企业对数据进行转写、 标注),具体

注意事项

本文(人工智能发展白皮书-技术架构篇.pdf)为本站会员(石头哥)主动上传,环境100文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知环境100文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017 环境100文库版权所有
国家工信部备案号:京ICP备16041442号-6

收起
展开