动态神经加速器

ML框架

EdgeCortix动态神经加速器(DNA)是一个灵活的IP核,用于深度学习推理,在采用Agilex FPGA的BittWare卡上具有高计算能力、超低延迟和可扩展推理引擎。 

DNA专门针对流媒体和高分辨率数据的推理进行了优化(批量大小为1),它是一个可重新配置的专利IP核,与EdgeCortix的MERA™软件框架相结合,能够对当今日益复杂和计算密集的人工智能工作负载进行无缝加速,同时实现90%以上的阵列利用率。 

在提供集成编译库和运行时的MERA框架的补充下,这个专用IP核使软件工程师能够使用Bittware IA-840f和IA-420f FPGA卡作为标准CPU或GPU的直接替代品,而无需离开PyTorch和TensorFlow等标准框架的舒适区。 用于Agilex的DNA比特流在流式数据上的推理延迟大大降低,与竞争的FPGA相比,具有2倍到6倍的性能优势,与其他通用处理器相比,具有更好的功率效率。 

高达 20 TOPS @ 400 MHz

INT8推断
(99%的FP32 准确率)

测试了50多个模型 使用MERA 框架

视频演示

向EdgeCortix首席执行官Sakya Dasgupta了解动态神经加速器的情况。

 

马库斯-韦德尔,BittWare

嘿,我是BittWare的Marcus。下面是与EdgeCortix讨论他们的机器学习框架,但在我们深入讨论之前,我想先介绍一下背景。
今天,我们看到人工智能几乎到处都在谈论,但这种趋势真正开始是在过去10年。使用人工智能的想法显然比这要早得多,那么发生了什么来启动这一趋势呢?答案是硬件加速,特别是GPU和FPGA,以及最近的专用ASIC。这些设备确实为研究人员开发新技术和商业应用创造需求打开了人工智能领域。
而最令人兴奋的是,我们真的只是处于人工智能技术、硬件能力和扩大使用案例的漫长增长曲线的中间。
也就是说,人工智能是一个巨大的话题,所以今天我们只关注边缘的机器学习--那些在云或数据中心环境之外的用例。
正如我们将看到的,对于边缘设备,效率是至关重要的。这正是EdgeCortix关注的重点,通过利用FPGA的一些独特优势,根据工作负载和高度适应性的软件,除其他外,消除了重新培训。
和我在一起的是EdgeCortix的创始人兼CEO Sakya Dasgupta。欢迎大家

EdgeCortix创始人兼CEO Sakya Dasgputa博士

谢谢,马库斯期待着与你交谈。

马库斯

让我们从定义边缘开始,也许会好一点,比如说:为什么不在云或数据中心做所有的ML推理呢?为什么还要在边缘做呢?

Sakya

绝对是这样。因此,纯粹使用云或数据中心来部署机器学习推理解决方案,在很大程度上受到五个关键挑战的限制。

你可以把它分解为在云端处理信息所需的成本。第二是电力或我们所说的电力效率或能源效率。第三,最大的挑战将是在模型方面。这些神经网络本身的复杂性。

第四个关键的挑战是围绕着你试图保护的数据的隐私和在云上处理信息。然后从根本上说,你有一个关于延迟或带宽的限制。

因此,让我们把这一点再细分一下。

费用

如果你看一下成本,一个纯粹的云原生解决方案是受限于大量的成本,不仅是计算,还有存储大量的数据。在大多数情况下,我们谈论的是真正的PB级的数据。

如果你看一下边缘,几乎所有你称之为机器学习的有趣数据的75%都直接驻留在云端,接近于我们所说的这些边缘设备或边缘服务。因此,将所有这些数据转移到云端,然后进行处理和计算是一个巨大的成本挑战。

功率效率

鉴于你在云上的大多数系统都是千瓦,甚至更多的电力消耗,而机器学习或人工智能推理本身在很大程度上消耗了大量的计算机资源,电力和电源效率成为一个瓶颈。

模型复杂度

正如我提到的,这些模型真的很复杂,所以这些模型大多是在云端训练的。因此,从根本上说,如果你现在试图采取这种复杂的模型,并把它带到边缘,在这些设备上的有限资源方面存在一个瓶颈。因此,如果你正在寻找一个纯粹的基于云的部署,他们不是很适合。

隐私

