在过去的十年中,人工智能的重新兴起使图形卡行业受益匪浅。英伟达(Nvidia)和AMD(AMD)等公司的股价已大幅上涨,因为事实证明,它们的GPU对于训练和运行深度学习模型非常有效。实际上,Nvidia甚至已经从纯粹的GPU和游戏公司发展成为云GPU服务提供商和称职的AI研究实验室。
但是,专门从事机器学习软件的公司Mipsology的首席执行官兼联合创始人Ludovic Larzul表示,GPU还存在着固有的缺陷,这使其在AI应用中面临挑战。
Larzul说,解决方案是现场可编程门阵列(FPGA),这是他的公司专门研究的领域。FPGA是一种可以在制造后进行定制的处理器,这使其比通用处理器更有效。但是,FPGA很难编程,这是Larzul希望通过其公司开发的新平台解决的问题。
专门的AI硬件已成为一个行业,对于将其作为深度学习算法的最佳基础设施的评审仍在进行中。但是,如果Mipsology成功完成其任务,这可能会给许多目前GPU苦苦挣扎的AI开发人员带来好处。
使用GPU进行深度学习的挑战
三维图形是GPU拥有如此大的内存和计算能力的原始原因,与深度神经网络有一个共同点:它们需要大量的矩阵乘法。
图形卡可以并行执行矩阵乘法,从而极大地加快了运算速度。图形处理器可以将训练神经网络的时间从几天和几周缩短到几小时和几分钟。
除了图形硬件公司的存货不断增加外,GPU在深度学习中的吸引力还催生了许多公共云服务,这些服务为虚拟机提供具有强大GPU的深度学习项目。
但是图形卡也具有硬件和环境限制。Larzul说:“神经网络培训通常是在不完整的环境中进行的,该环境不会运行神经网络的系统在部署中会遇到各种变化的约束,这会给GPU的实际使用带来压力。”
GPU需要大量电力,会产生大量热量,并使用风扇进行冷却。如果您在台式工作站,便携式计算机或服务器机架上训练神经网络时,这并不是什么大问题。但是,许多部署深度学习模型的环境对GPU并不友好,例如自动驾驶汽车,工厂,机器人技术以及许多智能城市设置,在这些设置中,硬件必须承受环境因素的影响,例如热量,灰尘,湿度,运动和电力约束。
Larzul说:“诸如智能城市的视频监控之类的一些关键应用程序要求硬件暴露于会对GPU产生不利影响的环境因素(例如,阳光)下。” “ GPU受晶体管技术的限制,导致它们在高温下运行并需要大量冷却,这并非总是可能的。这意味着更多的电力,电力,维护成本等。”
寿命也是一个问题。通常,GPU的使用时间约为2-5年,对于通常每隔几年更换一次计算机的游戏玩家来说,这并不是一个大问题。但是在其他领域,例如汽车行业,人们希望获得更高的耐用性,这可能会带来问题,尤其是由于GPU会由于暴露于环境因素和更广泛的使用而更快地淘汰。
“考虑到自动驾驶汽车等应用的商业可行性,可能需要多达7-10个GPU(其中大多数会在不到四年的时间内失效),对于大多数购车者来说,智能或自动驾驶汽车的成本变得不切实际, ” Larzul说。
机器人技术,医疗保健和安全系统等其他领域的行业也面临着类似的挑战。
FPGA和深度学习
FPGA是具有可调整组件的可定制硬件设备,因此可以针对特定类型的架构(例如卷积神经网络)进行优化。他们的可定制性降低了对电力的需求,并在加速和吞吐量方面赋予了他们更高的性能。它们的寿命也更长,约为GPU的2-5倍,并且更能抵抗恶劣的环境和环境因素。
一些公司已经在其AI产品中使用FPGA。微软就是一个例子,微软将其基于FPGA的机器学习技术作为其Azure云服务产品的一部分提供。
但是,FPGA的问题在于它们很难编程。配置FPGU需要硬件描述符语言(例如Verilog或VHDL)的知识和专业知识。机器学习程序是用Python或C等高级语言编写的,将其逻辑转换为FPGA指令非常困难。在FPGA上运行用TensorFlow,PyTorch,Caffe和其他框架建模的神经网络通常需要大量的手动时间和精力。
“要对FPGA进行编程,您需要组建一支懂得如何开发FPGA的硬件工程师团队,聘请一位了解神经网络的优秀架构师,花费几年时间开发硬件模型,并在面对问题的同时为FPGA进行编译达到高使用率或高频率。” Larzul说。“与此同时,您需要具备广泛的数学技能,以较低的精度准确地计算模型,并需要一个软件团队来将AI框架模型映射到硬件架构。
Larzul的公司Mipsology旨在通过Zebra(一种可使开发人员轻松地将其深度学习代码移植到FPGA硬件)的软件平台来弥合这种差距。
Larzul说:“我们提供了一个软件抽象层,该层掩盖了通常需要高级FPGA专业知识的复杂性。” “只需加载Zebra,键入一个Linux命令,Zebra就可以工作-它需要零编译,对神经网络的零更改和零新学习工具。而且您可以保留GPU进行培训。”
AI硬件格局
Mipsology斑马平台的多次努力一个可以打开的路径,许多开发商探索他们的AI项目的FPGA的使用。Xilinx是FPGA卡的领先开发商,已经认可Zebra并将其集成到其板上。
谷歌和特斯拉等其他公司正在为其创建专用的AI硬件,并在云或边缘环境中提供它们。在神经形态芯片(也就是专门为神经网络设计的计算机体系结构)中也做出了努力。英特尔在神经形态计算方面一直处于领先地位,并且已经拥有多种工作模型,但是该领域仍处于早期采用阶段。
也有专用集成电路(ASIC),这些芯片是为一项非常特殊的AI任务而制造的。但是ASIC缺乏FPGA的灵活性,因此无法重新编程。
“我们决定专注于软件以及如何计算神经网络以提高性能或降低延迟。Zebra在FPGA上运行,因此无需替换硬件即可支持AI推理。FPGA固件的每次刷新都具有很高的效率和较短的开发周期,因此我们获得了高性能。另外,FPGA的选择很多,可以适应正确的市场。” Larzul说。