FPGA技术协助嵌入式系统竞逐于机器学习之路
机器学习技术是人工智能的一个重要科学发展,透过在经验学习中改善具体演算法的效能,而且用来训练的数据越多,所学习出来的结果越好,为了处理分析大量图像或是语音等识别的机器学习演算法数据,需要采用GPU芯片所打造的高速平行运算处理的类神经网络超级电脑,利用诸如Tensorflow、Caffe等深度学习框架(Framework)等工具,来发展有效的演算法。
一旦得到演算法之后,对嵌入式系统的设计而言,迅速将演算法应用到云端数据中心,或是直接到终端的边缘运算(Edge Computing)装置上,就是目前人工智能应用成果发挥的展示场。由于嵌入式系统本身的运算效能与低功率消耗的功能不断提升,所构建的智能功能、软硬件解决方案,非常有助于开创前所未有的人工智能的应用。
机器学习的技术已广泛应用于数据探勘、电脑视觉、自然语言处理、生物特徵识别、查找引擎、医学诊断、检测信用卡欺诈、证券市场分析、语音和手写识别、战略游戏与机器人等应用领域。
可程序设计闸阵列(FPGA)的解决方案,利用其可程序设计性的优势,已经广为业界所认知,赛灵思(Xilinx)做为FPGA解决方案的主要供应商而言,密切关注机器学习所带领的产业趋势,以及重要的应用范例。赛灵思亚太区工业及医疗市场的高级经理罗霖(Andy Luo)先生接受专访时,针对Xilinx产品进入机器学习的领域,提纲契领直指两个主要的应用领域。
首先,在云端机房与数据中心的应用领域,透过跨国性大型搜索引擎与社群媒体巨擘的紧密合作,以大陆市场为例,Xilinx与百度(Baidu)的搜索引擎加速器合作,具有重要的指标性,由于机器学习在高效能运算(HPC)平台上,使用的类神经网络模型与多层次架构(Training Framework)来训练演算法,一旦将结果应用于数据中心的加速卡设计时,往往需要进行细部的调整与开发,所以弹性变更逻辑线路的设计要求下,FPGA的可程序化(Programmable)的能力就益行重要。
Xilinx的解决方案之所以迅速攫取多数大厂用户的目光,端赖两项重要的诱因,也就是低功率消耗与高度灵活的硬件平台,提供数据中心专用加速器性能上的优势,并支持数据中心业者,打造更快速的创新应用与技术。
Xilinx推出可重组加速堆叠(Reconfigurable Acceleration Stack)技术,针对机器学习、大数据分析和视频串流直播(Video Streaming)等三大新兴计算密集型应用,借助所提供各种应用程序库、开发工具和参考设计,有效的降低设计工程师开发FPGA通用的程序设计门槛,迅速解决数据中心中工作负载快速增长的挑战,并加速云端服务产品上市进程。
第二个重要的应用领域,就是在边缘运算装置的部署,因为大量的视讯镜头的使用,使得嵌入式视觉(Embedded Vision)技术可以因为采用机器学习的演算法,而带来更多智能的应用。
但是嵌入式系统考量功率消耗需求,无法企求使用32或64位元的高效能处理器,因此开发出一种技术,让多半使用32-bit或16-bit的浮点运算(Floating Point)所设计的演算法,可以放在8位元整数运算处理器的智能终端装置上,Xilinx的解决方案在这类的应用上,保持演算法在嵌入式系统上有效的准确度,所以使用机器学习所训练而获得的演算法,当部署到低耗电与低运算密度的系统时,仍能完成人工智能的应用。
智能终端运算应用随着空拍机与自动驾驶汽车的发展,尤其是先进驾驶辅助系统(ADAS)中的自动识别、路线规划,以及无人机上自动避开空中障碍,或是视讯监控与识别分析等新兴功能,带领令人高度期待的应用,也推增FPGA的市场占有率。
另一个重点就是工业4.0的应用,这利用传感器融合(Sensor Fusion)的装置,将工业场域所收集的控制数据,做线性规划与数据分类,以掌握工业设备目前的状态。选择Xilinx的FPGA元件能在单一芯片上提供广泛的高速界面,能以低成本获得更高效能,并因为各种开发环境整合到同一平台上而节省开发资源,让客户得以专注于开发差异化功能的产品,取得市场先机。
低功率消耗与快速反应速度 FPGA独擅胜场
和GPU为主的解决方案相比,罗霖分析FPGA的主要优势,首推低功耗的设计,通常3瓦的功耗的设计足以支撑整个加速卡的效能,第二个重要的优势,是反应速度快速,以微秒等级的反应速度,特别适合在空拍机或是自驾车应用的领域,因为反应速度决定人身安全的重要诉求。
但是FPGA也有弱点,罗霖持平而论,也就是工程师的开发FPGA的时间较长,因为需要熟悉使用逻辑线路分析、布局布线等EDA工具才能设计FPGA线路,虽然FPGA现在也可以利用OpenCL和C 语言以类似软件的流程来程序设计,但是不可讳言的,其工程设计门槛还是比GPU的使用设计要高,罗霖强调Xilinx对于FPGA在机器学习方面组成开发者社群,并开发丰富的工具和程序库的,已经可以大大提升设计效率。
罗霖指出Xilinx的FPGA解决方案,在全球主要通信系统机房中,一直是用来做为主要通讯系统的设计,利用密集型计算应用,做为处理通信标准中信号处理与应用,几乎占了Xilinx的50%的主要收入来源,但是配合机器学习所带领的数据中心加速卡与边缘运算终端的应用,涵盖更多的无人空拍机、智能视讯影像监控系统、自驾车的应用,目前已经贡献Xilinx另外的40%的营业收入来源,前景非常具有爆发式成长动能。
展望2017的目标,第一,Xilinx设定工业物联网(IIoT)的应用,从工业设备常用的PLC应用,以及透过IEEE TSN、OPC-UA的工业通讯协定的整合,以掌握实时性的信息,开发工业应用,第二,面对机器学习的演算法与相关的FPGA设计工具的加强,加快协助客户做到人工智能功能的快速部署,以达到更卓越的效能需求,并能同时降低开发成本。