人工智能以往需要非常庞大的运算量才能实现,因此必须在云端数据中心由服务器执行。但随着人工智能走向专用化,加上开发工具跟环境渐趋成熟,以及半导体组件技术的效能不断精进,现在已有部分人工智能应用可直接内建在各类终端装置上,或采取某种混合架构。
人工智能(AI)从云端服务器走向网络边缘,直接内建到各类物联网(IoT)装置,已经成为挡不住的发展趋势。不过,由于这个趋势才刚开始成形,因此绝大多数的人工智能应用开发都得从零开始,即便是具备相当规模跟资源的团队,都显得有些吃力,规模较小的开发团队,则普遍面临开发进度缓慢的挑战。
有鉴于此,现场可编程门阵列(FPGA)供货商赛灵思(Xilinx)宣布,将在其现有的嵌入式视觉解决方案基础上,强化对机器学习(MachineLearning)等人工智能功能的支持,并推出reVISION软件堆栈。
现成组件库加快产品开发流程
赛灵思工业、科学、医疗(ISM)营销资深技术经理罗霖(图1)表示,人工智能已经成为科技产业发展的重要趋势,而且从核心(数据中心)往边缘(各类联网装置)扩散的态势十分明显。不过,由于缺乏对应的函式库(Library)等软件堆栈辅助,应用开发者经常必须从头到尾靠自己的力量进行开发,因此项目开发的时程很长,而且需要耗费大量人力。
图1赛灵思ISM营销资深技术经理罗霖指出,人工智能
从云端朝网络边缘扩散,将是未来科技产业发展的一大趋势。
事实上,在整个人工智能应用开发的过程中,现有的软硬件解决方案供货商,大概只能协助开发者解决其所遇到的少部分问题,绝大多数的算法撰写、训练工作,都得靠开发者自己想办法解决。常有人工智能应用开发者打趣地说,人工智能应该改名叫「工人智能」,因为所谓的人工智能应用,往往是他们这些开发者辛苦奋战大半年,耗尽脑力才开发出来的心血结晶。
为了解决这个问题,进而加速人工智能应用的普及,赛灵思宣布推出reVISION软件堆栈解决方案。全新reVISION堆栈可让对硬件设计不熟悉的软件及系统工程师,也能够更容易、更快速地开发支持人工智能的嵌入式视觉应用。这类应用涵盖高阶消费类产品、汽车、工业、医疗、以及航天与国防等领域,以及新一代的应用包含协作机器人、具备感测与碰撞规避功能的无人机、扩增实境、自动驾驶车、自动监视与医学诊断等领域。
在这些应用上,除了差异化至关重要外,其系统亦必须具备极快的反应能力,并快速部署最新的算法与传感器,大约三分之二的视觉导向半导体应用都属于此类市场。
透过reVISION组件库与开发环境,许多人工智能开发、写程序的过程,将可简化成参数设定,让开发者省下不少心力跟时间,专注在更能创造差异化的功能开发上。而赛灵思也会定期更新reVISION版本,以便支持最新的深度学习算法。
FPGA龙头向英特尔/NVIDIA叫阵
reVISION为反应最快速的视觉系统铺建了最快的发展途径,同时也是身为FPGA龙头的赛灵思,向NVIDIA、英特尔(Intel)叫阵的宣言。在产品简报中,赛灵思直接点名NVIDIA、英特尔和其旗下的Altera,将自家产品与上述竞争对手的产品做效能评比对照。与NVIDIA的JetsonTX1嵌入式GPU相比,以赛灵思FPGA方案为基础的机器学习推论,其每秒每瓦影像效能提升了高达6倍、计算机视觉每秒每瓦每帧处理速度则提升了42倍,而延迟却只有五分之一。若是与同为FPGA的Altera解决方案相比,则在每瓦效能(Performance/Watt)上领先2~4倍。
事实上,以FPGA来实现人工智能应用,具有非常大的优势。人工智能领域的演进非常快速,具备可重组以及支持所有形式链接等优势的FPGA,可以很轻松地进行各种修改或升级,以便在最短时间内支持新的人工智能算法。类神经网络、算法、传感器技术与接口标准都会持续加速演进,可重组特性对于「支持未来需求」的智能视觉系统至关重要。
因此,在赛灵思正式宣布推出reVISION组件库与相关套件之前,业界就不断在猜测,赛灵思究竟何时会大动作进军人工智能领域。毕竟,FPGA在这个领域具有相当大的性能优势,只是开发门坎也较高,因为FPGA传统上是硬件工程师作芯片原型开发的工具,懂得如何使用FPGA的工程师,通常是IC设计工程师,而非一般的软件工程师。
但reVISION与相关套件也解决了这个问题。即使是对硬件不熟悉的开发者,在reVISION平台上也能利用C、C++或OpenCL语言,搭配Caffe与OpenCV这类业界标准框架与函式库,在ZynqSoC或MPSoC等芯片平台上开发各种嵌入式视觉应用。
赛灵思reVISION堆栈集众多研发资源在平台、算法、以及应用等领域的开发。其中包括支持最欢迎的类神经网络如AlexNet、GoogLeNet、SqueezeNet、SSD、以及FCN。除此之外,堆栈提供了函式库元素,包含针对卷积神经网络(CNN)分层预先定义和作业优化,用来建立客制化类神经网络(DNN/CNN)。
机器学习组件佐以众多运算加速OpenCV功能,用以执行计算机视觉处理作业。在应用层级开发方面,赛灵思支持业界标准框架,包括专为机器学习的Caffe以及计算机视觉方面的OpenVX。此外reVISION堆栈还包含赛灵思自己与第三方的开发平台,内含众多种类的传感器。