英伟达_如何超越英伟达?

从AI热潮中率先获益的英伟达,其GPU参数和性能频繁出现在不少AI芯片发布会的对比图中。这是在缺乏AI芯片衡量的标准时,新的AI芯片证明自己实力的不错方式。不过,声称性能超越英伟达GPU的创新AI芯片不少,但想要超越英伟达非常困难。

因为,超越英伟达最核心的并不是更高的硬件参数和更低的价格,13年和160万这两个数字才是关键。

65a5e8b3bc386dbec6fbf3b6cb760d89.png

13年前就“注定”成为AI明星

1993年成立不久后,英伟达就面临激烈的显卡市场竞争,幸运的是,它从47家显卡生产商的竞争中胜出,并于1999年在美国上市。带领英伟达走向成功的关键人物之一就是其创始人兼CEO黄仁勋,人称黄教主。

为了让英伟达拓展新的市场领域,多年来黄仁勋一直都会事先做好风险预估工作。十多年前,黄仁勋下了一次关键性的赌注,押注一系列的改动和软件开发,让GPU能够处理图像以外更为复杂的任务。

此举给英伟达带来了不小的成本压力。黄仁勋估计,名为CUDA(Compute Unified Device Architecture,统一计算架构)的项目每年需要花费5亿美元,当时英伟达的总营收约为30亿美元。

这个重大的决策和CUDA成功背后,还有一个关键人物——现英伟达GPU 计算软件总经理的Ian Buck。他在加入英伟达之前就通过实验证实GPU用于通用计算的潜力巨大,2004年进入英伟达实习后,Ian Buck开始聚集相关的硬件和软件工程师创建GPGPU模型。

不久后,英伟达对其芯片作出改动,开发出软件辅助工具,包括支持标准的编程语言,而非用于向图形芯片发出指令的神秘工具。在Ian Buck的率领下,2006年CUDA正式推出,这是全球首款GPU的通用计算解决方案。

CUDA工具包包括了GPU加速库、编译器、开发工具。为了便于使用,英伟达让使用CUDA的开发人员可以使用熟悉的C、C ++、Fortran、Python、MATLAB等流行语言设计程序,以几个基本关键字的形式通过扩展表达并行性,就能用GPU实现加速计算。

随着CUDA的迭代,CUDA团队开发了石油、天然气和国防等相关产业所使用的科学计算方面的库。开发者们也逐渐把GPU应用于气候建模、勘探石油和天然气等很多领域。

同样关键的是,CUDA发布之后,英伟达所有新推出的GPU都支持CUDA。这就意味着只要研究人员、学生拥有搭载英伟达GPU的笔记本电脑或者台式机,就能在学校实验室和宿舍开发软件。再加上英伟达说服了许多大学开设课程,教学生用其最新的技术。

这才有了大家都熟悉的2012年Alex Krizhevsky用英伟达GPU运行AlexNet卷积神经网络算法在2012年ImageNet竞赛中获得第一,图像识别的错误率大大降低。

由此,深度神经网络引发了第三次AI浪潮,英伟达也一步步成为了“AI明星”。

2016年,英伟达投入数十亿美元动用数千工程师打造的第一个专为深度学习优化的Pascal GPU推出。2017年,又推出了性能比Pascal提升5倍的Volta架构,神经网络推理加速器TensorRT 3也同时亮相。

2018年,黄仁勋口中自2006年CUDA GPU发明以来最大的飞跃图灵(Turing)架构发布,这一新架构承载了RT核心(RT Core)以及全新张量核心(Tensor Core),RT Core使全球首款光线追踪GPU成为可能,Tensor Core能实现高性能的深度学习训练和推理。

56572dbd4fed697af6b4e084c562eca7.png

英伟达承诺第8代图灵架构GPU模拟物理世界的能力将比Pascal架构提升6倍,实时光线追踪能力比Pascal架构提升25倍。

AI的光环下,英伟达的股价比GPU性能的提升更加迅速,2016年每股30美元左右, 到2018年最高涨至每股280美元,创下历史新高。