然后从根本上说,如果你把你的所有数据从比方说更接近边缘的地方移到云端,然后再移回云端,就有可能失去你的数据隐私,例如在医疗保健应用或其他类型的类似场景。

延迟

然后从根本上说,在云上移动大量的数据以及处理所有这些都会产生大量的延迟。大多数实时应用程序需要7到10毫秒的处理时间。因此,如果你为几乎所有的实时需求的应用程序做一个纯粹的云原生解决方案,这将是一个交易的破坏者。

因此,从根本上说,这些都是一些原因,为什么把自己限制在纯粹的基于云的解决方案机器学习不会是理想的情况。

马库斯

是的,这很有意义。我在读你是如何缩小FPGA作为你的部署平台之一的,你使用了一个叫做共同探索的过程。

您能带我了解一下吗,然后您发现FPGA的一些具体优势,使其非常适合边缘推理?

Sakya

当然,这是一个很好的问题,所以当涉及到机器学习推理时,特别是如果你看一下深度神经网络,FPGA本身提供了完全灵活的巨大好处。你有能力完全改变硬件平台的行为,当你看具有多层的神经网络时,即使在神经网络的单层内也有很多异质性,以及如果你在不同的网络之间进行比较。

其次,几乎所有这些神经网络的计算都不像CPU那样被集中控制。它们不是很冯-诺依曼,而是包含多个平行度,可以最好地表示为数据流图。

因此,我们采取的这种方法,称为共同设计或共同探索,它试图平衡一个典型的神经网络或深度神经网络的准确性要求与延迟、内存、功率等感兴趣的硬件指标,我们可以真正定制处理器架构以利用这种固有的并行性,这将有效地使我们在大多数情况下更好地提高硬件的完全利用率。而且特别是如果你将它们与通用处理器如GPU或CPU进行比较。

因此,作为一家公司,我们采取了这种方法,利用这种共同设计的方法,设计了动态神经加速器IP以及MERA软件,并在本质上携手合作。

另外,从根本上说,如果你使用同样的方法,我们也可以在你所谓的精度或你处理这些不同模型的高精度所需的信息的分辨率之间进行权衡,同时也减少模型的内存占用,这样它们就可以最佳地适应你在FPGA芯片上固有的有限内存。这就是我们如何确定INT8位是在最佳执行推理的精度之间的权衡,或者说,你知道你可以大大保留你原来的精度,以及你正在优化你直接在板上需要的内存量,然后限制你的操作不受你从FPGA的片外数据传输量的制约。

因此,总的来说,FPGA在调整处理器设计的灵活性和控制这种由这种共同设计或共同探索过程驱动的计算效率之间提供了良好的平衡。

马库斯

你是否会看到,随着工作负载的变化或其他硬件功能可能包括专用的DSP块,例如,在未来会使你从INT8上移开?

Sakya

是的,当然。所以你知道当我们开始这个过程时,并不是说INT8位表示法是我们目前支持的唯一精度。我们的架构基本上支持不同的精度范围,即浮点16,INT8位--这可以在你的权重或神经网络的参数的表示与你用于存储激活的精度之间变化。

从根本上说,这个共同设计的过程实际上是一个活生生的过程,在整个部署阶段持续进行。

从根本上说,如果你在做联合设计,你就不能再改变处理器架构。然而,即使在例如你的神经网络模型正在改变或有更新发生的情况下,你也可以重新设计处理器架构的某些方面,以更好地适应准确性、延迟要求。

回到你之前的问题,FPGA的好处是,如果你愿意,我们现在可以灵活地改变处理器的架构。而如果你采用ASIC或其他此类硬件,一旦你制作或制造它们,它们就完全固定了,你不再有这种程度的灵活性。

马库斯

现在我们来谈谈一些具体的硬件。BittWare将EdgeCortix IP和软件作为一个框架,可用于我们基于Intel Agilex的卡。你能不能介绍一下Agilex的性能,以及你是否看到扩大PCIe Gen4带宽的优势?

Sakya

当然可以。我们看到将我们的人工智能加速IP与新的英特尔Agilex卡结合起来有很多优势。特别是如果你看一下BittWare双宽FPGA卡和低矮FPGA卡的两种形式的支持,它使用户能够在计算、功率和成本之间进行理想的选择,特别是如果你将它们与TeraBox服务器捆绑在一起。这应该使FPGA加速能够被部署在特定的边缘应用所要求的更具挑战性的恶劣环境中。

