广告

人工智能软件应优先于芯片设计

时间:2022-04-19 11:14:52 作者:Sally Ward-Foxton 阅读:
本次精英访谈中,SiFive公司的工程与产品总裁Chris Lattner与读者分享了人工智能(AI)工作负荷构建人工智能处理器所面临的挑战,以及当今软件如何以及为何阻碍人工智能性能的发展,同时也讨论了在人工智能应用中高效使用硬件的难度,以及SiFive的软件优先开发方法。
广告

针对构建灵活且强大的人工智能硬件的困难以及软件对AI性能的重要性这些话题的讨论,有谁比SiFive公司的Chris Lattner更适合呢?他是LLVM编译器基础架构的创建者,曾在苹果、特斯拉和谷歌领导开发团队。Chris两年前加入SiFive,担任工程和产品总裁,致力于用于人工智能和机器学习的RISC-VIP产品。

先看一下构建支持人工智能的处理器所面临的挑战!

无论是在数据中心,还是面对边缘人工智能,如今都面临着持续增加的挑战。工作负荷的发展非常非常快,今天正在设计的一些东西,比如矩阵乘法或卷积加速器,可能并不总是有价值的,新型人工智能模型不断涌现。业界现在更多地谈论基于注意力的网络、转换器等诸如此类的事物。考虑到芯片开发周期的长度,如何设计一款既具有足够的适应性能来加速当今不同类型工作负荷的芯片,同时又可以应对人工智能所需的未来发展呢?

CHRIS LATTNER:

的确,这是个大问题。这真的切入了人工智能目前最大挑战之一的核心,即研究方面,人们在学术界和工业研究实验室中提出的模型令人惊讶,都是很酷的新东西,但它们不能总是得到部署。与此同时,即使在训练和研究方面,很多研究都被引导到最适合团队可以使用加速器的地方,这是一个非常有趣的事,我们都看到了人工智能给每个方面带来的机会和影响,但也受到各方面的阻碍。

所以我们需要从整个行业出发来解决问题的不同部分。硬件设计周期确实需要2-3年,所以我们要做的不能只为运行MobileNet或运行Inception V1构建一个优化的解决方案,必须从架构方面考虑问题,并且了解工作负载的发展方式,了解事情的发展方向,我们确实需要优化矩阵乘法和卷积,但可能无法做到,因为正在运行Bert并且在网络中间有一个注意力层,如果做不到,就会脱离PCI总线上的内存层次结构,然后最终完全失去加速器带来的好处。

所以这个问题有两个方面,一个是硬件问题,一个是软件问题。

硬件问题是需要在与加速器相同的内存层次结构中使用灵活的、类似CPU的技术。这意味着您会说,我更喜欢在我的设备上以完全加速的、全速的、峰值TOPS方式运行2D卷积或2D矩阵乘法或元素智能运算。无论您认为是什么,这就是在做一款人工智能加速器。

但是随后就会遇到奇怪的新事物,那个自定义操作,那个使算法更加稀疏的特殊方法,或者研究人员提出的任何有十倍改进的方法。必须能够快速运行它,但我发现了一个问题,硬件回退最终从这里开始,就像使用并行芯片设计实现的完全优化的2D退回到主机,在许多情况下,这是在跨存储器层次结构复制数TB的数据,同时正在损失大量的功率和性能。或者,退回到一个不起眼的小标量内核。因此,将从2D加速降低到比如一次处理一个浮点数或一次一个8位整数,而这实际上已经没有了吞吐量。突然间,你遇到了阿姆达尔定律,因为正在加速问题的主要部分,然后演变成一个大问题,加速器的价值也就失去了。

所以在矩阵和标量之间的空间中有一个点,它们被称为向量。

因此,我真正相信的事情之一,也是SiFive正在做的事情,就是提供混合计算解决方案,可以在其中进行高性能矩阵运算。但是当回退时,会得到矢量的全部力量,所以它不一定像运行完全专用的定制芯片那么快,但它也不会差2个数量级,所以相信这一点,它能提供获得不断变化的工作负载、全面的通用处理、大计算吞吐量的灵活性,而且还使其接近已有的数据,从而节省电量并确保不会因为全面推送数据而降低性能。

