上个月底,阿尔法狗的升级版 Master毫无悬念的赢了我们的柯洁,他下出来的棋被业内赞为神一样的存在,在为柯洁惋惜的同时,童鞋们不禁要问了,短短一年,它咋就由个类人,变成了神捏?
刚好最近吴军老师等几位大咖都纷纷揭秘了他的秘密武器,最大杀器无疑大家最耳熟能详的就是连谷歌自己也都在吹上天的计算神器- TPU,所以今天小A就来尝试用最最小白的语言来说一下这个TPU是咋就那么牛。
国王的命令
为了把TPU相对于另外两个大家熟悉而又陌生的名词CPU、GPU的差别讲清楚,小A斗胆虚拟一个故事场景,来分别跟大家说叨说叨:
有一个叫 阿尔法 Go的国王,在原来的王宫呆腻了,所以就跑出去巡游了,结果转着转着便觉得某地很好,直接乐不思蜀了,所以就干脆留了下来把都城给迁了。
但新都城好归好,国王却总觉得生活上少了点啥,总觉得跟原来的王宫不一样,因此就勒令三个手下 CUP、GPU和TPU去搞定这个问题。
CPU -整个旧皇宫搬迁
大名鼎鼎的CPU,全名叫做Central Processing Unit,中文翻译叫中央处理器,是个有名的的全能选手,考虑事物及其周全。
CPU为了能万无一失,它的方案说把整个旧皇宫所有的功能+人员都搬走,所以他做了下面的准备:
最大马力的牵引卡车
要把整个皇宫都搬走,不是个小工程,因此一定要用引擎转速最快(CPU主频)的牵引车头。但由于引擎的转速(CPU主频)不可能无限快,它的绝对物理上限是光速,因此CPU只能使用可能造出来的最大马力的牵引卡车。
尽可能多的卡车一起运输
一辆卡车的运输能力有限,所以为了尽快完成任务,CPU雇佣了尽可能多的超大马力卡车,停在了旧王宫门口的空地上(提高芯片的集成度),这就是现在CPU 的4核、8核,工艺是多少纳米的,指的就是这个。
CPU的难处
1、卡车头不可能无限增加
宫门门口的空地有限(据说现在最多的可以做到一块芯片上60亿个晶体管),哪怕车头与车头之间停靠的距离在小,能同时装下的车头个数也是有限的。
这就是业界纷纷在担忧的集成电路工艺的上限,目前主流的CPU芯片在14纳米级别经很久了,三星的10纳米芯片已经运用在了它的新版手机中,而intel 10纳米芯片则预计要下半年才能量产,下一代的芯片应该在7-8纳米级别,而再要往上的话,大概就要指望着量子计算了,而不是现在的基于硅晶片的计算机了。
2、工程浩大,闲杂人等太多
由于不但是车头,要搬运这么多东西,需要每个车头后面挂载一个或者几个超大的车厢,而为了能够搬运那么重的东西,在广场上还需要有大型的装卸机械,搬迁物品临时堆放的区域,各类搬运工人,指挥工人的调度,监督工人的工头,给工人端茶倒水的服务员等等,这些人和机械,占据了广场的大部分地方。
因此最后的结果就是,最多8个车头(目前CPU最多8核),拖着巨大沉重的集装箱,最高以每小时40km的速度往返进行运送。
不用小A说,这个效率嘛。。。 估计整个工程要折腾个半年十个月的。
GPU -关键设备的搬运
后起之秀GPU,全名叫Graphics Processing Unit,即图形处理器,它还有个小伙伴们更通俗的名词:显卡。他的出身是旧皇宫的CEO-首席娱乐官(GPU原先主要用于控制显示器屏幕输出的图形计算),因此对国王的娱乐喜好是非常了解的。
他分析了国王的问题以后,认为国王之所以会在新王宫觉得不舒适,主要是因为吃喝玩乐服务水准不合国王原有的习惯,因此他把整个问题简化成为了:“把吃喝玩乐服务提供相关的设备人员带走”。
因此,GPU做了以下准备:
改装专业功能车
GPU把吃喝玩乐服务归纳为两类:娱乐体系(图形处理)与后厨体系(机器学习),为了能够保证服务质量,专门把动力一般的依维柯改装成了统一的娱乐宣传车跟厨房美食车(使用统一计算架构),把零散搬运各个设备,变成了一锅端一串相关的设备(即向量计算),然后里面分别搭载相应的后宫佳丽与大厨。
更有效利用资源
由于简化了需求,因此跟CPU相比,GPU只需要少数的几个清点人头的管理人员,因此同样的空地(同样工艺、面积下的10亿个晶体管),除了必要的通道,全部用来停放运输所用的车辆(内核),最终居然可以停3000辆(英伟达P40 GPU 内可以有3000个内核)!
GPU的成果
3000辆依维柯改装的专用车,以每小时80公里速度运送,176小时以后全部人员设备到达新王宫(去年对阵李世石使用了176个英伟达的GPU)。
他最近风头很劲还有个不为常人知道的秘密就是,比特币挖矿矿机就必须要用他,用普通的CPU已经基本上不可能再挖到!可见他在跟图形处理和机器学习的运算里有多牛。
TPU -只运关键人
最后一个TPU,他其实不是啥科班做解决方案的,全名Tensor Processing Unit,即张量计算器,他的专长描述起来有点反人类,简单理解为国王身边的内务总管,负责替国王检查评估后宫人员干活干的好坏、规范宫女服务水平的(张量计算主要关注与事物之间的相似性,是矢量运算的一个特定方向)。
由于TPU是国王身边的贴心人,所以对国王这个问题的定位就更加准确,他认为国王之所以会不爽,主要是新王宫的宫女们都是新人,对国王的喜好脾气不了解,所以他决定只运原先做的好的那些宫女、厨子。
TPU的准备:
挑选那些国王一贯喜爱的宫女、厨子(即选择只处理google的人工神经网络算法相关的矢量运算-张量计算),找来只能坐人的高速跑车(在英伟达GPU的基础上更加简化了功能,所以单项上速度快一个量级)。
TPU的完胜
由于使用了只能运人且快速的跑车,一干人等,飞尘之上,10小时后全部结束(本次赢柯洁仅使用了10个TPU的算力)
故事到此也就结束了,希望童鞋们对时下媒体上纷纷大肆宣传的智能芯片有了个粗浅的了解。
总结起来,这三类大名鼎鼎的计算芯片,T在纯的芯片制造工艺上不论是主频还是集成度,并没有大的改变或者差距。
真正导致那么大差异的原因是,TPU只专注于人工神经网络算法,所以在深度学习上的效率会远高与那两者,它胜在了专注上。
功能越单一,在单一方向与领域中的效率越高,当然代价也是有的,它除了这个啥也干不了。
大家可以想想看跑车莫说拉货、多个人,就连行李箱大点都搞不定,而大卡车车头,后面的东西只要装了轮子,它都能拖着拉走,就明白两者之间各自的优势在哪里。
因此,并不能简单的去说TPU、GPU、CPU三者谁更高杆,关键在于你要拿它来做什么,或者说它们更加适合做什么。
芯片如此,做人也是一样,希望大家都能找到合适自己的、自己擅长的领域。