如何超越英伟达?
扫描二维码
随时随地手机看文章
从AI热潮中率先获益的英伟达,其GPU参数和性能频繁出现在不少AI芯片发布会的对比图中。这是在缺乏AI芯片衡量的标准时,新的AI芯片证明自己实力的不错方式。不过,声称性能超越英伟达GPU的创新AI芯片不少,但想要超越英伟达非常困难。
因为,超越英伟达最核心的并不是更高的硬件参数和更低的价格,13年和160万这两个数字才是关键。
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能实现高性能的深度学习训练和推理。
英伟达承诺第8代图灵架构GPU模拟物理世界的能力将比Pascal架构提升6倍,实时光线追踪能力比Pascal架构提升25倍。
AI的光环下,英伟达的股价比GPU性能的提升更加迅速,2016年每股30美元左右, 到2018年最高涨至每股280美元,创下历史新高。
不过,相比硬件的加速,软件带来的提升更加显著。黄仁勋称,在不改变硬件的前提下,通过软件和库的完善,过去2年英伟达将计算性能提升4倍,AI推理性能可以提升2倍,所需的开发时间也可以几周缩短为几天,从几天缩短为几小时。
即便是新推出的硬件平台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多个库。
本周三的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软件。
至于未来是否会进一步开放甚至开源CUDA,Greg Estes告诉雷锋网,现在整个开发者社区做出了各种贡献,CUDA周边也有很多开源软件和代码,对于CUDA的进一步开放英伟达并不反对。
“我们也将不断探索,开拓一些现在还没人愿意关注的市场。这需要勇气,也非常困难,但英伟达的基因让我们非常享受各种挑战。” Greg Estes如此解释构建更强大开发者生态的挑战。
他同时指出,进入到新的领域,营销可能需要更多的支出。但英伟达使用的是统一的平台,进入新领域的时候并不需要像其它公司一样开发新的架构和软件,不会大幅增加研发成本。比如开发自动驾驶的软件和开发机器人的软件差别没那么大,它们都有感知环境、设定路径、模拟周围物体移动的相同之处。
如何超越?
所有GPU,从云端到终端不同的硬件平台,都支持统一的CUDA软件平台,让英伟上百万的开发者可以基于GPU在各个领域进行计算加速。这促进了CUDA软件堆栈的完善,也让英伟达能够针对不同的领域推出完整的解决方案。
这是英伟达在AI时代率先被广泛应用的重要原因,也是其在未来竞争中核心竞争力。26年的硬件能力积累,13年前开始的统一平台软件布局,160万的开发者生态,不断探索新领域的商业模式,这样的一个系统公司怎么看都难以超越。
但也并非没有可能,有一家初创公司的思路是在软件层面完美兼容CUDA,通过提供性价比更高的硬件,能够替代英伟达GPU。但由于CUDA并非完全开放,且在持续迭代,要完美兼容CUDA面临挑战,能否在兼容的同时完成新生态的建设影响成败。
还有一家公司走的是定制化和本地服务的路线,通过与有强AI需求的公司合作,提供性价比更高的定制化解决方案,同时提供更加本地化的服务,以期获得一些市场份额。
这两种方法都有成功的机会,但实际应用和发展的过程中每一步都充满挑战且非常关键。
还有一点不容忽视的是,GTC China 2019上英伟达展示了GPU相比CPU在云端AI推理中的成本以及性能优势,即便黄仁勋表示这并不是要用GPU替代CPU,但在云端训练市场需求放缓,推理市场迅速增长的背景下,英伟达和英特尔将在云端AI推理市场激烈的竞争难以避免。
这是否会改变市场格局?