软件工具将GPU代码迁移到fpga以用于AI应用
Software tools migrate GPU code to FPGAs for AI applications
人工智能软件初创公司Mipsology正与Xilinx合作,使fpga能够仅使用一个额外的命令就可以替换AI加速器应用程序中的gpu。Mipsology的“zero effort零努力”软件Zebra将GPU代码转换为在FPGA上运行Mipsology的AI计算引擎,而无需进行任何代码更改或重新培训。
Xilinx今天宣布,它将为Zebra运送最新版本的Alveo U50卡。Zebra已经在其他Xilinx板上支持推理加速,包括Alveo U200和Alveo U250。
The latest build of Xilinx’ Alveo U50 data center accelerator card now comes with Mipsology’s Zebra software for conversion of GPU AI code to run on FPGAs
“Zebra为我们的Alveo卡带来的加速水平让CPU和GPU加速器相形见绌,”Xilinx市场副总裁Ramine Roane说。“与Zebra相结合,Alveo U50满足了AI工作负载的灵活性和性能需求,并为任何部署提供了高吞吐量和低延迟性能优势。”
Plug-and-play即插即用
FPGA历来被视为非专业人士难以编程,但Mipsology希望将FPGA打造成一种即插即用解决方案,与CPU或GPU一样易于使用。其目的是尽可能容易地从其他类型的加速转换到FPGA。
Mipsology首席执行官拉祖尔(Ludovic Larzul)在接受《电子时报》(EE Times)采访时表示:“了解(Mipsology)的最佳方法是,我们在FPGA上安装软件,使其透明,就像Nvidia为AI用户打造的Cuda
CuDNN一样。”。
关键的是,这可以由非专家完成,不需要深厚的人工智能专业知识或FPGA技能,因为转换不需要模型再培训。
拉祖尔说:“易用性非常重要,因为当你看到人们的人工智能项目时,他们通常无法接触到设计神经网络的人工智能团队。”。“一般来说,如果有人建立了一个机器人系统,或者视频监控系统……他们会有其他团队或其他团体开发并训练神经网络。一旦他们得到(经过训练的模型),他们就不想改变它,因为他们没有专业知识。”
Zebra’s stack. The technology is applicable across data center, edge and embedded applications
Versus Vitis
既然Xilinx已经有了一个全面的解决方案,让数据科学家和软件开发人员(即Vitis)都可以访问fpga,那么为什么Xilinx还要支持第三方软件呢?
拉祖尔说:“一句话的意思是:我们做得更好。”。“另一句话就是:我们的作品。”
Mipsology不使用Vitis的任何部分,也不以任何方式与之联系,也不使用XDNN,Xilinx的神经网络加速器引擎。Mipsology在Zebra中有自己的计算引擎,支持客户现有的卷积神经网络(CNN)模型,不像XDNN那样,Larzul说XDNN支持大量演示,但不太适合定制神经网络。他说,这使得使用XDNN建立和运行自定义网络变得“痛苦”。虽然XDNN可以在没有GPU威胁的应用程序中竞争,但Zebra的目标是使FPGA能够基于性能、成本和易用性迎头赶上GPU。
Zebra’s stack in detail. The aim is to make FPGAs a simpler switch from GPUs or CPUs for AI acceleration by hiding the hardware as much as possible
拉祖尔说,大多数客户改变GPU解决方案的动机是成本。
他说:“他们想降低硬件成本,但又不想重新设计神经网络。”。“有一个非经常性的成本(这是避免的),因为我们能够透明地替换GPU,而且不需要重新训练或修改神经网络。”
根据Larzul的说法,fpga还提供了可靠性,部分原因是它们在硅不动产上的攻击性较小,而且通常比其他类型的加速器(包括gpu)运行得更冷。这对于长期维护成本很高的数据中心尤其重要。
拉祖尔说:“总拥有成本不仅仅是董事会的价格。“确保系统正常运行也是要付出代价的。”
Zebra也致力于使FPGA在性能上具有竞争力。Larzul说,虽然FPGA通常比其他加速器提供更少的top(每秒tera操作),但由于Zebra精心设计的计算引擎,它们能够更有效地使用这些top。
他们说的是,他们不是在用一个更大的芯片来加速芯片的速度,而是用一个更大的芯片来加速6倍于顶部的数量。
这是如何实现的?虽然Larzul没有给出确切的细节,但他确实表示,他们不依赖于剪枝,因为准确度的降低太大了,不经过再培训是无法接受的。出于同样的原因,它们不使用极端量化(低于8位)。
Zebra的引擎加速了CNN,而CNN目前主要用于图像和视频处理应用,但Zebra也可以应用于BERT(谷歌的自然语言处理模型),后者使用类似的数学概念。Zebra的未来迭代可能会覆盖其他类型的神经网络,包括LSTM(长短期记忆)和RNNs(递归神经网络),但这是很难实现的,因为rnn在数学上更加多样化。
Team from EVE
Mipsology成立于2015年,约有30人在法国从事研发工作,在加州有一个小团队主要负责业务开发。该公司已获得总额700万美元的资金,其中200万美元是2019年法国政府创新竞赛的奖金。
Mipsology的核心团队来自EVE——Synopsys于2012年收购的一家ASIC仿真器公司,该公司生产ZeBu(零缺陷)硬件辅助验证产品,当时是Cadence钯验证平台的竞争对手。据Larzul称,几乎所有主要的ASIC公司都使用EVE技术在设计周期内验证ASIC;这项技术依赖于连接在一起的数千个fpga来重现ASIC的行为。
Mipsology有12项专利正在申请中,与Xilinx密切合作,并兼容第三方加速卡,如Western Digital small-form factor(SFF U.2)卡和Advantech卡(如Vega-4001)。