从根本上说,英特尔Agilex是英特尔的最新一代芯片。这些FPGA中的每一个都有硬化的PCIe协议支持,可以节省关键的FPGA资源和功率,这对于人工智能与其他类型的FPGA加速共存的许多应用来说可能真的很重要。

如果你还看一下英特尔Agilex,它们是基于第二代HYPERFLEX架构的。这带来了硬化的DSP块,在我们的案例中,它允许我们装入数以千计的INT8运算器和一个统一的结构,可以轻松地扩展IP。

此外,这些FPGA卡上的PCIe第4代支持基本上使我们能够比上一代--例如PCIe第3代的带宽提高30%以上。这对机器学习推理有非常大的影响,在这种情况下,我们主要是将真正的高分辨率数据从主机转移到FPGA上,并经常来回移动。因此,拥有更多的带宽--也就是提高速度--可以对整体效率或性能产生巨大的影响。

然后从根本上说,在支持DDR4方面,也有足够大的内存可用。如果你看一下我们的双宽FPGA卡,我相信可以达到128千兆字节,如果你把它与这些FPGA本身的相对大量的片上BRAM结合起来,这应该为许多应用提供真正良好的可扩展性选择。

总的来说,当我们审视英特尔Agilex并适合我们的IP时,这确实使我们能够适合多达20万亿次的操作,或20 TOPS的专用AI计算,我们相信,与目前市场上其他竞争的FPGA加速解决方案相比,在这些卡上使用我们的IP能够带来6倍的性能优势。

马库斯

好了,Sakya,现在我们来看看那张将BittWare卡与其他一些解决方案进行比较的图表。你已经得到了低调的IA-420F卡,它的性能是6-7倍,然后是IA-840F,甚至更高。这是非常令人印象深刻的。我们在这个图表上看到一个GPU--你曾提到你现在在Agilex上得到的20个TOPS--我知道在过去你曾说过在如何利用GPU上的TOPS方面存在着差异。这种差异到底是什么,除了说明TOPS之外,我们如何更好地比较性能?

Sakya

当然,绝对的。这是另一个很好的问题。因此,如果你在一般情况下比较TOPS,它并不能完全代表FPGA或任何计算处理器的整体性能。

因此,在这种情况下,如果你拿两个设备--在这种情况下,一个有20个TOPS的FPGA--我们的DNA IP支持的20个TOPS BittWare FPGA与一个有20个TOPS的GPU相比。

从根本上说,GPU不是很好地利用其上可用的总计算量。我们把这称为利用率。

大多数现代GPU,甚至是CPU,就可用的整体计算量而言,最大使用量约为20%至30%。

因此,如果你有20个TOPS,在任何特定的时间点上,你真的只是抓到了其中20%的利用量。

如果我们现在将其与支持DNA IP的FPGA进行比较--因为我们的IP具有运行时重新配置的能力--它使我们能够利用近90%的计算量,在这种情况下,20个TOPS的90%被用于任何特定的AI工作负载或应用。

因此,与同等的GPU或FPGA解决方案相比,使用我们的解决方案的效率--基于该利用率的每秒帧数--显著提高。

马库斯

好的,谢谢你对TOPS的澄清。所以我现在想谈谈MERA软件。正如你所说,在FPGA上运行的IP被称为DNA,它提供了非常高的效率,但MERA软件本身提供了显著的节省时间的优势,如使用标准框架,如果你来自GPU,例如不需要重新训练。您能详细说明一下MERA中的这些软件优势吗?

Sakya

是的,这是对的。因此,我们在设计MERA框架时,考虑到了真正的机器学习工程师的灵活性,不需要任何FPGA特定的技能,这确实是使用FPGA进行AI加速的一个痛点。

因此,MERA的基本优势之一是一个几乎即插即用的环境,即:

首先,允许我们将任何已经预先训练好的现有深度神经网络应用--比如说在GPU上--无缝地移植到带有DNA IP的FPGA上,而不需要任何重新训练或架构的改变。

第二,MERA可以使用公共的PyPi资源库进行安装,这意味着任何能够访问Pip的人都能够下载,或者说,能够直接在有FPGA运行的设备上下载MERA,然后它将内置对Python或C++的支持,而且它还原生支持所有主要的机器学习框架,如Pytorch、TensorFlow和TensorFlow Lite。

