算力至上?四大AI芯片大对决

来源 | 老石谈芯(ID: laoshi_tanxin)

目前,全世界超过90%的数据都是在过去的两三年之内产生的。随着人工智能、自动驾驶、5G、云计算等各种技术的不断发展,海量数据都将会继续源源不断的产生。预计到2025年,数据总量将比现在增长10倍。在这些技术的发展中,很大的一部分都基于对大数据的研究和分析。正因为如此,很多人就形象的将数据比喻为人工智能时代的石油。

为了对海量的数据进行处理,基于传统CPU的计算结构已经很难满足需求了,我们需要更加强大的硬件和芯片,来更快、更好的完成这些工作。

此外,我们也需要更好的方法,比如使用各种人工智能的算法和模型,来帮助我们进行数据的分析和处理,并得到有意义的结论。如果把这两者结合起来,就产生了各种各样的人工智能芯片。

在这篇文章里,我们来一起看一下关于人工智能芯片的几个有意思的事情。我想讨论的重点,是在实际的工程实践和应用场景里,如何对人工智能加速芯片进行合理的评价和选择,以及各种不同的AI芯片的优缺点都有哪些。我会给大家介绍一个简单的思维框架,帮助大家理解和思考。

讨论:一个前提条件

在开始讨论之前,我们首先要明确一些讨论的前提条件,这些对于接下来的分析至关重要。很多人常犯的一个逻辑谬误,就是在讨论问题的时候缺少一个特定的讨论范围,这个英文叫做context,中文通常翻译成语境,或者上下文。

说白了,这个就是我们在讨论问题的时候,要圈定一个讨论的范围,大家都在这个圈圈里讨论问题。这就像拳击或者格斗比赛一样,要在那个擂台上比拼,不能跑到台下打。否则的话,就会像老郭和于大爷说的那样:

你和他讲道理,他和你讲法制;

你和他讲法制,他和你讲政治;

你和他讲政治,他和你讲国情;

你和他讲国情,他和你讲文化;

你和他讲文化,他和你讲道理......

同样的,对于我们要讨论的人工智能芯片,其实有很多不同的应用领域。从这个角度来看,AI芯片可以分成移动端和服务器端两大类,也有很多人把两类称为终端和云端。

事实上,在这两类应用中,人工智能芯片在设计要求上有着本质区别。比如,移动端更加注重AI芯片的低功耗、低延时、低成本,而部署在云端的AI芯片,可能会更加注重算力、扩展能力,以及它对现有基础设施的兼容性等等。

对于这两类人工智能芯片,我们很难直接进行比较。这就好像一棵大树,它的树干负责支撑起这颗树,并且还能输送各种营养物质。它的树叶就负责进行光合作用,并生产营养物质。但是我们很难比较树干和树叶,究竟谁更有用。

在这篇文章里,我们要把讨论的范围缩小,只关注部署在服务器端的人工智能芯片的相关问题。

此外,我们还需要明确一下具体讨论哪些AI芯片。这篇文章将主要对比四种最常见的芯片:CPU、GPU、ASIC和FPGA。其他的一些相对小众的芯片种类,比如类脑芯片和量子芯片等等,就不列入讨论的范围了。

分析:一个思维框架

我们现在明确了讨论的领域和对象,也就是部署在服务器端的四种常见的芯片,接下来应该确定的是,通过什么样的方式来衡量这些AI芯片的优缺点。

在这里给大家介绍一个我们在工程实践里经常使用的思维框架。具体来说,当我们考虑在数据中心里大量部署AI芯片的时候,通常需要考虑以下几个重要的因素。

首先就是算力,也就是芯片的性能。这里的性能有很多方面,比如这个芯片做浮点或者定点数运算的时候,每秒的运算次数,以及这个芯片的峰值性能和平均性能等等。

但是,算力或者性能其实并不是衡量AI芯片好坏的唯一标准。事实上,在很多时候它甚至不是最重要的标准。那么,还有哪些考虑的因素呢?

