想做AI独角兽?你该和FPGA交个朋友
最近想必很多人工智能(AI)界小伙伴的朋友圈,都会被一则新闻刷屏:国内AI初创公司深鉴科技被全球排名第一的FPGA公司赛灵思(Xilinx)收购,尽管各方都没有披露收购的财务细节,不过据称先前深鉴科技的估值就已经达到了10亿美元。
为什么这家成立刚刚两年的公司,就可以成为令人羡慕的AI独角兽?其中有很多原因,不过从技术的角度来说,很大程度上这是因为他们在创业之初做对了一件事——选择FPGA作为AI梦想的支点。
大家都知道AI的ABC三要素——算法(A)、大数据(B)和算力(C)。为让人工智能算法基于大数据释放出最大的能量,就必须有强大的硬件计算平台做支撑。目前我们可用的硬件平台架构主要是CPU、GPU、FPGA和ASIC这几种。
如果单从计算性能和效率、功率和面积来看,专用的ASIC肯定是最佳选择。不过处于发展初期的AI,其算法总是在快速迭代和变化之中,在无法形成大规模稳定应用之前,将算法固化在ASIC中,而没有任何灵活性,将意味着巨大的成本和风险。
而CPU则是另一个极端——它有极强的通用性和灵活性,可编程,可以跑各种算法,但是计算的效率太低,无法满足AI大量并行计算的需要。GPU无疑是近年来AI界的明星,其凭借出众的并行处理能力,已经成为很多云端AI数据中心的计算核心,但从本质上来讲GPU硬件结构还是固定的,不具备可编程性,面对AI算法的迭代变化,还是会力不从心。
而FPGA由于是一种硬件可编程的处理架构,可以随时调整硬件架构以适应算法的变化,因此可以很好地去应对AI算法多样性和快速迭代的挑战。而且目前Xilinx等FPGA厂商还推出了ARM+FPGA的异构开发平台——如Zynq FPGA SoC——将嵌入式处理器和可编程逻辑整合在一起,开发者可以根据需要在两个系统间分配计算任务,探索出最优的解决方案,为AI提供一个兼具高性能和灵活性的计算平台。
而且随着人们对AI应用场景的深入了解,FPGA的另一个优势也逐渐显露出来。AI的应用场景可以分为训练(training)和推理(inference)两个环节。训练是指利用海量数据,选择合适的训练方法,训练出一个人工智能模型,这需要庞大的计算集群,所以大多是在云端完成的。
推理是指利用训练出来的模型来在线响应用户的需求,做出决策判断,这个过程既可以在云端完成,也可能是在网络边缘端用户侧的智能设备中完成。GPU的特性决定了其更适合去做大规模的并行计算,在云端以最快速度处理海量数据训练、验证模型的有效性。
但对于推理这种通常一次只对一个输入项进行处理的应用,GPU并行计算的优势发挥不出来,因此并不适合。而FPGA的架构则更适合于推理环节的计算任务,而且对于那些位于网络边缘、性能受限、功耗苛刻、要求实时性的AI应用,FPGA更是能体现出它的优势。
实际上推理环节是AI的应用落地的关键,这就意味着不论云端还是边缘设备中,都要部署相应的推理计算资源,因此FPGA未来在AI中的市场潜力是非常巨大的。
图1,深鉴科技基于FPGA平台的DPU与GPU方案的性能对比(资料来源:36Kr)
FPGA能给AI玩家带来的再一个好处就是,可以让他们在短时间内去验证和优化自己的算法,根据市场需要快速开发出应用方案,而同时避免投资专用ASIC芯片而带来的巨大成本压力。这方面,深鉴科技就是一个很好的例子。
深鉴科技的CEO姚颂在接受媒体采访时曾经坦承,选择FPGA架构作为AI的切入点是他们产品规划的一个重要组成部分——用FPGA实现,而不是直接做ASIC,可以很快做出产品,拿到客户的测试反馈后,基于FPGA的可编程特性马上进行修改、烧写,再次更新给客户,用这样的方法他们才得以快速响应客户需求,抢占市场先机。
有人把深鉴科技的做法形容为利用具备可重构特性的FPGA芯片来实现半定制的人工智能芯片,他们设计开发的“深度学习处理单元”(Deep Processing Unit,DPU)芯片就是基于FPGA平台,希望以ASIC 级别的功耗来达到优于GPU 的性能。这种半定制芯片抽象出了指令集与编译器,可以快速开发、快速迭代,与专用的FPGA加速器产品相比,具有非常明显的优势。
总之,以FPGA为技术支点,AI的开发者可以快速完成了软件算法开发、硬件平台搭建、产品方案开发等一系列工作,实现全面开挂……已经有成功的案例在前,你想成为AI独角兽,是不是也该和FPGA交个朋友?
往期相关文章回顾:
Ask Avnet 人工智能平台 - 拉近顾客与资源之间的距离
安富利
获取更多精彩内容