2016人工智能技术发展进程梳理

时间:2017-02-04 来源:CSDN

编者按:2016年是“智能驾驶元年”、“人工智能硬件元年”、“增强学习元年”、“嵌入式人工智能元年”。算法和模型创新、硬件提速、应用创新这三驾马车,将带领我们高速奔向更加智能的时代。

 FPGA 崛起

  FPGA(Field-Programmable Gate Array)是现场可编程门阵列的英文缩写。简单来说,FPGA就像是一块空白的数字电路,开发者可以通过编写硬件代码的方式来设计一个数字电路,代码编写完成后,类似软件代码中的编译过程,FPGA的综合器会对代码进行综合、布局布线,之后会生成一个二进制文件,将这个二进制文件烧写到FPGA后,原本空白的FPGA就变成了开发者设计的电路,这就是“现场”和“可编程”的含义。同时,FPGA可以反复擦写,通过烧写不同的二进制文件来实现不同的功能。因此,FPGA是介于专用集成电路(ASIC)和通用处理器(CPU)之间的一种硬件。

  Xilinx和Altera是世界上最大的两家FPGA厂商,共同占据了将近90%的市场份额。在2015年,Intel以167亿美元完成了对Altera的并购,并购后的Altera成为Intel可编程技术事业部。此次并购足以见得Intel非常看重FPGA在其生态体系中的作用,可以从中看到Intel携手FPGA进军数据中心的决心。图14为Altera的FPGA芯片。

  历史上的FPGA作为“胶合”逻辑广泛应用于信号处理、ASIC验证等领域。所谓胶合逻辑即两个硬件模块进行互联时常常发现硬件接口、通信协议不匹配,这时在中间增加一级FPGA作为协议转换器,就能实现两个模块之间通信和资源共享,而不需要修改原有模块的软硬件设计。iPhone 7里面集成的Lattice FPGA(ICE5LP4K)就是这样的角色。


2016人工智能技术发展进程梳理

  图14 Altera FPGA近照

  随着工艺提升,集成度不断加大,FPGA内部的DSP资源也逐渐变多、变强,甚至超过了普通的CPU、GPU,这时利用FPGA做计算加速也顺理成章。FPGA具有高度可定制性、细粒度并行性,低功耗等特点,吸引了互联网企业的关注,越来越多的人在研究如何在数据中心中发挥FPGA的优势。受硬件资源限制,FPGA主要使用低精度(8-bit和16-bit)定点计算,所以一般都是面向神经网络预测而非训练。

  值得注意的是,NVIDIA的低功耗GPU Tesla P4也专门面向预测,与FPGA形成了针锋相对的形势,在多种性能指标中P4也一骑绝尘碾压大多数FPGA器件。使用FPGA而非GPU的一个理由是,FPGA硬件连线可以定制,GPU架构是死的,升级硬件时需要重复投入资金,不像FPGA那样可以更新硬件连线来实现硬件升级。

  FPGA编程绝非普通软件开发人员可以胜任。它涉及指定芯片门级布局。最近OpenCL和其他编译器技术引入,使得FPGA设计难度大大降低。

  微软Azure

  微软在Azure上采用FPGA加速机器学习和其他需要大量吞吐的应用和服务已有五年多时间。最早在2011年发起了Catapult项目。第一次FPGA落地项目为Bing搜索排序算法,将吞吐提升了两倍同时功耗降低至10%。利用云的巨大体量摊低成本,利用FPGA任意定制特性满足各种各样的应用场景,硬件可以实时升级。

  最初的Catapult服务器是双路16核Xeon处理器+64GB RAM和一块Altera Stratix V FPGA板卡,2 TB SATA磁盘和两块480GB美光SSD。

  8月份,微软发布了Catapult v2,特点是FPGA连接到CPU、主存和网络。这样,FPGA可以直接与另一块FPGA通信,而不需要经过CPU中转。该设计更适合水平扩展。除了加速AI应用,FPGA也用于加速Azure的25G网络设施,根据微软报告,FPGA可以实现1/10延迟。由于可动态配置,FPGA可以同时加速网络和机器学习应用。

  9月27日,微软CEO Satya Nadella与工程师Doug Burger在亚特兰大Ignite会议上联合宣布每个Azure云服务器都安装了Altera FPGA(Catapult 2)。在演示环节,一个装备4块FPGA的服务器仅需2.6秒就能把1440页著名的俄语小说《战争与和平》翻译为英语,而一个24核CPU服务器完成相同任务需要19.9秒,功耗高60W。展示用的FPGA服务器使用10核CPU和4块基于Altera Stratix V D5 FPGA加速卡,其功耗为30W,峰值处理性能为7.9TOPS。使用同样的4块FPGA服务器将英文版Wikipedia全部30亿文本翻译为另一种语言需要4个小时,而Azure整个云都配备了FPGA,当Burger将几乎全部Azure计算能力(差不多1 EOPS)投入计算时,耗时不到0.1秒。