在这个思维框架里,一共有五个衡量因素。除了性能之外,还有灵活性、同构性、成本和功耗四点。

其中,灵活性指的是这个AI芯片对不同应用场景的适应程度。也就是说,这个芯片能不能被用于各种不同的AI算法和应用。

同构性指的是,当我们大量部署这个AI芯片的时候,我们能否重复的利用现有的软硬件架构和资源,还是需要引入其他额外的东西。举个简单的例子,比如我的电脑要外接一个显示器,如果这个显示器的接口是HDMI,那么就可以直接连。但是如果这个显示器的接口只有VGA或者DVI或者其他接口,那么我就要买额外的转接头才行。这样,我们就说这个设备,也就是显示器,它对我现有系统的同构性不好。

成本和功耗就比较好理解了。成本指的就是钱和时间,当然如果细抠的话,还有投入的各种人力物力,以及没有选择其他芯片带来的机会成本等等。不过归根到底还是钱和时间。成本包含两大部分,一部分是芯片的研发成本,另一部分是芯片的部署和运维成本。

功耗就更好理解了,指的就是某种AI芯片对数据中心带来的额外的功耗负担。

比较:4种芯片,5个维度

现在我们知道了这个思维框架里的五个重要元素,那么我们就能对前面提到的四种芯片,也就是CPU、GPU、ASIC和FPGA做一个定性的比较了。这里声明一下,这些对比仅代表我个人的观点,也欢迎大家在留言里和我交流你的想法。

CPU

对于CPU来说,它仍然是数据中心里的主要计算单元。事实上,为了更好的支持各种人工智能应用,传统CPU的结构和指令集也在不断迭代和变化。

比如,英特尔最新的Xeon可扩展处理器,就引入了所谓的DL Boost,也就是深度学习加速技术,来加速卷积神经网络和深度神经网络的训练和推理性能。但是相比其他三种芯片,CPU的AI性能还是有一定差距。

CPU最大的优势就是它的灵活性和同构性。对于大部分数据中心来说,它们的各种软硬件基础设施都是围绕CPU设计建设的。所以CPU在数据中心的部署、扩展、运维,包括生态其实都已经非常成熟了。它的功耗和成本不算太低,但也还在可接受的范围内。

GPU

GPU有着大规模的并行架构,非常适合对数据密集型的应用进行计算和处理,比如深度学习的训练过程。和CPU相比,GPU的性能会高几十倍甚至上千倍。因此业界的很多公司,都在使用GPU对各种AI应用进行加速。

GPU的另外一个优势,是它有着比较成熟的编程框架,比如CUDA,或者OpenCL等等,这是GPU在AI领域得到爆发最直接的推动力量之一,也是GPU相比FPGA或者ASIC的最大优势之一。

但是,GPU的最大问题就是它的功耗。比如,英伟达的P100、V100和A100 GPU的功耗都在250W到400W之间。相比于FPGA或ASIC的几十瓦甚至几瓦的功耗而言,这个数字显得过于惊人了。

而对于神经网络的训练来说,它往往需要大量密集的GPU集群来提供充足的算力。这样一来,一个机柜的功耗就可能会超过几十千瓦。这就需要数据中心为它修改供电和散热等结构。比如传统的数据中心大都靠风扇散热,但如果要部署GPU,就可能要改成水冷散热。对于大数据中心来说,这是笔巨大的开销。

伴随着高功耗,更大的问题实际是高昂的电费开支。要知道,现代数据中心的运维成本里,电费开支占40%甚至更高。所以,对于GPU在数据中心里的大规模部署,我们通常考虑的是它所带来的性能优势,能否抵消它带来的额外电费。

ASIC

ASIC就是所谓的人工智能专用芯片。这里的典型代表,就是谷歌阿尔法狗里用的TPU。根据谷歌的数据,TPU在阿尔法狗里替代了一千多个CPU和上百个GPU。