现在谈谈后半部分,这是另一个非常重要的部分,即软件方面,因此另一个主要问题是通用性、可用性和可部署性方面的问题,比如人工智能的现实情况是,有很多加速器声称有很多很多TOPS。

然而,把所有的数字都乘以实例数,乘以频率,经过这个简单的数学运算得到的理论TOPS结果实际上并不重要。真正重要的是运行模型的吞吐量,或者训练模型的吞吐量。事实证明,实际使用硬件解决问题的吞吐量既受硬件约束,也受软件方面的约束。所以这就是编译器、运行时以及软件堆栈的所有其他方面真正重要的地方,但人们通常不会谈论它们,因为这很容易解释。将这些数字相乘就能获得峰值TOPS的理论吞吐量。

但归根结底是要面向产品并且以客户为中心,这也是客户愿意看到的,所以这也是我非常喜欢MLPerf之类东西的地方,它们真的试图把这个行业提升到一个对用户更重要的位置。

但我仍然认为这是机器学习基础设施和机器学习行业仍在增长且还不很成熟的领域之一,还有很多工作要做。

SALLY WARD-FOXTON:

是的,确实如此。读者有点习惯像您说的那样,将TOPS作为衡量性能的指标来讨论,但在现实世界中,谈论的却是诸如有效利用硬件之类的事情。您刚说到这也受软件的约束,这可不是经常听到的观点,能告诉读者更多关于软件在这里的重要性以及这意味着什么吗?

CHRIS LATTNER:

哦,是的,我很高兴谈论这个话题,下面让我们看看人工智能的软件……

我们可以在整个行业中看到这一点。根据所关注的行业的不同部分,症状也大不相同。因此,一方面可以看到人工智能加速器公司的爆炸式增长,他们敞开大门开发芯片,却忽视了软件,最后他们实际上无法将其变成产品。我认为我们已经看到100多家AI加速器公司,其中许多公司会因为软件问题而倒闭,这是一方面。

真是很不幸,这真的很难!这是与生俱来的问题,但我认为这值得我们认真考虑。

在训练方面,也会遇到挑战,比如与英伟达竞争以及CUDA对行业的锁定。虽然CUDA的主导地位在某些方面对英伟达有利,但从技术角度来看,我认为它阻碍了另一种创新。这意味着什么,这种局面会导致什么,我认为英伟达的产品很棒,所以不要误会我的意思——我没有反对他们,我对他们为提升人工智能所做的一切和推进许多事情都印象深刻。但我也相信竞争和创新带来的可靠替代品和许多人工智能框架确实都在围绕CUDA展开,而且因为它们围绕着CUDA,这使得即使非常相似的产品也变得非常困难,例如那些来自AMD的产品应用于同一领域。

如果看移动侧,我认为问题更严重。在移动侧确实没有部署人工智能的好方法。在我看来,我们拥有的最好的是一个名为TensorFlow Lite的框架。TensorFlow Lite有许多限制和问题;通过它部署新模型非常困难。所以这将成为一个巨大的挑战,特别是移动领域,比如安卓,有大量的硬件多样性,并且很难为应用程序开发人员设定目标,因此人工智能领域中的软件总体上确实不成熟。即使在英伟达的CUDA阵营中,我认为还有很多技术尚未部署,许多编译器的进步以及我们在研究中看到的其他类似事物尚未对产品产生影响。

不过在这个领域中,令人激动人心的是,这些东西发展得非常快,所以我认为这是一个挑战,但我不认为它是阻碍或障碍。我认为,作为人工智能社区的一员,看到事情发展得如此迅猛确实令人兴奋。

SALLY WARD-FOXTON:

是的。我知道您是软件优先意识或软件优先思维的粉丝。您能就这方面给我们详细讲讲所说的软件优先是什么意思,为什么这对人工智能来说如此重要?