不过,相比硬件的加速,软件带来的提升更加显著。黄仁勋称,在不改变硬件的前提下,通过软件和库的完善,过去2年英伟达将计算性能提升4倍,AI推理性能可以提升2倍,所需的开发时间也可以几周缩短为几天,从几天缩短为几小时。

7b66dc025398c99608d0c6f642ac78fb.png

即便是新推出的硬件平台Orin,也十分强调其软件定义特性,尽可能延长硬件的生命周期以及发挥软件的优势。

160万开发者生态

英伟达开发者计划副总裁Greg Estes说,“之所以英伟达在AI时代比其它公司跑的更快一些,主要的原因是十多年前做出的战略性决定——将CUDA开放给各个行业。任何一个英伟达GPU都可以使用相同的软件堆栈。”

这意味着,英伟达生态系统中的合作伙伴都能接触到一个巨大的市场,无论是做AI、游戏还是数据中心、边缘计算。

在这种吸引力下,特别是伴随深度学习的火热,英伟达的开发者生态日渐壮大,过去三、四年开发者数量增长尤为快速。2019年,全球已经有超过160万CUDA开发者。中国CUDA开发者数量最为众多,数量也增长最快,数量已经超过了30万,并且还在以每个月新增1万人的数量增长。仅今年,CUDA的下载次数就超过了500万次。

与之相伴的是CUDA的不断更新,今年初,全新的AI加速库CUDA X AI SDK正式发布,可以用于数据分析、机器学习、深度学习等多个领域的加速,更好地释放 Tensor Core GPU 的灵活性。如今,CUDA已经发布了500多个库。

eafc516a8679d459b33be6e520cad510.png

本周三的GTC China 2019上,黄仁勋又宣布推出TensorRT 7,它支持各种类型的RNN、Transformer和CNN,能支持1000多种不同的计算变换和优化。之所以选择在TensorRT6推出后的三个月就推出TensorRT7,英伟达负责TensorRT产品市场Siddarth Sharma接受采访时称主要是为了会话式AI。

会话式AI涉及语音识别和转化为文字、理解文字、再转化为文字用语音反馈三个部分,此前的TensorRT版本能完成理解的部分,TensorRT7可以完成三个流程,并且是在300毫秒内。

另外,英伟达还用迁移学习、联邦学习等方式帮助开发者更快地将AI技术应用于自动驾驶、医疗等行业。

当然,为了让新注册的开发者更快上手CUDA,除了提供文档,英伟达深度学习学院(DLI)也提供实战培训,帮助开发者了解如何开发、应用甚至部署。还有英伟达的校园大使项目,目前以及与国内23个高校合作,让高校老师能开设DLI课程,补充理论课程。

为了中国开发者,DLI将很多课程转换为中文,还在中国新开了10个基础的DLI课程。

更多的开发者让CUDA软件堆栈不断完善,也让英伟达可开发不同的全套解决方案应用到各个垂直行业,这也是英伟达成功的关键。要探索更多的领域,英伟达需要进一步开放CUDA,在支持x86的基础上,英伟达今年6月宣布将在年底前向Arm生态系统提供全堆栈的AI和HPC软件。

c8b5789dcad73cdd2b1bbce7b8eaf209.png

至于未来是否会进一步开放甚至开源CUDA,Greg Estes告诉雷锋网,现在整个开发者社区做出了各种贡献,CUDA周边也有很多开源软件和代码,对于CUDA的进一步开放英伟达并不反对。

“我们也将不断探索,开拓一些现在还没人愿意关注的市场。这需要勇气,也非常困难,但英伟达的基因让我们非常享受各种挑战。” Greg Estes如此解释构建更强大开发者生态的挑战。

他同时指出,进入到新的领域,营销可能需要更多的支出。但英伟达使用的是统一的平台,进入新领域的时候并不需要像其它公司一样开发新的架构和软件,不会大幅增加研发成本。比如开发自动驾驶的软件和开发机器人的软件差别没那么大,它们都有感知环境、设定路径、模拟周围物体移动的相同之处。

dfac78e7a782219cca0a29a7d9fd5a82.png

如何超越?