在我们的衡量体系里,这种AI专用芯片的各项指标都非常极端,比如它有着极高的性能和极低的功耗,和GPU相比,它的性能可能会高十倍,功耗会低100倍。

但是,研发这样的芯片有着极高的成本和风险。与软件开发不同,芯片开发全程都需要大量的人力物力投入,开发周期往往长达数年,而且失败的风险极大。放眼全球,同时拥有雄厚的资金实力和技术储备以进行这类研发的公司,大概用两只手就能数的出来。也就是说,这种方案对于大多数公司而言并可能没有直接的借鉴意义。

此外呢,AI专用芯片的灵活性往往比较低。顾名思义,包括谷歌TPU在内的AI专用芯片,通常是针对某种特定应用而设计开发,因此它可能很难适用于其他的应用。在使用成本的角度,如果要采用基于ASIC的方案,就需要这类目标应用有足够的使用量,以分摊高昂的研发费用。同时,这类应用需要足够稳定,避免核心的算法和协议不断变化。而这对于很多AI应用来说是不现实的。

值得一提的是,我国在人工智能专用芯片领域涌现出来了一波优秀的公司,比如寒武纪、地平线,还有之前被赛灵思收购的深鉴科技等等。受篇幅限制,关于这些公司的具体产品和技术,这里就不再展开了。

FPGA

最后再来说一下FPGA。我个人认为,FPGA能够在这些性能指标中达到比较理想的平衡。当然了,我目前的职业就和FPGA紧密相关,所以这个结论有屁股决定脑袋之嫌,谨供大家借鉴。

在性能方面,FPGA可以实现定制化的硬件流水线,并且可以在硬件层面进行大规模的并行运算,而且有着很高的吞吐量。

FPGA最主要的特点其实是它的灵活性,它可以很好的应对包括计算密集型和通信密集型在内的各类应用。此外,FPGA有着动态可编程、部分可编程的特点,也就是说,FPGA可以在同一时刻处理多个应用,也可以在不同时刻处理不同的应用。

在数据中心里,目前FPGA通常以加速卡的形式配合现有的CPU进行大规模部署。FPGA的功耗通常为几十瓦,对额外的供电和散热等环节没有特殊要求,因此可以兼容数据中心的现有硬件基础设施。

在衡量AI芯片的时候,我们也经常使用性能功耗比这个标准。也就是说,即使某种芯片的性能非常高,但是功耗也非常高的话,那么这个芯片的性能功耗比就很低。这也是FPGA相比GPU更有优势的地方。

在开发成本方面,FPGA的一次性成本其实远低于ASIC,因为FPGA在制造出来之后,可以通过重复编程来改变它的逻辑功能。而专用芯片一旦流片完成就不能修改了,但是每次流片都会耗资巨大。这也是为什么包括深鉴在内的很多AI芯片的初创企业,都使用FPGA作为实现平台的原因。

所以说,相比其他硬件加速单元而言,FPGA在性能、灵活性、同构性、成本和功耗五个方面达到了比较理想的平衡,这也是微软最终选用FPGA,并在数据中心里进行大规模部署的主要原因,有兴趣的朋友,可以看之前的文章《FPGA在微软数据中心的前世今生》。

结语

在这篇文章里,我们讨论了人工智能芯片的主要分类,比如按应用场景,可以分成服务器端和移动端两类。我们介绍了四种可以用来执行人工智能应用的芯片,分别是CPU、GPU、ASIC和FPGA。我们还根据一个思维框架,从性能、灵活性、同构性、功耗、成本五个方面,分别衡量了这四种芯片的优缺点。

事实上,对于这个问题并没有一个唯一的答案。我们只有根据特定的“Context”,也就是具体情况具体分析,才能找到最适用于某个应用的AI芯片。而这种理性的思维方式,其实也适用于我们日常工作和生活的各种事情,这也是本文想要传达的最重要的内容。