CHRIS LATTNER:

好的,这个问题很好。在这里软件是一件大事,它对不同的人可能意味着不同的东西。我在软件方面有很深的背景,但并不是我对此过于偏心。我的意思是当SiFive说在构建软件优先产品时,说的是我们正在解决问题,我喜欢人工智能——但人工智能真的不是重点,人工智能只是一个实现细节。这是解决一些非常重要问题的最佳途径。

因此,归根结底,研究人员训练模型也是将该模型最终部署到产品中的一种实施细节。我们喜欢人工智能的一个原因是它能使体验变成可能,否则……您无法编写一个FOR循环来检测一只猫。所以,有这方面的课程,几乎所有在人类世界中与你互动的东西最终都比其他方法和软件能更好地服务于人工智能。

现在,这对我来说意味着设备变得更加个性化,人工智能应该会迅速崛起并以多种不同的方式、在我们使用的许多不同电子产品中得到广泛应用。

但是对人工智能来说,是否有方法可以解决将其集成到应用中的问题。如果是在移动体验中,要做的就是尝试从相机上取景。你试图检测人脸,然后试图给某人戴上一些有趣的帽子并将其显示在屏幕上。

因此,与现有软件、操作系统、驱动程序以及应用的集成真的非常重要。这就是我的所思所想,而你会再次回到将TOPS与实现的性能相乘。

这是生态系统中的另一个巨大差距,如果您正在处理一个与CPU分开运行的相当分布式且并行的加速器,与之通信的API不应该是同步API,而应该是异步API。即使是这样简单的事情,对这个行业来说仍然是一个挑战。因此,在SiFive公司,我们正在尝试从应用向产品方向构建,并将硬件和软件构建在一起,以便它们可以正常工作、正常部署、并能运行模型和作进一步扩展,也就是说,这是一种不同的方法。有一种以矩形方式布局门电路的新颖方法,让我们看看可以如何使用它。

SALLY WARD-FOXTON:

对。软件优先是鼓励客户工作的一种方式吗?这是你们的工作方式,但你们是否也鼓励客户朝这个方向发展?它如何与客户正在做的事情相适应?

CHRIS LATTNER:

我认为我们看待人工智能的很多方式都是“它只是管用”之类的方式。因为大多数人工智能加速器的实现远离像英伟达这样的巨头以及数据中心的范围,比如你看边缘人工智能之类的东西。真的很有趣……如何看待手机,如何看待物联网设备,如何看待智能相机。这些都是性能和电源效率至关重要的产品。因此,加速器至关重要,对于实现我们想要的体验非常重要。

另一方面,尝试采用研究人员训练过的模型并将其部署到其中一个加速器上的做法并不好。让我礼貌地说,这……不是太好。

很快就会发现,从各种加速器公司那里得到的工具,当给它们一个以前从未见过的模型时,这些工具就会崩溃,在很多情况下,必须付钱给这些公司来移植模型,它们甚至不会运行最新的模型,因为它们……例如,您提到了注意力。他们不会做softmax。因此,这会带来许多挑战,再次,要为产品提前购买加速器,并且希望确保它具有实现目标指标和每秒帧数或其他所需的性能。但不久您就会发现,在尝试部署模型或尝试部署模型的改进版本时,它甚至无法编译,甚至无法构建。

所以在SiFive公司试图做的是说,好吧,它确实管用。我们运行TensorFlow Lite所做的任何事情,例如,我们当前的产品运行TensorFlow Lite所做的一切,并且在重要的事情上都非常高效。但是你不会遇到这样的尴尬:你走上前说,嘿,我有一个合理的模型,但工具崩溃了,我却不知道为什么。

这只是一种非常不同的方法,这实际上是关于让人工智能变得重要并使其易于访问,使其规模化,这是有关于减少障碍和......同时仍然能为所有这些域提供高性能和灵活性以及RISC-V的功能。

SALLY WARD-FOXTON:

我知道SiFive已经推出了一款产品。SiFive Intelligence X280就是一款用于人工智能工作负荷的核心设计,相信它已非常先进。您能否告诉我们一些关于它的设计如何适应不断发展的工作负荷所需的灵活性,它如何适应未来,以及该软件如何能在这方面提供真正帮助?

CHRIS LATTNER:

是的,这是一个很好的问题,所以让我退后一步,谈谈SiFive的起源。SiFive是一家由RISC-V的创造者创立的公司,所以RISC-V是一个CPU ISA。它的基因已经流淌在我们的血管中。这就是我们正在做的很多事情——驱动、推动和构建RISC-V生态系统、高性能内核、人工智能,这个领域有很多事情要做。因此,当查看X280时,必须了解的一件事是SiFive不是一家SoC公司,我们是一家IP公司,会出售掉芯片公司。SiFive构建IP的真正差异化方式之一是,构建可配置的IP,因此X280与其说是一个产品,不如说是一个产品系列。我们可以做的是,可以用许多不同配置来构建X280。可以看到,我们与一家名为Tenstorrent的公司赢得了一个公共设计,后者是一家由JimKeller等业内大佬领导的大型数据中心训练加速器公司。这可不是偷懒!他们正在开发第二代或第三代产品,我的意思是,他们正在不断破冰前行。他们正在解决这个高端训练问题,或全标线芯片,或近乎此类的东西。我的意思是这是该领域中的一个极端。

另一方面,我们有一些客户正在使用X280并将其部署到电池供电的智能相机中。它归结为两件事。一个是你拥有X280和硬件设计以及内核本身的可扩展性,它是可配置和可扩展的,我们可以用它做很多事情并以多种不同的方式使用它,而且你也拥有RISC-V的功能,以及与之配套的软件。在构建人工智能软件堆栈时,让底层由RISC-V驱动是相当有价值的。

这是很多人工智能加速器公司并不真正了解的地方,所有加速器大致上都必须有一个控制处理器,要启动和做事、编排、与主机通信等诸如此类的东西,硬件团队很自然地会说,嘿,太好了,我们就是要构建这样的大型加速器。哦,我们需要一个控制处理器,所以我会放下手头的VLIW,帮我的团队定制设计,或者我会拿一些零碎的开源东西亲自构建。或者你可以用其它公司的东西......这些公司对构建一个小的CPU通常很感兴趣,但你会得到一些不稳定的东西!

您将无法获得工具链。你没有C编译器。你得不到可以为其构建内容的LLVM或GCC,所以现在当你为加速器构建软件堆栈时,最终发生的是你经历了这些自然的一系列演进步骤,其中:首先你需要启动它,需要一个固件团队——很好,你可以做。然后你开始,我需要写数字内核,如果我从硬编码加速器中卸载,我需要这样做——突然我需要运行softmax或其他什么,或者在这个东西上运行一些稀疏算法。好吧,你可以在汇编中写…但是C不是很好吗?C++不是很好吗?这整个工具生态系统真的很棒吗?

随着人工智能编译器的不断发展,我们正在收获MLIR和TVM之类的技术。在这个领域,您现在需要另一个级别的软件抽象,并且……哦,是的,顺便说一下,调试器、调试和跟踪、安全性以及所有其他东西都要与现代设计相结合。因此,在RISC-V下构建可为您提供开箱即用的所有功能。事实证明,作为ISA的RISC-V是一种非常灵活的设计,可以自由裁剪,你还知道SiFive内核可以减少到15,000个门之类的。这在现代设计中实际上是不可数的……但是你可以编写,可以有一个与之适配的性能模型,或者可以在仿真中逐步完成。所有这些都伴随着,如果是一个人工智能加速器团队,永远不会真正投资于小型控制处理器,因为这不是公司或团队的主要任务。所以事实证明,当他们不得不提出整个软件堆栈时,这真的会拖累软件团队。