第三,它还内置了对开源的Apache TVM的支持,这确实是一个非常流行的深度学习编译器。这使用户能够在一个简单的校准和量化步骤后部署任何预训练的深度神经网络模型,同时完全保持在所选择的机器学习框架内。

基本上不需要我们的IP特定模型、量化或修剪。

现在,与竞争对手的解决方案或其他带有FPGA以及特定应用硬件的此类基础设施相比,这是一个巨大的优势。

鉴于几乎所有这些过程都需要一定程度的微调,这些微调是非常具体的硬件,通过消除这个完整的方面,我们给机器学习工程师更多的自主权,以真正无缝地转移他们知道已经在GPU中工作的代码。

第四,对深度神经网络运算符的支持是多样化的。因此,大多数现代DNN或深度神经网络都可以开箱部署。而且我们还提供了一个预先测试过的50多个模型的集合,跨越不同的应用程序,用户可以玩。

第五,我们还提供了所谓的分析工具,如内置的模拟器解释器,使用户能够非常迅速地测试性能,而不必在FPGA上实际部署解决方案本身。这使他们能够确认模型的准确性,并相对快速地估计性能。

因此,我想说,这些是MERA作为一个框架的一些好处。

马库斯

好了,我们已经涵盖了硬件。我们已经涵盖了软件。让我们来看看一些使用案例,我想谈谈我发现的几个有趣的案例。首先是超级分辨率。它是什么,EdgeCortix框架在这方面的表现如何?

Sakya

当然,如果你看一下超级分辨率,这确实是大幅提高或甚至降低图像或视频帧的分辨率的能力。

你正在谈论从,比方说,小到360p的东西--所以你有一个非常小的像素密度的分辨率,并进入一个非常高的分辨率,如4K。这是一个巨大的分辨率跳跃,反之亦然--将分辨率从4K降低到360p。

需要这种在分辨率之间移动的能力的应用或希望你保留带宽的应用。例如,如果你正在进行某些带有视频的流媒体应用,你可能希望通过降低到一个较低的分辨率来保留带宽,传输数据,然后在用户端重新获得分辨率。

传统上,要做超级分辨率,你会使用经典的方法,这些方法是非常有损失的。因此,当你从一个非常小的分辨率到高分辨率时,你会失去很多图像的信息内容,从而导致像素化。

使用在这些图像和视频上训练的神经网络,为了能够推断出这些信息内容,我们可以以基本无损的方式保留大部分信息。

因此,这种外推法使我们能够保留大量的信息,而不会像经典的基于非机器学习的方法那样出现像素化水平。

在EdgeCortix的框架中,我们能够以非常高的分辨率在FPGA上直接运行这些相对复杂的超分辨率模型。

因此,我们可以在几毫秒内从小的360p或480p分辨率直接到4K,使我们能够为视频流应用传输大量数据。

马库斯

这很好。我想这是一个很好的例子,可以适应人工智能的新应用。另一个可能感兴趣的用例是使用可能不是基于图像的传感器数据。这就是你实际上可以指纹无线电频率数据,使用人工智能来预测诸如位置或识别设备的事情。告诉我更多关于这个工作的情况。

Sakya

所以这是一个有趣的问题。一般来说,我们已经看到了跨越国防通信和消费者应用的多种应用,这些应用要求我们确定数据产生的来源或信息传输的来源。通常,你使用我们所说的无线电频率来做这件事。而且,就像人类有指纹一样,你现在可以捕获无线电频率,然后创建数据产生的地方的基本独特指纹。它可能是一个路由器,它可能是一个手机塔。它也可能是一个单一的手机。因此,我们现在可以把所有这些数据,转换为图像,然后训练一个深度神经网络,在这种情况下,卷积神经网络,可以识别这些独特的特征,并在大多数情况下,分类该设备是否是一个真正的设备。例如,如果它是一个已知的设备,它还可以分类或定位这些信息的来源地。

拥有在FPGA上执行或真正处理这种神经网络的能力,为跨越基础设施边缘以及国防或通信的不同类型的应用开辟了领域,这需要非常具体的定位或识别,以及对产生信号的来源进行认证。

因此,这绝对是一个不断增长的领域,我们看到很多应用横跨国防和消费领域。

马库斯