(注:本文仅代表作者个人观点,与任职单位无关。)

更多精彩推荐
  • DeepFashion实现服装检测搭配

  • 韩辉:国产操作系统的最大难题在于解决“生产关系”

  • 直播电商都用上 AI 实时翻译了!歪果仁也能听懂李佳琦

  • 区块链赋能供应链金融|应用优势与四类常见模式

  • 蓝色巨人IBM全力奔赴的混合云之旅能顺利吗?

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

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

相关文章

AI芯片-算力相关介绍

一、参考资料 TOPS(处理器运算能力单位) 芯片的算力到底有什么用?算力是怎么评估的? NPU架构与算力分析 二、相关介绍 1. FLOPS FLOPS(floating-point operations per second)表示“每秒所执行的浮点运…

45岁以后的IT人生

相关阅读: 300本计算机编程的经典书籍下载 1、2017年初,网上流传华为公司正在清理34岁以上的员工。 "中国区开始集中清理34的交付员工,......去向是跟海外服务部门交换今年新毕业的校招员工,也就是进新人,出旧人。…

采访了12位中年程序员,听听他们的故事和人生!

点击上方“程序IT圈”,选择“置顶公众号” 工作日早晨7点半,准点开车打卡 燃财经(ID:rancaijing)原创 作者 | 王琳 编辑 | 魏佳 程序员群体曾是低调多金的代表,前段时间996话题、甲骨文大裁员等事件持续发酵&#xf…

掌握4点职场技巧,打破测试人中年危机

很多年前看到一个“老板让俩员工买土豆”的故事,可能很多人都知道这个故事。故事大概讲的是,老板让两个新人去市场上看一下今天有没有卖土豆的。 小李很快回来了,说:“只有一个农民拉着土豆在卖,我们要不要&#xff1…

KK 给年轻人的99条建议

凯文凯利(Kevin Kelly,网名 KK)是著名的科技评论家,曾经担任《连线》(Wired)杂志的第一任主编,他的著作《失控》在国内外都非常有名。 去年4月28日,是他68岁的生日。老爷子在个人网…

我们身边40岁的Android程序员的“晚年“

昨天北京市政府做了一个关于996的调研,第一时间我参与了调研,同时发到所有读者群,让大家一起发声。 不少朋友开始热烈地讨论起来,有人很乐观认为这是改变的开始,也有人觉得这就是走一个形式。不管怎么说,也算看到政府针对这个问题开始有行动了。 其实996最残酷的一点是…

有哪些送给20多岁年轻人的建议?

职场&认知洞察 丨 作者 / findyi 这是findyi公众号的第81篇原创文章 这是我在知乎上回答的一个问题,点赞和评论比较多,于是也在公众号分享下。 看见这个问题,想起了我在游戏世界中浪费的那些年,想起了我当舔狗的岁月。 想起了…

42岁大龄程序员的看法

42岁超龄程序员的飘过 不赞成大龄就过时的说话,本人完全是转行过的的,从事过的行业超过半年以上的有五种以上,短的就不说了。 过气的说法,只能说明一个问题,没有与时具进的学习,多数程序员,出校…

亲历!给大龄IT人的几点求职建议

热文导读 | 点击标题阅读 如何进阶成为Java和Android架构师? 多角度全方位优化你的RecycleView性能 分享一张牛逼的程序员职业路线图给你们! 作者/来源:公众号丨漂洋过海的渔夫 大家好,我是那个43岁下岗,面试了15家公司…

农村男女离婚,为什么感觉很多都是女人什么都带不走?

李家大屋一对结婚8年的年轻夫妻,前天离婚了。那位曾经的媳妇,对着曾经深爱自己的公婆,重重的跪了下去,流着眼泪说:“爸爸,妈妈,媳妇对您们不住了,往后孩子就累您们了。”咽咽说完这话…