所有GPU,从云端到终端不同的硬件平台,都支持统一的CUDA软件平台,让英伟上百万的开发者可以基于GPU在各个领域进行计算加速。这促进了CUDA软件堆栈的完善,也让英伟达能够针对不同的领域推出完整的解决方案。

这是英伟达在AI时代率先被广泛应用的重要原因,也是其在未来竞争中核心竞争力。26年的硬件能力积累,13年前开始的统一平台软件布局,160万的开发者生态,不断探索新领域的商业模式,这样的一个系统公司怎么看都难以超越。

但也并非没有可能,有一家初创公司的思路是在软件层面完美兼容CUDA,通过提供性价比更高的硬件,能够替代英伟达GPU。但由于CUDA并非完全开放,且在持续迭代,要完美兼容CUDA面临挑战,能否在兼容的同时完成新生态的建设影响成败。

还有一家公司走的是定制化和本地服务的路线,通过与有强AI需求的公司合作,提供性价比更高的定制化解决方案,同时提供更加本地化的服务,以期获得一些市场份额。

这两种方法都有成功的机会,但实际应用和发展的过程中每一步都充满挑战且非常关键。

还有一点不容忽视的是,GTC China 2019上英伟达展示了GPU相比CPU在云端AI推理中的成本以及性能优势,即便黄仁勋表示这并不是要用GPU替代CPU,但在云端训练市场需求放缓,推理市场迅速增长的背景下,英伟达和英特尔将在云端AI推理市场激烈的竞争难以避免。

这是否会改变市场格局?雷锋网雷锋网

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

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

相关文章

在struts2中push方法的使用_【干货】网版印刷中水墨使用注意事项及助剂使用方法...

导LEAD语在印刷生产中,水性油墨的黏度、干燥速度和PH值等等都会直接影响印刷质量,那么具体到网版印刷中,在使用水性油墨时应该注意哪些问题呢?常用的印刷助剂都有哪些特点和使用方法?编辑:华印纸箱彩盒 小张…

限定概率抽奖_守护星已点亮,内测皮肤得到没?从天美抽奖概率分析:地址什么梗...

声明:原创文章,禁止抄袭,违者必究!大家好,我是你们的小抖。本次五五开黑节最引人注意的活动,当然不是超云龙胆新皮肤了。小抖觉得大家应该与我想的一样:内测皮肤。小抖点亮了所有守护星&#xf…

完美汽配管理系统v12服务器,完美汽车维修4S店管理系统

完美汽车维修4S店管理系统是一款十分不错的汽车修理系统,他可以帮助用户去处理好汽车维修,客户信息管理等问题,所以快来下载试试吧!软件介绍完美汽车维修4S店管理系统是款界面简洁大方且主要应用汽修行业的管理软件,完…

JPA中的@MappedSuperclass

说明地址:http://docs.oracle.com/javaee/5/api/javax/persistence/MappedSuperclass.html 用来申明一个超类,继承这个类的子类映射时要映射此类中的字段,可以当做是对entity抽取封装的类。如果子类想重写此类的映射信息,可以使用…

调用另一个cpp的变量_再谈条件变量—从入门到出家

再谈条件变量—从入门到出家C语言--条件变量条件变量是在线程中以睡眠的方式等待某一条件的发生;条件变量是利用线程间共享的全局变量进行同步的一种机制:一个线程等待"条件变量的条件成立"挂起另一个线程使"条件成立"条件变量的使用…

不同page页面选择不同页面模板的方法

仿制一个企业站的时候发现该站用了很多page页面,而且个别页面的样式不相同,同时区别于post文章页面,其实不同之处就在于每个页面的xhtmlcss的不同,关键是page模板选择的问题,恒宁总结了以下两种方法。 第一种&#xff…

jquer each 遍历的结果不显示 null_SpringBoot系列(三十一)- Thymeleaf如何用th:each 做条件遍历

步骤1:基于前面的知识点步骤2:先运行,看到效果,再学习步骤3:模仿和排错步骤4:TestController步骤5:普通遍历步骤6:带状态的遍历步骤7:结合 select步骤8:结合 单选框步骤9:完整的 test.html步骤10:重启测试步骤 1 : 基于前面的知识点本知识点是建立在上一…

