用于深度学习的 FPGA 和 GPU 之间的主要区别是什么?

数据挖掘 深度学习 显卡
2022-02-05 16:07:35

为了深度学习,我正在尝试研究 FPGA 与 GPU 的不同之处。我知道这是一个复杂的问题,不一定容易一口气回答,但是我正在寻找的是该领域的两种技术之间的主要区别。

理想情况下,很高兴看到这两种技术在深度学习方面的优缺点。

此外,根据我的理解,如果我错了,请纠正我,对于 FPGA,那些从事 DL 项目的人需要能够通过使用语言根据他们想要的项目类型配置 FPGA 的人例如 Verilog 或 VDHL。此外,如果他们想改变他们想要做的 DL 项目的类型,他们必须重新配置 FPGA 来效仿。我的理解是否正确,或者类似于英特尔的深度学习推理加速器(https://www-ssl.intel.com/content/www/us/en/servers/accelerators/deep-learning-inference-accelerator-product- detail.html)在配置方面比我想象的更类似于 GPU?

1个回答

我将首先解决您链接到的示例。

您的答案中的链接重定向,似乎来自同一家公司的等效产品是Myrtle该网页上的唯一产品是Nervana英特尔的所有 AI 产品(包括其 Xenon 处理器,不包含 AI 加速)均受其支持。这允许在他们的硬件范围(大部分,但不是全部)上运行您的项目。

尝试使用 Wayback 或搜索旧网页没有任何用处。

  1. Myrtle 通过使用面向英特尔® Arria® 10 FPGA 的编译器技术自动翻译 AI 网络设计,显着加快了 FPGA 设计的上市时间。经过训练的高级算法,以各种网络描述符格式(Torch、Caffe 等)指定,直接编译为 VHDL 并进行数学优化,以产生高效、低延迟的设计。在使用专有非标准深度学习层的情况下,首先需要实施这些层。

    Myrtle.ai设定了新的深度学习标准;训练 ResNet 网络的速度比之前的基准测试冠军快 4.5 倍,使用的 GPU 少 8 倍,成本只有之前的四分之一。

目前它正在英特尔 Arria 10 GX FPGA上实现:

Arria 10 FPGA

  1. 英特尔 Nervana NNP 是一种专门构建的架构,是一种针对深度学习进行定制设计和优化的专用集成电路 (ASIC)。

    有两个不同的版本:

    • 英特尔® Nervana™ 神经网络处理器-T 1000 使大量 HBM 内存和本地 SRAM 更接近实际发生计算的位置。这意味着更多的模型参数可以存储在芯片上,以节省大量电力,从而提高性能。英特尔® Nervana™ 神经网络处理器具有高速片上和片外互连,使多个处理器能够将卡与卡和机箱与机箱连接起来,几乎可以作为一个高效的芯片和规模以适应更大的模型以获得更深入的洞察力。

    • 英特尔® Nervana™ 神经网络处理器-I 1000 是一款分立式加速器,专为不断增长的复杂性和规模的推理应用而设计。它基于 Intel 的 10nm 工艺技术和 Ice Lake 内核,以支持一般操作和神经网络加速。

这是涅槃: 涅槃

FPGA 具有可直接编译为 VHDL 的优化库,如果您想要自己的库,您将编写自己的代码。这有点类似于想要为 GPU 定制 BIOS,您可以等待制造商、寻找第三方产品或编写自己的产品 - 并不简单,也不是非常困难。FPGA 是高度可配置的,尽管它不是特别强大。

ASIC 还具有优化的库,相同的库(带有编译器开关),因此从一个库切换到另一个库没有困难;或者在 GPU 或 CPU 上运行您的代码较慢。ASIC 不可配置,经过多年的 FPGA 开发,他们决定在专用硬件中实现结果;重新配置已经不复存在,但速度有所提高,价格(和 TDP)有所下降。

... 需要能够通过使用 Verilog 或 VDHL 等语言根据他们想要的项目类型配置 FPGA 的人。

可以,就像您可以为您的 GPU 编写自己的 BIOS 一样,就像一些加密矿工所做的那样。这不是您必须做的事情,但有简单的工具和脑外科手术工具。制造商不时提供可下载的更新。

此外,如果他们想改变他们想要做的 DL 项目的类型,他们必须重新配置 FPGA 来效仿。

也许,也许不是。只需更改程序并重新编译可能就足够了,除非您想从中再挤出几个百分点的性能;你比制造商更了解设备和优化的 AI 架构。

现在到你的主要问题,这似乎是你问的第一件事:

为了深度学习,我正在尝试研究 FPGA 与 GPU 的不同之处。我知道这是一个复杂的问题,并且...

第一,相似性:它们是解决人工智能问题的一种手段,它们具有一定的潜力(能力和处理速度);更好的成本更高,但由于 GPU 是大规模生产的(相比之下,FPGA 也是大规模生产的),它们会更便宜,并且会有更多的免费技术支持(论坛)。

便宜的 FPGA(或 ASIC)不会很快,而快速的也不会便宜——如果你认为 GPU 很贵,那么这将是你更便宜的路线,除非你有新的算法,突破,然后让你的拥有ASIC并出售自己的卡以获得最大利润。假设您是普通人,现成的解决方案可能价格更优惠。

最大的挑战”是贝叶斯优化、循环网络和强化学习或用于参数调整的遗传算法;GPU 做得不好的东西。

英特尔的Loihi神经形态研究芯片代表了人工智能的下一个方向。

Kapoho - Loihi 神经形态 U 盘

虽然训练是以传统方式进行的,但推理是在该微型设备上运行的,比上一代设备快得多。

神经形态计算是人工智能的最新方向之一,FPGA 或 GPU 是石器时代的工具。这是BrainChip所说的:

BrainChip 是神经形态计算解决方案的领先供应商,这是一种受人类神经元生物学启发的人工智能——脉冲神经网络。我们的脉冲神经网络技术可以像人脑一样自主学习、进化和关联信息。我们最近推出了 Akida 神经形态片上系统。

Akida™ NSoC 既低成本又低功耗,非常适合边缘应用,例如高级驾驶辅助系统 (ADAS)、自动驾驶汽车、无人机、视觉引导机器人、监控和机器视觉系统。其可扩展性允许用户将多个 Akida 设备连接在一起,为网络安全和金融技术 (FinTech) 应用程序执行复杂的神经网络训练和推理。

BrainChip 神经形态加速器

请注意,它也回到了 FPGA。如果您可以编写 VHDL 并且有相当多的经验,那么您可以开发它,但 FPGA 可能不是 Arria 10。GPU 对普通人来说是最便宜且非常灵活的解决方案,它也不是一招一式的小马几年前的东西,比如下面显示的英特尔深度学习推理加速器,售价 1 万美元。

英特尔 DLIA