为什么我不建议你给领导回复“收到”?

1 领导提拔你 从来不是因为“收到” 很多人问我,怎样才是最快的成长方式? 有人说,领导最喜欢听话的员工,把领导说的全部落实到位,就一定能够得到领导的信任。 我说,这话只对了一半。 刚入职一到两年&#x…

P3287 [SCOI2014]方伯伯的玉米田

原题链接 数据结构优化DP 前置知识&#xff1a;二维树状数组 e.g.https://www.luogu.com.cn/problem/P4514 思路如下&#xff1a; 代码如下&#xff1a; #include <cstdio> #include <cctype>using namespace std; inline int read() {int x 0, f 0; char ch …

开工大吉,大数据告诉你一个完全不一样的年

原文链接&#xff1a;点击打开链接 阿里巴巴21日发布的《2018中国人新年俗报告》显示&#xff0c;除夕夜&#xff0c;超过1亿户家庭抢春晚手机淘宝红包&#xff0c;全球2.51亿支付宝用户集齐五福瓜分5亿现金红包&#xff1b;大年初一&#xff0c;淘票票上单场购票三张及以上的用…

汉语言文学专业需要学计算机吗,读个汉语言文学专业,学了有什么鬼用?

请问你在大学读的什么专业&#xff1f;” “汉语言文学。” 你一个男的学什么汉语言&#xff1f;一聊到这&#xff0c;谈话 就没必要再下去了&#xff0c;再聊就是给自己添堵了。 对&#xff0c;我就是学汉语言文学的&#xff0c;这个让我尴尬又痛苦的专业。 高考分数查询之后&…

【Lora智慧农业系统】让农民伯伯轻松坐等收割!

一、概述 ​ 随着智能化的普及&#xff0c;利用物联网等信息技术改造传统农业&#xff0c;对农业生产要素进行数字化设计、智能化控制也快速发展了起来。为了提高农业的产量以及改善农业生态环境&#xff0c;提高生产经营效率&#xff0c;方便人们日常生活&#xff0c;我们设计…

win10将硬盘作为存储池删除读不到盘符_一篇文章让你理解Ceph的三种存储接口(块设备、文件系统、对象存储)...

“Ceph是一个开源的、统一的、分布式的存储系统”&#xff0c;这是我们宣传Ceph时常说的一句话&#xff0c;其中“统一”是说Ceph可以一套存储系统同时提供块设备存储、文件系统存储和对象存储三种存储功能。一听这句话&#xff0c;具有一定存储基础的用户应该已经大致了解了Ce…

谷款量子计算机用了多少光子,中国光量子计算机诞生 脑容量小的别看

原标题&#xff1a;中国光量子计算机诞生 脑容量小的别看 “去和古代一个使用算盘的账房先生解释&#xff0c;我们给你制造出一种可以算得飞快的全新工具(计算机)&#xff0c;于是账房先生开始想&#xff0c;这到底是一种什么样的新算盘&#xff1f;是玻璃珠子&#xff1f;还是…

html5文字开始空两格,一段文字的开头为什么要空两格

有一个简书作者&#xff0c;名叫上官皖又名官皖儿&#xff0c;是中国著名新闻人(总编辑)&#xff0c;他刚才点赞我文&#xff0c;我打开他的主页阅读他的文章&#xff0c;其中有一篇讲到&#xff0c;学生试卷分数下边两条杠究竟是怎么来的。 图片发自简书App 这是生活里一个简单…

一百个你不应该继续用Dev C++的理由

这篇文章来源于一家台湾网站&#xff0c;看完之后觉得很有感想&#xff0c;就分享给大家了。现在NOIP复赛使用的DevC4.9.9.2都是10年前的老东西了&#xff0c;还有无数的大学教授甚至要求使用Win8的学生安装DevC&#xff0c;也不管装上之后能不能用。感觉新一届码农被这个坑爹的…