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

来源:雷锋网 

作者:包永刚

雷锋网按,新推出的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/  

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python2.7 threading RLock/Condition文档翻译 (RLock/Condition详解)

RLock Objects 可重入锁是一个同步原语,它可以被同一个线程多次获取。在内部,除了原始锁使用的锁定/解锁状态之外,它还使用“线程拥有”和“递归级别”的概念。在锁定状态下,某些线程拥有锁;在未锁定状态下&#xff0c…

Leetcode--33. 搜索旋转排序数组

假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在…

北理计算机教案,北理工版三年级信息技术教案重点.docx

第1单元 初识神奇计算机第1课 神奇电子计算机【教学目的和要求】1、学生了解计算机组成各部分的名称和作用。2、学生知道什么是计算机软件,了解计算机软件的作用。3、学生了解计算机处理信息的过程。4、学会正确启动与关闭计算机。【教学重点】教学难点:…

Leetcode--162. 寻找峰值

峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] nums[n] -…

计算机发展历程按什么划分,计算机的发展阶段是按什么划分的

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。计算机的发展阶段是按电子元件划分的,具体阶段如下:1、第1代为电子管数字机( 1946到1958年)。硬件方面,逻辑元件采用的是真空电子管,主存储器采用汞延迟线、阴…

因果推理、正则化上榜:权威专家盘点过去50年最重要的统计学思想

来源:机器学习研究组订阅在日常生活中,统计学无处不在,每个人、每件事似乎都可以使用统计数据加以说明。随着人类迈入大数据时代,统计学在方方面面更是发挥了不可或缺的作用。统计学思想,就是在统计实际工作、统计学理…

Nginx正向与反向代理

Nginx 主要用于反向代理与负载均衡 什么是代理服务器(Proxy Serve)? 提供代理服务的电脑系统或其它类型的网络终端,代替网络用户去取得网络信息。 为什么使用代理服务器? 提高访问速度 由于目标主机返回的数据会存放在代理服务…

计算机组成原理延迟时间ty,计算机组成原理第6章_5运算方法.ppt

文档介绍:6.5 算术逻辑单元一、ALU 电路四位 ALU 74181M 0 算术运算M 1 逻辑运算S3 ~ S0 不同取值,可做不同运算ALUAiBiFi…SiM位片式运算器4位双极型位片式运算器AM2901,它将ALU、通用寄存器组、多路开关、移位器等逻辑构件集成在一个芯片内。通用寄存器寄存器写…

Leetcode--172. 阶乘后的零

给定一个整数 n,返回 n! 结果尾数中零的数量。 示例 1: 输入: 3 输出: 0 解释: 3! 6, 尾数中没有零。 示例 2: 输入: 5 输出: 1 解释: 5! 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。 思路: 能出现零的因子里面一定出现2&am…

生命起源的奥秘:分子生物学对生命起源研究

来源: 科学技术哲学1993年加州大学柏克利分校的詹腓力教授邀请了一批科学家、哲学家到加州中部的一个海滨小镇相聚。这些学者来自著名的学术中心,包括剑桥、慕尼黑、芝加哥大学等学府,他们是来质疑一个统治了科学界长达150年的学说。保罗.尼尔…

Python学习第二天

运算符类型: 1.算术运算符 a 10*10 2.赋值运算 a a 1 3.比较运算 a 1 > 5 4.逻辑运算 a 1>6 or 11 5.成员运算 a "文" in "郑建文" 基本数据类型 数字  int 字符串  str 列表  list 元祖  tuple 字典  dict 布尔值  b…

Promise,async和js的事件循环机制

Promise Promise有等待,已成功,失败,三种状态,状态的改变会触发then回调函数和catch回调函数。 当执行一个Promise时,它会立刻返回一个Promise对象,并且不会阻塞后续代码执行。 当Promise的状态发生改变后…

介绍计算机硬件的情景剧表演,手忙脚乱的情景剧

继去年一手操办了女儿班上的元旦迎新会后,昨天,我再一次自编自演自导。不得不说,学校真是磨练人的地方。一、创作剧本的起因半个月前,宋老师推荐我和女儿参加学校举行的亲子诵读比赛。去年也参与过一次,我己经形成了固…

java 双因素认证(2FA)TOTP demo

TOTP 的全称是"基于时间的一次性密码"(Time-based One-time Password)。它是公认的可靠解决方案,已经写入国际标准 RFC6238。 很早就知道有这个东西了,一直不知道是怎么实现的. 比如 QQ 安全中心的密钥,U盾,就是动态密码…

win7计算机管理中看不到新加的硬盘,win7系统看不到第二块硬盘的解决方法.

win7系统想必大家都非常熟悉吧,然而有时候可能会碰到win7系统看不到第二块硬盘的情况,想必大家都遇到过win7系统看不到第二块硬盘的情况吧,那么应该怎么处理win7系统看不到第二块硬盘呢?我们依照1、进入win7系统控制面板&#xff…

美国航空发动机发展经验,给中国的启示!

内容来源:网络本期编辑:小艾 航空发动机是装备制造领域的最高端产品,代表了装备制造业的最高技术水平,被誉为现代工业“皇冠上的明珠”,其重要性一向为人所强调,但成为航空发动机强国的道路之艰难却往往为人…

session的钝化和活化

钝化:内存->硬盘 活化:硬盘->内存 session对象的四种状态: 1.session.setAttribute("a",xxx),将对象a绑定到session中 2.session.removeAttribute("a"),将对象a从session中解绑 监听session对象的…

华师 计算机系统 作业,华师网络学院作业答案-计算机组成原理问答题

华师网络学院作业答案-计算机组成原理问答题 (4页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分试谈谈什么是存储系统的高速缓冲存储器(Cache), 画出“主存- Cache”这一存储层次…

第五十四篇 Linux相关——远程连接SSH

No.1. SSH(Secure Shell)安全外壳协议建立在应用层基础上的安全协议可靠,专为远程登录会话和其他网络服务提供安全性的协议有效防止远程管理过程中的信息泄漏问题SSH客户端适用于多种平台SSH服务器端几乎支持所有Unix平台No.2. 服务器安装SSH…

《2020城市大脑全球标准研究报告》全文正式开放申领

2020年12月23日,《2020城市大脑全球标准研究报告》在北京正式发布,提出了城市大脑建设标准的研究方向和初步成果,内容包括: 城市大脑的顶层建设规范、整体技术架构、云反射弧机制、运行安全、城市神经元的种类划分、识别编码、空…