英特尔AI策略全解析(2):软件的优化提供强大效能

想要在ai占有一席之地,英特尔单靠处理器的硬件并不足以抢市,透过软件的优化提供强大效能,以及增进开发应用系统的便利性,将是布局能否成功的关键
上篇:英特尔ai策略全解析(1):延伸四大产品线
【英特尔强化ai软件应用的4大层面】英特尔对于ai应用的支持,首先是处理器内建低阶软件原始指令,例如mkl-dnn;针对深度学习软件框架,提供优化程序代码;对于大数据分析应用平台,投入hadoop、spark的版本提供或贡献程序代码;而在集成软件开发工具,他们也推出deep learning sdk。
图片来源:ithome
看好人工智能带来的运算处理需求与未来的蓬勃发展,英特尔不只是推出多种服务器端处理器来因应,在2016年11月举行的intel ai day活动期间,他们宣布将更积极发展深度学习应用的运算与沟通处理的链接库,并以基本指令(primitives)的形式整合到处理器硬件上。而在ai应用软件开发的支持上,他们陆续开始提供的部分,包含:链接库、程序语言的支持、平台、软件开发工具包、程序开发框架。
无独有偶,ibm与nvidia也在11月宣布,双方将连手开发新的深度学习专用软件开发工具包powerai,可搭配ibm 专为ai应用所特别设计的服务器——openpower lc(采用power运算架构与nvidia nvlink互连技术),藉此提供企业级的深度学习解决方案。
英特尔在intel ai day提出人工智能的策略,正巧ibm与nvidia也在之前宣布了powerai,在那一周期间,同时,又适逢全球高效能运算界关注的supercomputer 2016大会举行。显然两大阵营争相较劲的意味相当浓厚,而且他们最终竞逐的目标,其实都是下一波企业应用。
英特尔ai解决方案总览
在ai应用的布局上,英特尔不只是单纯提供处理器平台,软件的支持更是重点——他们发展多种链接库、软件开发平台,积极支持多种深度学习应用框架,同时也会推出整合式的解决方案。
积极支持多种深度学习框架,陆续提供ia架构效能优化的程序代码 以发展ai应用系统所采用的各种程序开发框架为例,英特尔承诺,将针对在intel architecture运算架构(ia)的系统环境,提供经过优化的程序代码,以提升执行效能。
例如,在深度学习技术的应用领域当中,较为风行的几种开放原始码软件框架(deep learning framework),像是caffe、theano、torch、mxnet、neon,英特尔已经提供intel architecture优化程序代码。至于tensorflow的部分,英特尔与google cloud platform在11月的intel ai day活动上,正式宣布策略合作后,最快于2017年初,才会释出相关的程序代码。
caffe
这是由美国柏克莱视觉与学习中心(blvc)所开发的框架,英特尔提供了特制版本intel optimized caffe,可适用于xeon与xeon phi处理器平台,当中整合了英特尔发展的数学核心链接库mkl(math kernel library),并且已针对avx2和avx-512指令集,进行软件效能优化的工程。
而caffe经过改良的成效如何?英特尔提出的实例,是影音服务业者乐视云(letv cloud)的非法影片侦测应用。他们是在xeon e5-2680 v3服务器平台上,搭配intel optimized caffe来进行影片分类的训练,结果得到了30倍的效能提升(相较于他们先前使用的blvc caffe,搭配openblas链接库作为卷积式类神经网络)。
theano
它是由加拿大蒙特娄大学lisa实验室发展的深度学习框架,英特尔也提供了改良的链接库,是针对多核心运算环境予以优化而成的版本,而在京都大学大学院医学研究科的应用案例当中,当他们以此进行新药探索模拟运算的测试上,精准度最高可达到98.1%,而另一个深度学习网络(deep belief networks,dbn)的测试当中,也获得8倍的效能增长。
torch
torch也是许多人很关注的深度学习框架之一,目前主要维护的成员,是来自facebook、twitter、google deepmind公司的研究科学家和软件工程师。英特尔对这套框架提供优化支持之余,同时整合了mkl链接库,进而针对服务器硬件端执行的深度神经网络指令集,提升效率。
而在这样的环境搭配下,英特尔举出的例子是他们与pikazo软件公司合作,针对他们开发的图像风格转换app,协助后端处理效能强化——若以app刚推出的效能作为基准,现在pizako app在图形上色(render)的速度,可提升到28倍,而能够处理的图档尺寸也扩充到15倍之大。
neon
neon是英特尔并购的nervana systems公司所发展出来的链接库,强调易用与高效能,在其现有的技术架构当中,可区分为深度学习功能(算法)、数据模型、解决方案等三层。
在这次的intel ai day大会上,英特尔也预告将推出intel nervana graph compiler,作为ai应用软件层的共通基础,以此对于深度学习应用的架构型态,提供更进阶的描绘方式,以及调校作法。
针对类神经网?络,提供高阶的图学运算编译程序
深度学习框架neon对于硬件资源的存取,会透过不同平台的转换api来介接,因此上层应用无须考虑硬件差异,接下来,英特尔会在neon原本的架构与硬件转换层之间,新增一层nervana graph compiler,主要是为了针对类神经网络应用,提供高阶的处理,以便同时横跨多台硬设备执行。
intel deep learning sdk
除了支持不同开发者所偏好的深度学习框架之外,英特尔本身也会推出intel deep learning sdk。
藉由当中提供的简易使用接口,数据科学家与软件开发人员可发展各种深度学习的应用方案。
例如,透过sdk里面的训练工具,我们能够进行深度学习模型的设定、准备、设计;若要将已经训练好深度学习的模型,自动进行优化与部署的程序,也可以运用sdk包含的部署工具来帮忙。
英特尔处理器内建新的原始指令,强化深度学习效能 针对各种深度学习框架提供优化之余,英特尔在旗下的处理器产品当中,也内建了多种链接库来提升ai应用系统的效能。
math kernel library(mkl)
mkl是英特尔发展了22年的链接库,里面集合了许多原始的数学运算指令,可加速在工程、财务、科学等领域的模拟与分析处理,2016年之后,由于增加了mkl-dnn的链接库,因此也能提升机器学习与深度学习的效能。目前内建mkl的处理器,包含个人计算机用途的core,以及服务器等级的xeon、xeon phi。
这套链接库提供了低阶的c与fortran程序语言接口,能执行多种通用运算,例如,矩阵的乘法、分解、快速傅立叶变换、随机数生成、向量函数等,能支持多种操作系统平台的应用程序开发,例如,windows(微软visual studio),以及linux与os x(eclipse)。
math kernel library for deep neural networks(mkl-dnn)
透过深度学习框架开发的应用程序,若要执行在intel architecture的处理器环境,英特尔提供了一套开放原始码的效能强化链接库,称为math kernel library for deep neural networks(mkl-dnn)。
它与英特尔的mkl链接库之间,有很大渊源。
因为,mkl-dnn是2017版mkl所延伸出来的产物,当中包含了高度向量化与穿插式的建构模块,而且是透过c与c++程序语言的接口,实作出卷积类神经网络(convolutional neural networks,cnn)的架构,并且不只能在c和c++这两种开发环境运用,也可用于python和java等高阶程序语言。
针对深度学习应用系统当中所进行的运算密集式工作, mkl-dnn也能对相关的框架提供加速处理,英特尔特别强调可支持上述提及的caffe、theano、torch、tensorflow等深度学习专用的链接库。
从服务器到个人计算机的处理器,都内建新链接库,强化ai效能
除了提供优化程序代码,英特尔在处理器平台上,也内建了原始指令:专供深度神经网络使用的数学核心链接库mkl-dnn,以及用于深度学习讯息传递应用的机器学习规模扩展链接库mlsl。
machine learning scaling library(mlsl)
在intel ai day活动当中,英特尔也预告将推出一套新的链接库,称为machine learning scaling library(mlsl),可在深度学习系统的多节点互连架构下,进行规模扩展的应用,可支持32个节点以上所组成的深度学习系统。有了mlsl之后,深度学习系统可针对不同节点之间的讯息传递作业,进行抽象化的处理。
mlsl是架构在现有平行运算系统所惯用的mpi(message passing interface)之上,可运用其他用于讯息沟通的链接库,而在讯息沟通的模式上,用户若要扩展到更大的系统使用规模,mlsl也将对此提供优化。mlsl本身也提供通用的api接口,可支持上述的各种深度学习软件框架。
此外,由于mlsl与深度学习系统的多台节点扩展应用有关,因此能否适用不同的网络互连方式,也很重要。mlsl目前可支持的联机规格,有标准的以太网络、infiniband,以及英特尔发展的次世代互连网络架构omni-path architecture(opa)。
data analytics acceleration library(daal)
目前英特尔针对ai应用所持续发展的链接库,除了上述的mkl,还有data analytics acceleration library(daal),这套在2015年推出的链接库,可针对基于intel architecture处理器平台的个人计算机、服务器,提升大数据分析作业的执行效能。
这套链接库包含多种经过优化的算法建构模块,能够支持数据分析过程中的每个阶段,像是前置处理、转换、分析、建模、验证、抉择,并且在脱机、在线串流与分布式等不同的数据分析环境里面执行。
daal的发展上,也考虑到常见的大数据平台应用需求,目前已可强化hadoop、spark、r、matlab系统的数据存取效率。同时,daal也内建数据管理机制,协助应用系统得以从多种来源存取到数据,例如档案、内存内的缓冲区、sql数据库、hdfs文件系统。
daal与mkl同样皆可针对大数据的处理,不过,若遇到数据量大到内存无法全部加载的情况,daal本身能运用特制的算法来因应——将资料切割为块状,而不是全部放进内存。
在程序语言的部分,daal提供高阶的c++、java与python接口,可用来处理多种数据分析需求,像是主成分分析、回归、分类、群集与购物篮分析。透过这个链接库,你可以利用指定的算法来训练出模型,然后评定数据集在这模型中的分数。
下篇:英特尔ai策略全解析(3):与谷歌合作发展云服务

Adafruit的Microsoft MakeCode简介
嵌入式C开发中段错误的3种调试方法
生物识别技术应用有哪些好处
电源IC的发照及产业状况
5G已逐步进入全民普及阶段
英特尔AI策略全解析(2):软件的优化提供强大效能
FLIR E60红外热像仪的性能特点及应用
苹果推出新款笔记本,配置1080P摄像头+T3芯片
新能源汽车电池是什么材料的
微软发布IE 9浏览器第四平台预览版 预计9月15日发布测试
2023CPSE安博会圆满落幕,英码科技展位吸引众多国内外客户关注!
红外热像仪与热电偶的对照试验
智能家居安全系统是怎样的一套系统
日本JEITA预测全球电子设备产值将突破3万亿美元
科大讯飞又拿下一个世界第一,而且是在计算机视觉领域
5G助力VR 改变传统广告模式
传感器的几种常见分类
放电线圈型号含义_放电线圈工作原理
思必驰主办的“车载互联 语见未来”的智能车载语音交互沙龙成功举办
不同值的电压源并联、电流源串联的影响