来源:机器之心本文约2400字,建议阅读5分钟本文我们将聚焦 AI 加速器的办理方案及行业前景等内容。
谁的 AI 加速器办理方案最好?
显然,这个问题非常繁芜。未来 5-10 年的事情很难预测。此外,如果你想知道全体家当将走向何方,不要问工程师。我们理解技能,但技能上做得好的产品未必就能大规模铺开。
在过去的五年里,很多精良的想法得以实现,但它们也只是学术论文中 AI 加速器设计和想法的一小部分,剩下的部分还有很多可以渗透到业界中。这些东西非常随机,有可能在未来的某个韶光,一项新的研究将提出一个「打破性模型」,在现有的案例或我们尚未创造的新领域中实现 SOTA 准确率。这个模型可能是用于特定加速器的一个杀手级 APP,一旦该模型称为行业标准,它将使特定加速器变得更有吸引力。
此外,细节决定成败。网上的宣扬材料突出了每个架构的优点,但它们并不是很能解释问题。只有当愿景变成实际产品时,缺陷才会显现出来,而且这些缺陷源于许多难以预测的成分。我敢打赌,未来 2~3 年,我们会陆续看到很多崩溃的想法和解决方案,但到 2024~2025 年,事情会缓和下来,研究 AI 和商业 AI 会开始收敛为一些可行的办理方案和最佳实践,约 3~5 个加速打算公司会领先。
一些建议
AI 加速游戏已经开足马力。毫无疑问,目前,英伟达霸占了上风,这得益于他们成熟的 CUDA 软件栈,以及在 MLPerf 基准测试中的领先上风(不要忘了,险些所有这些基准测试都是在 NVIDIA 平台上设计和优化的),同时,它也有能力通过收购 Mellanox 等公司来掌握全体生态栈。然而,英伟达留下的创新空间也很大。初创公司的紧张赌注是英伟达正处于「创新者的窘境」。从长远来看,在保持原有特性和根本的同时调度现有办理方案和从头构建全新办理方案之间是有差异的。因此,虽然英伟达有几年的良好开端,但一旦个中一些初创公司遇上来,他们就将与英伟达展开一场实实在在的竞争。
以下是送给这个赛道上的玩家和新入局者的一些建议:
把稳基于坚实的研究和长期愿景构建良好的架构根本,并尽可能多地考虑目标运用空间的细节。
虽然这看起来过于大略和乐不雅观,但我再怎么强调也不为过。根据我自己不雅观察到的一些情形,纵然有大量资金和才华横溢的大型团队,企业和初创公司都难以战胜在早期阶段做出的次优架构决策,纵然是在多代芯片之后。每个架构都有一些弱点。相对随意马虎改进的弱点来源于对资源的低估(如没有足够的核心,暂存器过小等)。还有一些弱点是缺少通用性(one-size-fits-all)所导致的,这迫使供应商选择个中一种技能,有时这是受现实天下约束的副产品。例如,NVIDIA A100 依赖于高带宽存储(HBM),与传统 DRAM 比较,它拥有更高的带宽但容量更低。然而,这并不是一个弱点,而是一个故意识的设计决策,由于大多数 AI 运用都须要更多的带宽而不是内存。因此,NVIDIA GPU 在适宜数十 GB HBM 空间的事情负载上享受快速内存访问。然而,在演习大模型时,为了有足够的内存空间来包含所有处理过的数据,用户须要在大量 GPU 之间完成数据分发和通信。
设计新架构时,不要低估软件栈和工具链开拓的繁芜性。
最难改进的弱点可能是在形成架构的基本阶段做出的缺点选择。例如,Wave Computing、SambaNova 和 SimpleMachines 正在采取看起来相似的方法(用于可重构加速器的编译器驱动的数据流实行)。个中,Wave Computing 已经申请破产;根据领英上供应的信息,SimpleMachines 的所有领导层都换了;但 SambaNova 彷佛做得很好。很难说清楚造成这种差异的紧张缘故原由。但一些资料显示,Wave Computing 在设计他们的 DPU 时,其硬件足够大略和抽象,以支持广泛的运用,并认为实现一个性能良好的办理方案是一个软件问题。由于软件周期的周转比生产新芯片快得多,他们决定把大部分重担留给软件。
然而,他们创造,虽然一些编译技能对大略的内核很有效,但很难推广,并且在面对大型程序时碰着了打算难题。这里学到的教训是,在早期阶段,架构必须由来自栈的多个层的人仔细定义。此外,从架构的角度来看,他们的设计非常具有野心:以非常高的速率(6.7GHz)切换电路,将慢速和快速存储空间(DDR 和 HMC)结合到一起等。所有这些底层细节都须要抽象出来,并由一个非常繁芜的软件来掌握,以便有效地编排数据流。人们有时会粉饰软件的繁芜性。然而,当你设计打算量更大的系统时,纵然是一些使硬件更大略或更通用的抽象假设,也会导致数月乏味的软件开拓。
可以说,Wave Computing 的遭遇彷佛是当你太超前时会发生的事情。他们的大多数架构根本可能是在 2015 年旁边奠定的,当时编译器驱动的人工智能设计还处于低级阶段。由于积累的知识有限,Wave Computing 领导层可能会对软件开拓做出一些乐不雅观的假设,由于他们正在办理新的未办理的问题。
利用率才是王道
加速器最大的吸引力来自一个观点:并行性。对并行性的利用是提升性能的头号元勋。剩下的只是细节,但就像我说的——细节很主要。你常常听到 TOPs、TFLOPs、GOP 等,它们指的是加速器理论上一秒钟可以实行多少次算术运算。然而,这一领域的紧张寻衅是利用率,即每秒实际能做多少次运算,由于它决定了用户真正看到的是什么。回到大学时期,我开着一辆 15 岁的雷诺 Clio。理论上,它的时速可以达到 150 英里,而且不耗油,但条件是你要把它从峭壁上扔下去。虽然最大吞吐量决定了利用芯片上所有算术单元时的打算速率,但这并不是范例情形。常日,芯片会忙于其他事情,例如不同打算单元之间的同步、从片外存储器中获取数据,或者跨单元和芯片进行数据通信。为了提高利用率,我们须要构建一个繁芜的软件栈来避免这些开销,该软件栈能够预测和最小化这些硬件事宜对所有现实场景、所有不同的神经架构和所有张量形状的影响。这便是为什么许多人工智能「硬件」组织的软件工程师至少和硬件工程师一样多。
AI 加速器领域的「守旧主义」
你可能已经把稳到,险些每一个概述的 AI 加速办理方案都是从一个已经有几十年历史的学术思想开始的:脉动阵列起源于 1978;VLIW 架构起源于 1983;数据流编程的观点可以追溯到 1975;早期的内存内处理(processing-in-memory)涌如今 20 世纪 70 年代。这种「守旧主义」盛行的逻辑是:1)在这样一个竞争激烈和快速发展的环境中,大胆的新架构理念风险太大,人们更喜好已经在其他环境中落地支配的成熟理念;2)就像人工智能复兴一样,硬件复兴不能只归功于算法和思想,由于这些算法和思想不是近些年才有的。是实现这些想法的能力将创新带到了我们面前,包括:1)芯片材料科学和制造方法学上的进展,它们使硅芯片的性能提高了几个数量级;2)日积月累的人类知识,它让人们对 CAD 工具、编程措辞和编译器有了更好的理解,以节制极其繁芜的软硬件栈。
原文链接:
https://medium.com/@adi.fu7/ai-accelerators-part-v-final-thoughts-94eae9dbfafb