如今,已经看到一些非常可靠且非常有趣的产品进入这个领域,所以这并非不可能,但X280带来的一件事是,因为它采用了RISC-V,我们的客户喜欢可以通过交易得到所有这些。他们得到了一个高性能的向量设计,然后可以卸载奇怪的算法,他们得到了矩阵加速,知道了BFloat16和其他现行行业标准数据类型和类似的东西。

作为产品的X280给我们带来了无限可能。由于它是可配置和可扩展的,因此允许人用户根据自己的用例调整产品,这是其它方法无法做到的。

(参考原文:Software-First AI Chip Design with SiFive’s Chris Lattner )

本文为《电子工程专辑》2021年4月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订

责编:Amy.wu
本文为EET电子工程专辑原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
Sally Ward-Foxton
Sally Ward-Foxton是EE Times特派记者,她专注于EE Times美国版的AI技术和相关话题,以及EE Times欧洲版杂志中的欧洲企业报道。 Sally base在英国伦敦,她报道电子行业已有15年,曾为Electronic Design、ECN、Electronic Specifie撰写设计、电子元件类文章。 她拥有剑桥大学的电气和电子工程硕士学位。
  • 移动应用开发的未来是什么? 在智能手机如此普及的今天,人们时常忘记移动应用是“新事物”。目前还没有任何移动应用开发放缓的迹象。人工智能(AI)、VR、AR和区块链等新兴技术正在不断影响移动应用开发的进程,手机和可穿戴设备上的应用已逐渐渗透到人们的生活。那么,移动应用开发的未来是什么呢?
  • 深入浅出讲解『人工神经网络』的原理和运行机制 深度学习,(人工)神经网络等概念在随处可见的人工智能下现在变得耳熟能详,那么,人工神经网络的原理是什么?它的运行机制是怎样的,涉及到了哪些高深的“概念”?其实很简单,本文将用深入浅出的方法为您介绍神经网络,绝对让您也能轻松了解它!(如果您很在意结果,可以先看末尾的小结,再回过头来一步一步看)。
  • 2022 年人工智能的五大预测 如今,人工智能的发展速度非常快。我们周围事物的复杂性不断增长,这促使每个人都依赖人工智能,以多种方式帮助人类,从检测欺诈交易、预测市场价格到在高层相关者中做出决策。在人工智能蓬勃发展与应用的面前,任何企业都没有理由不尝试人工智能。基于2021年AI技术的发展,可以对人工智能在2022的发展进行预测。
  • 中国云计算完全国产化了吗? 在基础云计算laaS方面,我们已经基本实现了独立自主,国产化率达到了45%;在平台即服务云计算PaaS方面,我们在政务方面应该实现了绝大部分的国产化;在软件即服务云计算SaaS方面呢?
  • 深入浅出讲解21世纪最强大的深度学习算法之一:GAN 在人工智能的深度学习中,算法是核心。GAN(生成对抗网络),作为一个神奇的也是最强大的深度学习算法之一,其发明的过程非常有意思,而效果却是想象不到的有效。本文深入浅出为您讲解GAN。
  • 克服常见的人工智能问题:内存瓶颈 人工智能方兴未艾,各领域都正以足以让业界激动不已的速度快速发展,但它也面临各种挑战,内存需求就是一个瓶颈,特别是对于参数动辄多达上万亿的复杂大型模型训练而言。如何破解人工智能的内存瓶颈?且看本文中专家们的观点。
  • 新款iPad Pro 2021成最受欢迎的 由于采用性能相对强大的M1处理器和mini-LED屏幕以及更多的创新,新款iPad Pro 2021已经成为消费者心目中最受欢迎。然而,iPad 2却已经在全球范围内被列入“复古和过时”的名单中。
  • 三星折叠屏手机Galaxy Z Fold 3 目前来看,折叠屏新机作为一种新的生产力工具,逐渐成为高端/平板的一种趋势,有报料称三星的Galaxy Z Fold 3发布时间或为7月,并且会引入新手势操控。
  • Porotech动态像素调整技术实现Micr 由于我们彻底巅覆 GaN 的半导体材料和结构技术,让我们突破在单位像素上呈现全光谱颜色。同时,PoroGaN微显示平台的光电特性,简化了电子和光电系统设计集成的过程。目前微米纳米级的Micro-LED 和 Mini-LED 显示器在制造所需的多阶段工艺仍然具有挑战性,凭借 Porotech 的多孔氮化镓 (GaN) 技术和架构平台,可以大幅简化现有质量转移(Mass Transfer)或拾取和放置(Pick-and-Place)等Micro-LED制程。
  • 豪威集团在AutoSens展会上首次推出 OAX4600可实现无缝隙的驾驶员/乘员监控系统功能和灵活的汽车设计,在较小的封装内集成低功耗的RGB-IR ISP和两个NPU 
  • 机器学习再造无线电 仅由人设计电信系统的时代即将结束。从现在开始,人工智能(AI)将在这些系统的设计和运行中扮演关键角色。原因很简单:迅猛升级的复杂性。每一代通信系统都致力于改善覆盖范围、比特率、用户数量和功耗。但与此同
  • 超轻薄的华为新机惊到老外:绝了令人印象深刻 5月9日消息,科技媒体Phone Arena发文评价华为Mate Xs 2折叠屏手机,称“这是华为有史以来最大的工程奇迹,是一款令人印象深刻的手机”。Phone Arena表示,华为Mate Xs 2
  • 科创板芯片公司总数达55家,占A股同类上市公司的“半壁江山” 芯片验证春季班开班!1750元学习补助即将收尾!就业畅销课《芯片验证从入门到精通》来源:集微网4 月 30 日,上海证券交易所披露 2021 年科创板公司经营业绩情况。2021 年,科创板公司共计实现
  • Keil调试时设置断点的高级用法 在线调试程序时,打断点是非常有效的一种方式,配合单步调试,可以快速定位问题。但有的时候,手动打断点用起来不是那么方便。比如,想要在一个循环的第N次停下来,如果手动打断点,那就要不停的点击单步运行,直到
  • 京东方|计划下半年启动重庆新建的第3条中小尺寸OLED产线 来源:紫金财经5月9日消息,京东方自2022年第1季启动成都、绵阳新设的第6代OLED产线,计划自2022年下半启动重庆新建的第3条中小尺寸OLED产线。外界预估,2022年京东方OLED产量有望超过
  • 苹果将更多决策交给中国工程师,iPhone14也将如此 在疫情前,苹果公司每个月都会派出数百名美国工程师前往中国,监督生产其大部分产品的代工商。如今由于受疫情影响,苹果正在调整与代工方的合作方式。差旅限制阻碍了大多数美国人的出行,苹果开始更多地依赖本土工程
  • 美国半导体设备新禁令!涉及中芯国际、华虹、长江存储、长鑫存储 来源:经济日报、CINNO综合整理、搜芯易当地时间5月9日上午外媒《The Information》引述知情人士报导称,两位知情人士透露,美国商务部正在考虑禁止美国公司向中国公司出售先进的芯片制造设备
  • 成为嵌入式高手,少不了这100多个软硬件开源项目! 在学习初期,最难的就是找学习资料了,所以今天给大家推荐一个嵌入式开源项目汇总的仓库。本文精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目、物联网、操作系统、Linux等资源,并且这
  • 布局充换电,车企要变身能源企业?|资本眼 文 |  金融街老李车企变身能源企业,只是时间问题。老李之前一直提,特斯拉高估值的密码是汽车公司、数据公司和能源公司,国内车企通过自动驾驶布局大数据的公司很多,但布局能源的公司并不多,目前看只有比亚迪
  • 台湾地区再发地震,台积电、联电等回应影响 芯片验证春季班开班!1750元学习补助即将收尾!就业畅销课《芯片验证从入门到精通》中国地震台网正式测定,5月9日14时23分台湾地区花莲县海域(北纬24.01度,东经122.51度)发生6.2级地震,
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了