百度投资47亿建设的阳泉数据中心
《华尔街日报》5月12日报道,百度近日表示已在人工智能基准测试中取得了全球最佳成绩,其研发的超级计算机Minwa扫描了ImgaeNet数据库里的100多万张图片,并能按照先前制定的标准,自动将其分为1000多种不同的类别,错误率仅为4.58%,而人眼在ImageNet物体分类测试中的错误率约为5%,微软和谷歌分别为4.94%和4.8%。同时百度还透露正在通过超级计算机,进一步完善百度搜索引擎的中英语音识别系统。未来18个月,百度计划研发出一个更强大的设备,能够进行每秒7千万亿次的计算。一旦成功,该设备将跻身全球十大超级计算机计算机之列。信息量比较大,我更关注的是,在云计算领域建树颇丰的百度,进军超级计算机是否画蛇添足?
超级计算机与云计算之争
先看看什么是超级计算机。百度百科显示,
超级计算机指能够执行一般个人电脑无法处理的大资料量与高速运算的电脑,其基本组成组件与个人电脑的概念无太大差异,但规格与性能则强大许多,是一种超大型电子计算机。超级计算机是计算机中功能最强、运算速度最快、存储容量最大的一类计算机,多用于国家高科技领域和尖端技术研究,是一个国家科研实力的体现,它对国家安全,经济和社会发展具有举足轻重的意义。是国家科技发展水平和综合国力的重要标志。
在没有云计算之前,超级计算机代表着一个国家的科研实力,围绕超算出现了跑分竞赛,核心指标是计算效率,即每秒的浮点运算次数。中国超级计算机在2009年开始在国际上崭露头角,天河1号、天河1号A相继稳定世界TOP500榜,天河2号已连续三次夺得超级计算机TOP500竞赛冠军,并且在下一次竞赛中依然稳操胜券。在现在的超级计算机排行榜中,天河2号计算速度为33.86千万亿次/秒,第二名是位于美国能源部(DOE)橡树岭国家实验室中的Titan,17.59千万亿次/秒,与天河2号差距甚大,百度7千万亿次/秒的超级计算机面世,在这个榜单中只能屈居第六。
云计算出现之后,超级计算机的不少计算场景都被前者所瓜分。超级计算机单机运算能力非常惊人,云计算方案则是基于多台计算机,基于Hidoop为代表的集群计算系统进行并行计算,Hidoop负责计算任务分发调度归总。两个方案中真正负责计算的都是处理器,一般是CPU,百度已开始尝试GPU。超级计算机将多个处理单元集中在一起减少任务剑通信延迟,云计算要跨越不同计算机,乃至跨越不同机房进行协同计算,存在任务间通信延迟。
超级计算机更适合密集型计算场景,比如武器研发、飞行模拟、气候模拟、生育模拟和基因测序。不过从阿里云与华大基因、气象局合作可以看出,就算是密集型计算云计算依然有用武之地。超级计算机如果能够完成云计算的任务自然不应该被替换,不过它有着几个显著的曲线:成本和能耗。天河二号总造价成本便高达18亿元人民币,在满载情况下,天河二号每天耗费是40万人民币,考虑到超级计算机通常负载率不会超过60%,通常耗费还相应降低。如果再加上软件研发和升级、硬件维护和折旧、研发团队人力成本这些,年运转成本将十分可观。因此,往往只有政府支持的实验室才肯投入超级计算机研究,实际上TOP10超级计算机几乎都来自政府或高校背景实验室,只有少数是IBM这样的企业参与。
百度为何做超级计算机Minwa?
网上曾经出现过一篇《为跑分而生的超级计算机》,质疑超级计算机的投入产出比太高,人们对我国是否应该继续投入超级计算机莫衷一是。现在百度却高调进入这个领域,确实让人觉得有些意料之外,毕竟百度在云计算上已经投入巨大并且做得很好了。它在阳泉建立了亚洲最大数据中心,在GPU计算、绿色计算上都取得了领先。能够证明其计算实力的还有两点,一个是百度大脑,这是一个人工智能引擎,李彦宏曾对外表示它已具备3岁小孩智力,底层驱动正是百度云计算平台;另一个是百度大数据引擎,这是全球首个开放式大数据引擎,百度已将它的大数据处理能力开放出来。
百度在大力投入云计算的同时投资超级计算机,自然不是为了前面所说的“跑分”,进入全球第7、很难做到第1,与天河2号竞争这不符合百度的风格和利益。我认为有以下几个原因促使百度进入超级计算机:
1、科研的需要。超级计算机在商用上还缺乏有说服力的竞争力,不过在科研上它却有着不可替代性,尤其是大规模、实时数据处理。百度在研发上投入力度前所未有,在中国同行中名列前茅,已连续6个季度增长率超过10%,其中很大部分放到了语音、图像、大数据这些需要强大计算能力的技术上,有了超级计算机或许可以做得更好,正如开篇所提,百度在人工智能基准测试取得全球最佳成绩正是基于Minwa。这些技术最终目标是要让百度的产品尤其是移动搜索,变得更加智能,而百度已立志成为一家人工智能公司。
2、技术的突破。人们在过去太过于关心超级计算机的运算能力这样的指标,对于它的能耗、成本却鲜有关注,同时也一直没有太大的突破。百度的超级计算机Minwa很可能是基于GPU计算,这比CPU更节能,且计算能力更强——只是对计算任务有所要求,它更适合图像处理。百度此前已在阳泉数据中心采取GPU计算,百度首席科学家吴恩达(Andrew Ng)是人工智能领域的权威学者,他在一个实验后的结论是,三台服务器共装了12个GPU就可以达到12 万亿次/秒的运算能力,远远超过谷歌1000节点CPU群的运算能力。因此,百度下一代超级计算机很可能采取了GPU计算,进而在能耗和成本上有所突破。英伟达早在2011年就表示将会使用自己的高端GPU和新的GPU+ARM芯片在西班牙制造一台新的超级计算机。
3、超级云计算。将普通服务器组合成集群的云计算平台可以与一台超级计算机实力相当,倘若将超级计算机连接起来构成集群,计算能力则会指数级增长。这看上去还有些痴人说梦,不过未来超级计算机组网进行计算,形成超级计算机集群,超级云计算平台应该是必然结局。百度如果要大力发展云计算和大数据技术,很可能会进行这类方向上的尝试,不过这得拥有自己的超级计算机。
4、客户的需求。百度已推出大数据引擎旨在为第三方开发者尤其是大中型企业提供大数据处理服务,同时百度还有PaaS形态的云计算平台。它的一些潜在客户,比如华大基因、中国气象局、动漫企业等等很可能有需要超级计算机才能完成的计算需求,百度拥有自己的超级计算机并将之与云计算平台集成将可以满足所有计算需求。天河1号在2011年将尝试过通过云计算平台将冗余计算能力开放出来做动漫渲染。
最后,不得不用那句俗套的话来总结本文:意料之外,情理之中,这可以回答百度为何要做超级计算机这个问题。