FPGA可解决深度学习中GPU面临的很多问题

煤油灯科技2023-01-13 09:32

在过去的十年里,AI的兴起带动了显卡行业,英伟达 (Nvidia) 和 AMD 等公司的股价也大幅上涨,因为它们的GPU在训练和运行深度学习模型方面效果明显。实际上,英伟达也在转型,它之前是一家纯粹GPU和游戏公司,现在除了提供云GPU服务外,还成立了专业的AI研究实验室。

不过,GPU还存在着一些缺陷,这使其在AI应用中面临着一些挑战。要解决这些问题就用到FPGA,它是一种可在制造后定制的处理器,比一般处理器更高效。但是,很难对FPGA进行编程,Mipsology软件公司开发的新平台有望解决这个问题。

Mipsology首席执行官兼联合创始人Ludovic Larzul表示,专业的AI硬件已经成为了一个独立的产业,但对于什么是深度学习算法的最佳基础设施,人们仍然没有定论。如果Mipsology成功完成了研究实验,许多正受GPU折磨的AI开发者将从中受益。

GPU在深度学习中面临的挑战

GPU拥有大内存和计算能力,它与深度神经网络有一个共同之处:都需要进行大量矩阵运算。

显卡可以并行执行矩阵运算,极大地加快计算速度。GPU可以把训练神经网络的时间从几天、几周缩短到几小时、几分钟。

随着图形硬件公司供货的不断增加,GPU在深度学习中的市场需求还催生了大量公共云服务,这些服务为深度学习项目提供强大的GPU虚拟机。

但是显卡也受硬件和环境的限制。神经网络训练通常是在一个确定的环境中进行的,运行神经网络的系统会在部署中遇到各种限制——这可能会对GPU的实际使用造成压力。

GPU需要大量电力,会产生大量热量,并需要使用风扇冷却。当你在台式工作站、笔记本电脑或机架式服务器上训练神经网络时,这不是什么大问题。但是,许多部署深度学习模型的环境对GPU并不友好,比如自动驾驶汽车、工厂、机器人和许多智慧城市环境,在这些环境中硬件必须忍受热、灰尘、湿度、运动和电力限制等环境因素。

Larzul说:“在一些关键的应用场景中,比如智慧城市的视频监控,要求硬件暴露在对GPU有不利影响的环境因素 (比如太阳) 下。“受晶体管技术的限制,导致GPU在高温下运行时需要及时冷却,而这并不一定实现。要做到这点需要更多的电力、维护成本等。”

使用寿命也是一个问题。一般来说,GPU的使用寿命约为2-5年,这对那些每隔几年就换一次电脑的玩家来说不是什么大问题。但在其他领域,如汽车行业,需要硬件有更高的耐用性,这就带来了问题。特别是过多的暴露在恶劣的环境中,再加上高强度的使用,GPU的使用寿命将会更短。

Larzul说:“从商业可行性方面考虑,自动驾驶汽车等应用可能需要多达7-10个GPU(其中大多数会在不到四年的时间内失效),对于大多数购车者来说,智能或自动驾驶汽车的成本将变得不切实际。”

机器人、医疗保健和安全系统等其他行业也面临着类似的挑战。

FPGA和深度学习

FPGA是可定制的硬件设备,可对其组件进行调节,因此可以针对特定类型的架构(如卷积神经网络)进行优化。可定制性降低了对电力的需求,并提供更高的运算速度和吞吐量。使用寿命也更长,大约是GPU的2-5倍,并且对恶劣环境和其它特殊环境因素有更强的适应性。

有一些公司已经在他们的AI产品中使用了FPGA。微软就是其中一家,它将基于FPGA的机器学习技术作为其Azure云服务产品的一部分来提供。

不过,FPGA的缺陷是难于编程。配置FPGA需要具备硬件描述语言(如Verilog或VHDL)知识和专业技能。机器学习程序是用Python或C等高级语言编写的,将其逻辑转换为FPGA指令非常困难。在FPGA上运行TensorFlow、PyTorch、Caffe和其他框架建模的神经网络通常需要消耗大量的人力时间和精力。

“要对FPGA进行编程,你需要组建一支懂得如何开发FPGA的硬件工程师团队,并聘请一位了解神经网络的优秀架构师,花费几年时间去开发一个硬件模型,最终编译运行在FPGA 上,与此同时你还需要处理FPGA使用效率和使用频率的问题。”Larzul说,“此外,你还需要具备广泛的数学技能,以较低的精度准确地计算模型,并需要一个软件团队将AI框架模型映射到硬件架构。

Mipsology希望通过Zebra来弥合这一差距。Zebra是一种软件平台,开发者可以轻松地将深度学习代码移植到FPGA硬件上。

“我们提供了一个软件抽象层,它隐藏了通常需要高级FPGA专业知识的复杂性。”Larzul说,“只需加载Zebra,输入一个Linux命令,Zebra就可以工作了——它不需要编译,不需要对神经网络进行任何更改,也不需要学习任何新工具。不过你可以保留你的GPU用于训练。”

Zebra提供将深度学习代码转换为FPGA硬件指令的抽象层

AI硬件前景

Mipsology Zebra平台是开发者探索在AI项目中使用FPGA的众多方案之一。Xilinx是FPGA领域的领导者,已经开发了Zebra并将其集成到了电路板中。其他公司,如谷歌和特斯拉,也正积极的为其开发专用的AI硬件,用于自己的云产品和边缘计算产品环境中。

神经形态芯片方面也有着一些发展,这是一种专门为神经网络设计的计算机架构。英特尔在神经形态计算领域处于领先地位,已经开发了几种模型架构,不过该领域仍处于早期发展阶段。

还有专门用于特定应用的集成电路(ASIC),即专为某一特定AI需求制造的芯片。但ASIC缺乏FPGA的灵活性,无法重新编程。

Larzul说,“我们决定专注于软件业务,探索研究提升神经网络性能和降低延迟的方案。Zebra 运行在FPGA上,因此无需更换硬件就可以支持AI推理。FPGA固件的每次刷新都能给我们带来更高的性能提升,这得益于其高效性和较短的开发周期。另外,FPGA的可选择方案很多,具有很好的市场适应性。”


原文链接:https://bdtechtalks.com/2020/11/09/fpga-vs-gpu-deep-learning/

 

---煤油灯科技victorlamp.com翻译整理---

你可能也喜欢这些文章

科技互联网,科技,资讯,动态,洞察,量子,计算,AI,人工智能,机器人,区块链,Web3,分布式,操作系统,OS,芯片,视频,深度,论文