百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

打开AI芯片的“万能钥匙”

toyiye 2024-06-21 11:55 9 浏览 0 评论

雷锋网按,新推出的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对更多设备的更广泛支持,让开发人员尝试不同架构。

原文链接:https://www.nextplatform.com/2021/01/15/a-skeleton-key-for-ai-hardware-experimentation/ 雷锋网雷锋网

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码