FPGA是一种比通用处理器更有效的处理器
随着来自在线媒体和物联网等来源的图像,视频和语音的数字数据的发展,正推动对分析的需求。
数据分析通常取决于机器学习(ML)算法。在ML算法中,深度卷积神经网络(DNN)为重要的图像分类任务提供了最先进的精度,并被广泛采用。
在过去的十年中,人们在人工智能中受益匪浅。像Nvidia和AMD这样的组织已经看到了其股价的巨大提升,因为他们的GPU已证明对训练和运行深度学习模型有效。的确,英伟达甚至已经从无懈可击的GPU和游戏组织转变为云GPU服务提供商和熟练的AI研究实验室。
GPU有天然的缺陷,正如专门从事机器学习软件的公司Mipsology的首席执行官兼联合创始人Ludovic Larzul指出的那样,将它们放置在AI应用程序中会带来问题。
根据Larzul所说,该解决方案是现场可编程门阵列(FPGA)。FPGA是一种可以在组装后定制的处理器,这使其比通用处理器更有效。
什么是FPGA?
现场可编程门阵列(FPGA)包含具有可编程硬件结构的电路。与图形处理单元(GPU)或ASIC不同,FPGA芯片内部的硬件不是硬蚀刻的,它需要进行重新编程。与ASIC相比,这种能力使FPGA成为了最好的选择,而ASIC需要较长的开发时间并需要大量的设计和构建投资。
这项技术业务是最近才将FPGA部署到机器学习和深度学习的。2010年,Microsoft Research展示了FPGA上AI的主要使用实例之一,这是其致力于加快Web搜索速度的一项功能。FPGA提供了速度,可编程性和灵活性和高性能。五年后,微软的Bing搜索引擎开始在生产中使用FPGA,证明了其在深度学习应用中的价值。通过利用FPGA加快搜索定位,Bing的吞吐量提高了50%。
GPU问题
GPU需要大量电力,会产生大量热量,并使用风扇进行冷却。当您在台式工作站,便携式计算机或服务器机架上训练神经网络时,这不是一个非常明显的问题。但是,部署深度学习模型的大量环境与GPU不兼容。
GPU的使用寿命约为2-5年,对于通常取代时钟之类的计算机的游戏玩家来说,这显然不是什么大问题。在任何情况下,例如在需要更高耐用性的汽车业务等不同领域,它都会变得棘手,特别是由于GPU暴露于生态元素和更广泛地使用后,它们可能会更快地消失。
为什么FPGA比GPU更好?
低延迟和高吞吐量,卓越的性能: FPGA可以提供低延迟,就像实时流(如视频流,转录和动作识别)的确定性延迟一样,通过直接将视频导入FPGA而不用CPU即可。开发人员可以从最早的阶段开始组装神经网络,并构造FPGA以使其最适合该模型。
克服I / O瓶颈:在信息必须以低延迟穿越大量网络的情况下,使用了FPGA。它们在消除内存缓冲和克服I / O瓶颈方面具有非同一般的价值,这是AI系统性能中限制最大的因素之一。通过加速数据摄取,FPGA可以加快整个AI工作流程。
促进高性能计算(HPC)集群:FPGA可以通过填充为推理的可编程加速剂来帮助AI和HPC的混合。
能源利用率低:借助FPGA,开发人员可以根据应用调整硬件,从而满足功率要求。FPGA同样可以提供各种容量,从而提高芯片的能效。与整个芯片相反,可以考虑利用一部分FPGA来实现某种功能,从而允许FPGA并行具有各种功能。