雷锋网按,新推出的AI芯片因架构的独特性和软件的易用性增加了客户尝试和迁移的成本,因此,软件成为了能否快速、低成本迁移的关键。现在普遍的做法是在TensorFlow写一些后端集成新硬件,这给社区和AI芯片公司都带来了负担,增加了迁移的难度和成本。
目前,有不少项目都希望从AI编译的角度避免重复性的工作,比如微软亚洲研究院的NNFusion以及阿里云的HALO开源项目,降低从GPU向其它AI加速器迁移的成本。
有一个值得关注的开源框架TVM,开发者通过这个框架就可以将已有的模型部署到不同的硬件上,这是打开AI芯片的万能钥匙吗?
对于处于AI硬件和软件领域的芯片公司和开发人员而言,开源Apache TVM的努力已经众所周知。这是一个机器学习的编译器框架,无论是何种类型的芯片,它都可以通过优化配置满足从数据中心到边缘设备的需求。
如果AMD、高通、Arm、赛灵思、亚马逊和许多其他公司还未支持它,那么它可能会散发出“神奇编译器”的魔力,一些AI芯片初创公司几年前就开始相关工作。
TVM的想法是不需要将机器学习模型专门针对某个硬件进行手动定制,进而发挥传统芯片巨头以及初创公司芯片的潜力。现在是时候为新AI芯片的生产确定标准,让用户无需为采用特定于体系结构背负沉重负担。毕竟,有很多机器学习的芯片可供选择。
“硬件越来越多样,围绕这些硬件的软件生态系统也是如此。再加上TensorFlow、Keras、PyTorch等深度学习框架,还有各种深度学习模型,它们之间的相互作用日益复杂。”华盛顿大学教授,TVM OctoML的联合创始人兼联合首席执行官Luis Ceze说。
“这些软件堆栈现在是用于特定用例或特定硬件(如cuDNN,ROCm等),这些都是通过初级工程师手工优化,这些工程师优化了线性代数代码,将模型中的机器学习运算符连接到带有经过调整的硬件库的硬件。这对于芯片提供商来说效果很好,但是就使用硬件设备公司而言,效果是有限的。”
本质上,TVM是一个编译器加一个Runtime(运行时)堆栈,带有一组中间表示,这些中间表示将高级框架(如TensorFlow,PyTorch等)中的机器学习模型转换为可以被不同硬件体系结构理解的代码,从服务器级GPU到低端移动CPU甚至MIPS或RISC-V芯片。
对于希望在新硬件上运行机器学习模型的芯片公司来说,这是个好消息,尤其是考虑到开发深度优化的软件堆栈的时间和成本。这也意味着,只要一次建模型,就可以将其部署在几乎所有TVM支持的硬件上。
目前,支持TVM的列表包括几乎所有主要的硬件供应商以及多家初创公司。
Ceze表示,从深度学习模型到更小的可部署模块的编译流程,以及在具有更好性能的更多架构上自动生成和优化模型,TVM的速度平均比手工优化快2-10倍
Codeplay首席执行官安德鲁·理查兹(Andrew Richards)也致力于跨越AI硬件与软件鸿沟。他补充说:“这类技术面临的挑战是如何将其应用于不同AI加速器并实现不同的应用。AI是一个非常活跃的研究领域,每天都会有新的进展。在新硬件上快速运行旧的神经网络模型并不是真正的挑战,我们需要在新硬件上运行新的神经网络。”
“太多的AI芯片公司都在努力运行最新的基准(Benchmark)。为了推动AI芯片和AI软件领域的发展,我们需要将硬件设计人员需要的图编译器(例如TVM)的自动调整功能与AI研究人员需要的C ++或Python这样的编程语言的常规编程能力相结合。这个挑战使这个领域令人兴奋。” Richard继续说道。
Ceze和他的OctoML团队正在这么做,将TVM商业化。“让新硬件运行新的模型对平台是一个机会。例如,在视频存储库中的云中大规模运行计算机视觉来进行内容审核的应用,通过我们的优化程序,能够有10倍的性能提升。”
Ceze表示,对于机器学习工程师来说,他们代表着越来越多的用户,厌倦了担心部署模型的麻烦。如果必须在模型创建过程中考虑硬件部署的效率低下,那数据科学足够困难。这就是人们选择TVM和我们的原因,他们只需要专注于想要运行的模型,而不是关注如何在特定硬件中运行它们。”
正如我们多年来所看到的,如果在正确的时间做正确事,将开源商业化将有利可图。尽管TVM获得了广泛的支持(大约三分之二来自行业/硬件制造商),但Ceze认为他们有足够的能力来获取有关模型的类型和数量,硬件目标、复杂程度和数量的信息。作为一个非常普遍的问题,一个中型计算机视觉的云计算模型每月的费用约为1-1.5万美元。
“我们提供的价值是,让用户获得更易于使用的体验,并基于我们对所有主要芯片和模型的异构的集合,获得成本优势,并不断进行优化。” Ceze表示。
到目前为止,该公司已经筹集了1900万美元的种子基金和A轮融资,尽管其一些最大的(经过验证的)客户都因保密协议不能公布,但考虑到大多数主要的芯片制造商(英特尔和英伟达等几个著名的例外,特别是英伟达和其cuDNN),以及拥有自己的ASIC和一些行业巨头云提供商。
未来是否有足够大的业务来支持TVM还有待观察,但对于AI芯片生态系统软件之外的人,应该认识到的是,软件是造成这个行业差异化的因素。特别是随着时间的流逝,可以开始降低成本。
随着开源的发展,我们可以期望TVM对更多设备的更广泛支持,让开发人员尝试不同架构。
文章来源于网络,如有侵权请联系删除。