python3.6sysos_求大佬,这是什么情况啊

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Traceback (most recent call last): File "manager.py", line 13, in sys.exit(main()) File "manager.py", line 8, in main manager.run() File "/root/imooc/lib/python3.5/site-packages/flask_sc…

.Net学习笔记----2015-06-30(超市收银系统01-仓库类)

GUID: 产生一个不会重复的ID static void Main(string[] args){//产生一个不会重复的编号Console.WriteLine(Guid.NewGuid().ToString());Console.WriteLine(Guid.NewGuid().ToString());Console.WriteLine(Guid.NewGuid().ToString());Console.WriteLine(Guid.NewG…

Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介...

ADO.NET技术主要包括Connection、Command、DataReader、DataAdapter、DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:(1)Connection对象的主要功能是与数据库进行连接(事物处理也使用此对象)…

python电子英汉词典显示_python网页抓取之英汉字典

linux的字典本人实在用起来不舒服(stardict挺不错的,但是界面好看些,功能简单易用就好了) ,在线翻译又得打开庞大的浏览器....就打算自己写个,但是时间有限,为了简单, 还是用python抓…

清空缓存的命令_超详细的mysql数据库查询缓存原理解析、涉及命令、流程分析等...

概述mysql查询缓存在数据库优化可以起到很大的作用,今天主要针对这一块做一个总结,下面一起来看看吧~一、缓存条件,原理MySQL Query Cache是用来缓存我们所执行的SELECT语句以及该语句的结果集,MySql在实现Query Cache的具体技术细…

和lua的效率对比测试_Unity游戏开发Lua更新运行时代码!

最近沉迷lua脚本热更,想说这个可以提高多少菜鸡的调试效率,找了网上好多文章,但是都不行,尝试了很久,并且自己测试和学习,写了一遍,勉强能热更了。下面记录一下热更Lua的过程。一、用来卸载表格…

nodejs cluster ip hash_redis集群架构了解一下?一致性hash了解吗?

在前几年,redis 如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有 codis,或者 twemproxy,都有。有一些 redis 中间件,你读写 redis 中间件,redis 中间件…

python 连接oracle_常用的Python库,给大家分享一下!

Tkinter———— Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复…

python 前端学习_python学习之路7 前端学习3

1.页面布局PosTion :fixedTitle.left{float:left;}.right{float:right;}.head{height:58px;background-color:#3c3c3c;}.head .fontsquarl{width:120px;height:58px;background-color:#F22E00;line-height:58px;}.head .logosuqarl{width:120px;height:58px;background-color:#…

2.5d generator 2.0_ps插件【2.5D插件】

近一两年来创意插画在视觉上的使用越来越多,设计师们都愈加倾向于使用漂亮的插画和产品结合让自己的设计脱颖而出。在最近这段时间新涌现的设计作品当中,强烈的视觉冲击力和产品结合的展现是它们共通的特点。那么2.5D插画也是作为近一两年的发展趋势&…

人工神经网络_制作属于自己的人工神经网络

在本文中,我已经实现了具有Dropout和L2正则化的人工神经网络的完全向量化代码。在本文中,我实现了一个在多个数据集上测试的人工神经网络的完全向量化python代码。此外,并对Dropout和L2正则化技术进行了实现和详细说明。强烈建议通过人工神经…

[leedcode 52] N-Queens II

Follow up for N-Queens problem. Now, instead outputting board configurations, return the total number of distinct solutions. public class Solution {//本题类似于N-Queens,这个更简单一些,只需要求出解法的个数即可,因此没有了prin…

uinty粒子系统子物体变大_Unity2018粒子系统全息讲解,坑深慎入(3)

马上注册,加入CGJOY,让你轻松玩转CGJOY。您需要 登录 才可以下载或查看,没有帐号?立即注册x200357v0p9jufzelwj0uuj.jpg (60.94 KB, 下载次数: 16)2018-6-11 20:22 上传声明!声明!声明!这不会让…