在芯片领域,有真货在手和没有真货,差距很大。
这也是比特币独角兽比特大陆(Bitmain)最新发布的芯片Sophon(算丰)如此引人注目的原因。
凭借其在比特币矿机方面全球领先的优势,比特大陆从2015年起进入人工智能领域。在今天的新智元AI World 2017世界人工智能大会上,公司联合创始人兼CEO詹克团发表演讲《AI驱动的又一个星球级计算》,亲自揭幕了公司首款面向AI应用的张量处理器——Sophon BM1680,这也是继谷歌TPU之后,全球又一款专门用于张量计算加速的专用芯片(ASIC),适用于CNN / RNN / DNN的训练和推理。
实际上,当比特大陆在2015年底决定进军人工智能时,就启动了BM1680项目研发。2017年4月,BM1680流片。6月底,拿到BM1680样片。现在,BM1680已支持主流Caffe model和Darknet model的编译和优化,支持AlexNet、GoogLenet、VGG、ResNet、Yolo、Yolov2等网络。
BM1680单芯片能够提供2TFlops单精度加速计算能力,芯片由64 NPU构成,特殊设计的NPU调度引擎(Scheduling Engine)可以提供强大的数据吞吐能力,将数据输入到神经元核心(Neuron Processor Cores)。BM1680采用改进型脉动阵列结构。值得一提,谷歌TPU也使用了脉动阵列结构。
Sophon BM1680内部的加速器内核采用了与谷歌TPU类似的架构,采用改进型脉动阵列(Systolic)架构技术。据介绍,Sophon运行软件的性能在基准测试和成本方面比传统GPU更加出色。
在会上,比特大陆还推出了两款新产品:深度学习加速卡Sophon SC1和智能视频分析服务器Sophon SS1,并同步发布SOPHON.AI官网,现系列产品在官网中已经面向全球发售。
比特大陆(BITMAIN)成立于2013年,是世界上最大的比特币矿机芯片公司,成功开发并量产了多款ASIC定制芯片和整机系统,拥有先进工艺28nm,16nm,12nm的集成电路全定制设计的量产经验。其中,最具代表性的是用于加密数字货币矿机中的BM芯片系列。据官方资料显示,比特大陆自主研发的第五代芯片BM1387是全球功耗最低、性能最高的运算加速芯片,单片每秒可完成800亿次的算法计算,量产规模达数十亿颗。
从研发数字货币芯片、矿机到设立矿池,比特大陆自主研发,自主布局完善产业链,而AI则是他们最新找到的应用领域。不过,ASIC设计周期特别长、成本贵、应用范围窄,研发风险比较大,比特大陆做深度学习ASIC的胆识从何而来?詹克团表示,实际上ASIC的设计比起GPU、CPU相对要简单很多,而不是更困难,而深度学习算法又非常适合ASIC实现,所以,比特大陆决定开始做深度学习芯片,并继续发挥比特大陆做高性能计算芯片的优势。
至于如何与英伟达已经构建起来的健壮软件生态系统相竞争,詹克团认为,生态不是规划上来的,而是在市场上打出来的。“首先我们要有优秀的团队,在架构设计、产品设计留下足够的空间,让自己跟旧的产品兼容——如果你自己跟自己都不兼容,就不可能是生态。”
“另一个就是产业之间要合作,今天这个时代商业的合作是大于竞争的,尤其在人工智能领域,有无数的处女地等待我们去开发,大家应该共同把这个蛋糕做得更大。更多和合作伙伴进行深度合作,包括开源,慢慢就可以把生态做起来。”
对于国内的几家芯片公司,比如地平线、寒武纪、深鉴,詹克团说,他最早是看着寒武纪陈天石老师的论文才进入芯片领域的。“大家应该基本上处于同一起跑线,我很尊敬他们,他们也做得非常好。”
詹克团说:“比特大陆虽然是新进入这个领域,但我们从2013年就开始做,如果一定要说我们有什么优势,那就是我们可能会跑得比较快一点,毕竟我们的公司的市场管理、研发管理、财务,还有很多东西我们已经在虚拟货币市场上经过战争般的洗礼,虚拟货币这个市场又是发展非常快速的市场,所以相对来说比特大陆可能会动作会更快一点点。”
AI驱动的又一个星球级计算
以下是比特大陆联合创始人、CEO詹克团在新智元AI World 2017世界人工智能大会上的演讲:《AI驱动的又一个星球级计算》。
詹克团:谢谢新智元的大会,非常周到。前面几位老师的分享非常精彩,学习了很多东西,接下来我要给大家报告的题目是《由人工智能驱动的又一个星球级的计算》。
首先,我介绍一下比特大陆的情况,2013年成立,在过去的几年我们主要都在做虚拟货币方面的芯片,目前全球的员工大概1000多人,分布在世界各地的十多个办公室,国内的几个主要城市,包括香港,国外的美国硅谷、以色列特拉维夫、荷兰阿姆斯特丹、新加坡都有我们办公室和研发工程师。
我们用全定制的芯片设计方法去设计高速低功耗的芯片。在今年16纳米节点上,我们芯片出货量已经超过10亿只,我们商业模式非常简单,最核心就是卖比特币等虚拟货币的挖矿机,在比特币、莱特币这些主要的虚拟货币市场上,我们的占有率应该是超过80%,甚至可能超过90%。除了研发和销售矿机,我们还会去建设和部署大型的数据中心,我们建设了上百兆瓦的数据中心。
做成比特币后,拿着锤子找钉子,发现深度学习计算芯片是好钉子
在比特币上小有成就之后,我们感觉自己手里好像拿着一把锤子,到处看哪里都是钉子,就在找钉子的过程中,我们发现深度学习是非常适合用锤子对付的钉子,所以我们开始做这个深度学习计算芯片。
首先,我们来说一个市场容量比较小的机会,就是互联网的小视频。今天,全球有34亿个互联网用户,假设每人每天产生20分钟的视频,假设每秒钟的视频取两帧出来做分析,保守一点,1帧需要0.1T做计算,就是10个Exa Flops。
下面我们再看规模大一点的应用,依然假设每个人每天30分钟的语音,每一秒钟的语音大概需要用1T的算力来做处理,这样算下来就是70个Exa Flops。这已经是比特币全网算力将近一个数量级的提升。
在这两个互联网小视频里面,我们都做比较乐观的假设,并没有考虑语音和视频在时间和空间上的不均匀性。所谓时间上的不均匀,就是说我们没有办法假设全球的人都在24小时里面均匀分布着去说话,然后录视频,但我们依然这样区别假设。
其实,大部分情况下,大量的人会聚集在某一个晚上,或者聚集在某一个集群里面,那过一会又切换到另外一个集群,这种空间上的不均匀性我们也不会考虑。
我们再看一个大一点的需求,左边这个图,Chris Rowen教授刚才也分享了这张图,这是他给我的。橘色的线表示全球的摄像头的数量,蓝色的线代表全球的人口,2015年摄像头超过了人口的数量,并且呈指数级上涨。也就是说,在2017年全球的摄像头数量达到了140亿只,然后年复合增长率200%。
这里面我们抽取一小部分来做分析,就是这标红色监控的摄像头,在2017年,监控摄像头仅占所有摄像头的3%,大概也就是4-5亿只的样子。一路的摄像头用0.5T的计算,2017年就需要210个Exa,用来处理全球的监控摄像头。按照现在的趋势,监控就成了一个很合理的硬需求,所以我们做这样一个假设是合理的。这是7×24小时在计算的,这200多个Exa就是比特币网络两个数量级提升。
前面举了三个例子,加起来的计算量大概是300个Exa,这300个Exa是什么概念?这里我列了人类已知的全球四大计算种类。我们先看一下PC和笔记本,PC芯片全球年出货是2.5亿只,假设每个CPU是两个core,主频2.5GHz,加上PC和笔记本寿命是2-3年,应该是有3.8个Exa。手机出货量是每年15亿只,假设使用寿命是两年,那么这个全球的手机折合下来就是9个Exa,比特币我们刚才讲了10个Exa,刚才我们讲到了300个Exa跟这一比,已经是两个数量级提升,这是非常有意思的东西。
这么大的计算能力,它的功耗又会是什么样子呢?下面我们看一下功耗,首先我们还是看一下PC笔记本,假设PC和手机的时间都是30%,不用的时间是70%,假设server是80%,还有比特币,就是用我们最好的机器来做假设,大概是100兆瓦左右。这样算下来,应该在1000-3000个兆瓦之间。这时我们把Deep Learning的功耗加进来,假设10瓦1T这应该是很容易做到的,加3000个兆瓦,是什么概念?这是我们卢宇彤老师他们做的天河二号100倍的规模。
前面举了三个例子,显然很多东西是没有被列举进来的,这里漏掉了最大的一个东西,就是这个智能驾驶,根据IHS的数据的话,到2035年会有1000多万辆的自动驾驶汽车,假设每秒钟会产生大概200个MB/sec数据,再加上4个小时,就是1000多个Exa,又进了一个数量级。但是时间到了2035年,我觉得在1000个Exa还算是小事情,不算是大的事情。
摩尔定律走向终结,从现在往后看,我们是否还能实现性能1000倍的提升?
在人类过去的30年里面,对于超级计算来说,基本上都是每十年翻1000倍,从今天往回退的五/六年都是我们中国人拿第一,例如天河二号。
随着摩尔定律的减缓,甚至终结,从现在开始往后面看十年,我们是否还能实现1000倍的性能提升?这个问题值得我们做计算的朋友去思考。对于深度学习计算,最大的挑战依然是功耗,包括大规模集群的功耗,芯片的功耗。另外一个很大的挑战就是Memory wall,我感觉都快穷途末路,现在有这种在跟Memory wall结合在一起的计算,可能也不能解决所有的问题。
肯定算法上面要出现更多支持并行处理的计算。此外,到目前为止,编程软件技术都不是特别成熟,这一块我觉得也值得学术界和产业界一起来做更多的探索。
深度学习做的,实际上是多维矩阵计算,云端深度学习往张量(Tensor)处理靠拢非常自然
深度学习要做什么事情?它要做的计算本质上是一个多维的矩阵计算,因此我们可以说,所谓的Deep Learning计算,站在做芯片的视角来看,非常简单,就是做多维矩阵的各种计算。怎么来做Tensor的计算?这么大的计算量在计算机的体系结构上面要做一定的创新,传统的CPU显然不合适。因此,从各种产业和论文都可以看到,其实深度学习用在Cloud端高性能芯片的体系结构,都已经慢慢往Tensor架构靠拢。
从Cloud端看Deep Learning计算非常简单,一个是性价比和能耗比,对于Deep Learning来说,确实在这两个方面会表现的相当好。因此对于云端的Deep Learning计算,我认为谷歌提出“TPU”张量计算处理器,Tensor这个名字是很合适的。
终端深度学习更加困难
但Deep Learning计算还有另外一种芯片应用,就是终端,我个人认为这是更加困难的,做这种架构由于不得不受限于单芯片的功耗,不能太大,一般来说这种芯片很难超过10瓦,所以设计这种的体系结构是非常有挑战的一件事情。
在这种芯片里面,一般来说,CPU是一定要参与到数据的搬运和计算任务的调度里面去的,所以刚才前面寒武纪也讲到了它的市场方向,我觉得寒武纪确实是一家非常伟大的公司,当年进入这领域就看着他们兄弟两个的论文进去的。他们现在依然是去啃Deep Learning这个领域里面最难啃的这块骨头,真的是非常厉害。
谷歌TPU重拾脉动阵列,计算机架构发展循环往前
下面我们来看一下什么是Systolic,Systolic就是脉动阵列,它用来处理Deep Learning运算有得天独厚的优势,用硬件实现多维的数据搬运和计算任务的调度,就可以获得非常高的性能,比较适合用在云端做加速。我们都知道谷歌的TPU是基于Systolic的架构,但Systolic并不是一个太新的东西,Systolic的年龄有可能比我都大。我随便查了一下,能查到的比较早的就是1984年的文献里面,就把Systolic描述得比较清晰,之后也有一些论文对Systolic做各种各样的描述。
其实计算机的发展一直都是这个样子,每次有一个新的计算任务出现的时候,就会有很多的专家教授还有工程师去提出各种各样新的解决方案来应对这个问题。
比特大陆第一代Deep Learning计算的芯片发布
下面给大家报告一下我们做的产品,BM1680是我们第一代Deep Learning计算的芯片,我们从2015年的年底开始设计这个芯片,在2017年的4月份推出,2017年6月份经过前面几个月的测试开发,今天说这个芯片已经可以开始量产了,或者说个别指标再快一下就可以量产了。
这是用我们芯片做的深度学习加速卡,在这个卡上面我们把这些Googlenet、VGG等等这些经典Net也都跑起来了,这是对于性能指标,如果大家比较关心的话,可以上我们的网站看一下具体的资料。
这是用我们芯片做的双芯片卡,功耗也基本是加倍的。这是把卡插在里面做的这样一个Server,在这Server上面,我们实现人脸检测、行人的检测和属性的分析、人脸识别。
下面我们给大家做一下演示。这个演示做深度学习算法的大家都很熟悉,没有什么新鲜的,都是车在跑,然后用一个框框把它框住,这里我告诉大家一个秘密,我们今天这个新鲜之处,不同之处在哪?就在于这里的算法,凡是涉及到神经网络计算的这些算法,全部都是跑在我们前面介绍的BM1680这个芯片上面的,这是唯一的秘密,其他的都是一样的。
下一个环节是人脸识别的演示,早上有在我们的展台做过注册的朋友,一会可以上来充当一下志愿者,看能不能认出来?谢谢!已经认出来了。
下面进行最后的广告环节,首先我给大家报告一下,我们后面的第二代芯片1682下个月发布,也是采用16纳米工艺,功耗差不多还是30瓦,计算能力大概是3T。第三代芯片会在明年的9月份发布,会采用12纳米工艺,功耗还是涉及在30瓦,计算能力到60T,应该没有什么问题。这个芯片我们会只持更多的数据精度,把16位和8位给支持起来。再往后第四代、第五代我们还会努力的遵循快速迭代、精益求精这样一个路子,继续往下,一代一代的把它做好,希望大家跟我们有更多的合作。
比特大陆在Deep Learning,在AI领域的使命,或者说我们的目标,和我们在数字货币上面做的事情一样,通过一点一点的、一代又一代的芯片,一代又一代的产品不断迭代,把产品做到极致,做到最好,服务好需要用到深度学习加速服务的用户和应用。谢谢!
原文发布时间为:2017-11-8
本文作者:AI World 2017
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号