很高兴看到这些新兴的用例,所以我的最后一个问题是,边缘人工智能的下一步是什么?你是否看到随着硬件或用例的变化或出现,共同探索的持续迭代?你如何平衡边缘的灵活性和效率之间的权衡?

Sakya

是的,所以这是一个伟大的问题,你知道,绝对的,我认为这个领域是完全开放的。在开始共同设计我们的神经网络方面,我们才刚刚开始,相对于它要运行的硬件平台而言。特别是FPGA,回到最初的问题,提供了适当的灵活性底层,以便我们在一开始没有得到正确的处理器架构的某些方面进行微调。

同时,有一些新型的模型完全在不断被发明出来。以前,卷积神经网络在视频和图像方面是非常非常火的。我们现在有像变压器这样的模型,与那些卷积模型略有不同。因此,你会希望在不同代的这些神经网络之间有更紧密的整合和配合,我们知道在特定的时间点与它要运行的硬件平台相比效果更好。

你真的不希望有一个适合所有情况的尺寸。你希望你要运行的基质与神经网络的特征或平行度之间有很大的灵活性。

总的来说,灵活性和效率之间的权衡是你知道的继续生活很长一段时间的东西。特别是如果你考虑到边缘--鉴于你总是有有限的资源,有电源的限制,在许多情况下,有移动性的限制--我们必须转动的唯一真正的旋钮或手柄来提高我们的性能是效率或资源管理。

因此,我认为整个共同探索的领域将是一个只会进一步发展的东西。

马库斯

好了,萨迦,我们已经覆盖了很多地方--非常感谢你与我们交谈。

Sakya

谢谢马库斯,这是我的荣幸。谢谢你。

马库斯

感谢收看我们与EdgeCortix的首席执行官兼创始人Sakya Dasgupta的讨论。

产品介绍

梅拉--蓝色--白色--LOGO副本

作为DNA IP核心的一部分,EdgeCortix深度学习计算引擎针对Bittware IA-840f和IA-420f卡进行了优化,并以可使用的比特流形式发货。EdgeCortix解决方案套件带有MERA™框架,可以从公共管道库中安装,实现了对行业标准框架中开发的标准或定制卷积神经网络(CNN)的无缝编译和执行。

MERA由编译器和软件工具箱组成,需要使用集成的DNA比特流实现深度神经网络图的编译和推理。由于内置了对开源的Apache TVM编译器框架的支持,它提供了在简单的校准和量化步骤之后部署预训练的深度神经网络所需的工具、API、代码生成器和运行时间。MERA支持模型直接在深度学习框架中进行量化,如Pytorch或TensorflowLit。

特点

超低延迟的人工智能推理IP核:

  • 高达24576个MAC和专用矢量引擎,用于非卷积操作,频率为400MHz
  • 基于数据流阵列的架构,对INT8参数和激活进行优化
  • 获得专利的运行时可重新配置的互连系统

健全的开源MERA软件框架:

  • MERA编译器1.0利用多种形式的并行性,最大限度地提高计算利用率
  • 对Pytorch和TensorFlow Lite模型的本地支持
  • MERA框架中的内置剖析器
  • 与开源的Apache TVM集成
EdgeCortix DNA 框图

数据表和产品细节

详细功能列表

多样化的运营商支持:

  • 标准卷积和深度卷积
  • 步幅和扩张
  • 对称/非对称性填充
  • 最大集合,平均集合
  • ReLU、ReLU6、LeakyReLU和H-Swish
  • 升频和降频
  • 剩余的连接,分裂等。

 

可直接替代GPU:

  • Python和C++接口
  • 支持PyTorch和TensorFlow-lite
  • 不需要再培训
  • 支持高分辨率输入

INT8位 量化:

  • 训练后的量化
  • 支持深度学习框架内置量化器
  • 保持高精确度

FPGA卡订购选项

IA-420F-0010 由EdgeCortix驱动的BittWare IA-420f卡® 动态神经加速器
IA-840F-0014 EdgeCortix ®动态神经加速器驱动的BittWare IA-840f卡

关于公司

一家专注于边缘人工智能的无晶圆厂半导体设计公司,采用软件优先的方法,专注于为人工智能推理提供一流的效率和延迟。

对价格或更多信息感兴趣?

我们的技术销售团队随时准备提供可用性和配置信息,或回答您的技术问题。