2016人工智能技术发展进程梳理

  图15 Azure FPGA加速文本翻译展示

  Xilinx收购Auviz Systems

  Xilinx于9月宣布收购在卷积神经网络(CNN)领域有独到研究的Auviz Systems公司,这家成立仅三年的公司,专注于数据中心和嵌入式系统的加速应用,擅长机器学习、视觉算法和FPGA实现。

  Auviz Systems提供基于FPGA的中间件IP,以减少应用程序的功耗。对于需要以低功耗实现高性能的应用,他们提供了FPGA库如AuvizCV, AuvizLA,AuvizDNN以及定制加速器和服务。而针对FPGA,Auviz库支持用C/C++或者OpenCL平台进行编程。

  实际上,最近在人工智能领域热门的本土新创公司深鉴科技也采用赛灵思的FPGA完成卷积处理,深鉴科技的创始人汪玉在Xilinx大学计划年会上发言时特别强调了FPGA在卷积神经网络实现上的优势。深鉴成立于2016年3月,DeePhi提供软硬件协同设计方案,实现从模型到硬件的完整工作流。


2016人工智能技术发展进程梳理

  图16 AuvizDNN加速CNN

  小结:如果说只有大公司才有足够的财力、人力、物力去设计专用人工智能芯片,那么对于大多数中小企业而言,FPGA是更好的选择,设计相对灵活,成本投入更低,投放市场时间(Time-to-Market)更短。在人工智能硬件的舞台上,无论Hot Chips、 SC16还是ISSCC,我们看到越来越多的FPGA解决方案,呈现百花齐放百家争鸣的盛景。

  嵌入式人工智能崛起

  前面论述的绝大多数软硬件都是在服务器端的,无论Google TPU还是Azure上的FPGA,更不用说NVIDIA DGX-1这样的庞然大物。这些“高大上”的概念让普通人敬而远之。而与我们生活息息相关的大多数场景都与移动设备、嵌入式设备相连。值得注意的是,今年嵌入式设备上的人工智能也成为一道亮丽的风景。众多初创企业投入了这股热潮,努力将人工智能与具体用户需求结合,创造更具性价比的智能产品。今年ILSVRC比赛冠军商汤科技和海康威视,主要产品都是嵌入式设备,从而也为人工智能真正扎根到广大人民群众中间做好了准备,相信不出几年我们身边将会出现越来越多智能设备像智能手环、智能家居、智能健康设备、智能自行车、智能汽车、智能秘书帮我们完成细致而琐碎的工作。

  TensorFlow

  AlphaGo的灵魂就是TensorFlow。一年前,Google就将TensorFlow完全开源。半年前,Google发布了专门加速TensorFlow的硬件TPU。在短短的一年内,它的提交就超过了10000次,Google大脑部门做了许多性能改进:增加了对分布式培训的支持,支持从iOS到树莓派(Raspberry Pi)平台,与广泛使用的Hadoop/Spark大数据基础设施集成;发布了领先的图像分类模型Inception;目前是最流行的机器学习项目,广泛用于语音识别、图像识别、自然语言处理等多项机器学习和深度学习领域。

  TensorFlow是第一个可以在iOS、Android设备和树莓派等移动设备/嵌入式设备上面运行的机器学习框架。这样可以在有摄像头的手机上运行TensorFlow的Inception分类器或自定义的分类器,只要把摄像头对准你希望做分类的东西,TensorFlow就会告诉你它认为这是什么。

  Cartographer

  Google在10月8日宣布开源Cartographer,这是一个ROS系统支持的2D和3D同步定位与制图技术(SLAM,simultaneous localization and mapping)库。SLAM是众多自动驾驶平台的重要组件,比如自动驾驶汽车、仓库中的自动叉车、扫地机器人、UAVs等。在产业界和学术界常见的传感器配置上,Cartographer能实时建立全局一致的地图。Google在官方声明中提到,SLAM算法结合了来自多个传感器的数据,比如LiDAR激光雷达传感器、IMU惯性测量单元,还有来自多个摄像头的数据。综合这些庞杂的数据,得以计算传感器及传感器周围的环境。Cartographer现已经支持Toyota HSR、TurtleBots、PR2、Revo LDS这几个机器人平台。

  Caffe2Go

  Facebook于11月8日宣布将深度学习系统Caffe2Go开源,可以完全运行在智能手机上,目的是让开发者更容易接触到人工智能。相比TensorFlow,晚了整整一年。

  为了可以在iOS和Android设备上高效地运行各种深度神经网络,Facebook将用于图像和视频处理的AI模型压缩了100倍。最终实现在某些手机上用不到二十分之一秒的时间完成AI预测过程。

  嵌入式设备并不总是独立作战,一些计算复杂度较高的任务会采用“云+端”的处理架构,一个例子是10月18日锤子手机新品发布会上演示的科大讯飞输入法,通过语音输入转换为文字,准确率达97%,其背后是基于深度学习的语音识别系统,单纯依靠移动端是难以实现的,即使实现了也会有诸如手机发烫、电池不够用等问题,将任务合理分工,“云+端”协作完成复杂任务,可以大幅提升用户体验。

  小结:可以预见,将来会有更多具备人工智能功能的嵌入式设备和移动App,进一步拉近我们与人工智能距离,成为密不可分的知心朋友。或许有一天你几乎无法分辨你的微信好友究竟是人,还是AI。

1 2 3 4

关键词:人工智能AlphaGo

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版