今天谷歌用TPU、TPU Pods、TensorFlow Lite轰炸了媒体圈,可你知道谷歌宣称的TPU 180TFLOP并没有那么厉害吗?TPU Pods所对比的GPU也并非最新的版本。TensorFlow Lite在参数上并不一定竞争的过Facebook。
这篇文章从另一个角度带你理解谷歌这些技术背后的故事。
就在今早,多位从事人工智能机器训练的一线技术大拿在接受AI100采访时,均表示,昨晚睡得很好,并没有半夜爬起来守着看谷歌的I/O大会。
而就在上周,就在英伟达掌门人老黄做keynote的当晚,这些人曾硬生生爬起来,将演讲和所有的细节听了个遍,并在微信里通宵畅谈。
也许,这能从侧面反映出,谷歌的这次大会,并无太多的期待可言。
事实上,的确如此。
从今早开始,一直到现在,所有的媒体几乎都在第一时间跳出来,高呼谷歌I/O大会的九大产品,五大亮点,对读者进行了一翻狂轰乱炸。
当然,也有媒体提到这次大会略显平淡。
不过,看完所有媒体的报道,不管是资讯,还是所谓的解读,都差点意思,并没有点到一些实质性的问题。
笔者在采访了一圈一线技术大拿,又对各种资料进行了地毯式搜罗的基础上,整理出一些有意思的点,希望能给各位提供点不一样的料。
180就牛逼了?
去年,谷歌在他自己的I/O大会上宣布了自己研发的TPU——专门为机器学习而定制的芯片。
好好的一个互联网公司,干嘛要干这些硬件呢?当然是觉得现有的GPU芯片用在自家的深度学习框架Tensorflow上,性能不给力。所以,自己动手造芯片了。
说白了,Tensorflow这样的软系统,才是谷歌要打的关键战役。为了攻下这个堡垒,干脆再下点苦功夫,兵器也一起造得了。
有了这个TPU,谷歌开始顺理成章地用到了自家版图的方方面面,阿尔法狗啊,搜索啊,谷歌翻译,谷歌相册,一脑门全上。在这些服务或者软件背后的机器学习模型里,全跑TPU。
不过呢,谷歌毕竟不是造兵器起家的,它的第一代TPU,并没有太引起行业内的轩然大波。
于是乎,就在今天凌晨,谷歌又宣布其第二代TPU全面投入使用,并且部署在Google Compute Engine平台上,可以做图像识别、语音识别,机器翻译等等。
来看看这个所谓的第二代TPU都有啥不同。
谷歌新的TPU包括四个芯片,每秒可处理180万亿次浮点运算。
再看看英伟达上周刚刚推出的GPU Tesla2 V100,每秒只能达到120万亿次浮点运算。
180 vs 120,谷歌更牛逼?
等等,先别急着下结论。
谷歌vs英伟达,相当于谷歌派出四个青年,殴打英伟达一个壮年。即使打赢了,就真的能说明谷歌青年体力比英伟达壮年的体力好?
不见得吧。
既然谷歌的第二代TPU是由四块单芯片构成,也就是说,每个单芯片每秒只可处理45万亿次浮点运算,单对单,45vs英伟达的120,还是英伟达强悍一些。
这里,可能你又会有一些疑问:能将四块单芯片并起来,组成一个整体,这个技术本身就很牛啊。
确实!
芯片高速互联,这本身就是一项很厉害的技术了。只不过呢,其难易程度,赶不上将单个芯片本身性能做大。
所以呢,可以预见,英伟达将在不久后,推出自己的单卡双芯片。每个芯片照120来算,双芯可达240。就算打个折扣,怎么着也能达到每秒200万亿次浮点运算,直接秒杀谷歌今早推出的TPU毫无压力。
再者,很多情况下,受限于宽带,谷歌TPU每秒180万亿次浮点运算的峰值,根本达不到。
Anyway,在我们一个劲儿讨论参数时,已经有点跑偏了。
事实上,每秒多少多少次浮点运算的量,这些都是噱头。就好比手机大战中的“不服,跑个分?”,跑分高,就一定好用吗?不见得!
同样,芯片的性能好坏也是由多个纬度来体现,某一项指标的提升,并不能让芯片的性能整体成比例提升。只有所有指标一起变强,才可能让芯片的性能成比例提升。
而在所有的纬度中,最底层最本质的决定因素,应该算架构。正是架构从最底层决定了这个芯片在性能和功能方面能做到什么程度。
早期谷歌第一代TPU采用脉动架构,这个架构相比于英伟达的Volta架构,实在算不上有竞争力。如果谷歌第二代TPU也采用如此构架,则很难真正意义上对GPU进行突围。
再者,就目前来看,GPU的生态系统足够强大,包括各种库、框架在内的配套很完善,甚至配套的集群,都可以说是目前市面上所有芯片最为完善的。
而反观TPU,无论是库、框架,还是配套集群,都显得势单力薄。
不过,关于谷歌此次TPU的具体细节,I/O大会并没有公布太多,其具体的性能、架构、功能等,还需等些时日,才能得知。
所以,谷歌在TPU上虽然放了个大招,但究竟后劲如何,还真是不好说。
不过,值得肯定的是,谷歌的第二代TPU相比于第一代,功能上确实更强大了。
第一代只能用于部署,第二代则既能训练,又能部署。
这一点倒是跟英伟达的GPU平齐了。
一芯两用,相当于成本摊低了,成本低销量自然能上去。
TPU Pods,百度一直想干的事
谷歌玩组合简直玩得炉火纯青,前儿是将四个芯片组成TPU,后儿是将64个TPU组成一个超级计算体,美其名曰“TPU Pods”,可提供大约每秒11500 万亿次浮点运算能力,大大加速机器学习模型的训练。
谷歌CEO劈柴叔在大会上自豪称:公司最新的大型翻译模型,如果在32块性能最好的GPU上训练,需要一整天24小时;而要是用谷歌的TPU Pods,只需动用其1/8的规模,6个小时即能完成同样的翻译训练。
当然,这里要指出的是,谷歌所拿来对比的GPU可不是最新的基于Volta架构的GPU,而是老版本GPU。
如果拿32块新版本的GPU进行训练,可要不了24小时。
不过,总的看来,用技术大牛的话,谷歌的这个TPU Pods,正是百度一直想做却没做到的高密度集群,一个超过万万亿次的集群,快赶上高性能超级计算机的能力了。
看来,谷歌为了它自家的模型,真是砸了血本要干这一系列的配套工作。
TensorFlowLite,未来的大趋势?
谷歌I/O大会透露出的一个最明显的信号,就是未来会在AI上重金投入,并且将AI技术尽可能应用到各类产品,让人们真正享受到AI带来的便利。
为了赶紧将AI的乐趣带来尽可能多的人,谷歌推出了一个新框架:TensorFlowLite。
这是什么呢?简而言之,就是原TensorFlow的移动手机版本。
TensorFlow是在2015年11月推出,其便捷灵活,性能稳定,很快便在开发者人群中走红。
如今,移动版的推出,就是方便更多的人,在只使用手机的情况下,也能动用机器学习,去处理语音识别、图像搜索、增强像是等等功能。
也就是说,装了TensorFlowLite,以后手机上跑AI 应用,也不会卡,速度也会大幅提升。
除了速度快,TensorFlowLite还有一个好处就是,保护隐私。
有了它,你压根不需要连接上网,数据根本不需要经过云端完成处理,因此,数据永远不会离开你的手机。
将深度学习的框架放到移动端,这应该算是未来5年的大势所趋。
这可是块大蛋糕,没人抢?
当然有。
想在这块分一杯羹的,除了谷歌,还有虎视眈眈的Facebook。
Facebook早在去年11月就宣布在移动端布局Caffe2Go,它的战术比较成功,先抛出一个艺术滤镜的诱饵让用户使用。而这个艺术滤镜正是由深度神经网络的机器学习所驱动。用户想要转换图片和视频,就必须使用Caffe2Go架构。
如果未来谷歌的TensorFlowLite想在移动端站住脚,也不妨学学Facebook,多从有趣的AI APP入手,让用户能主动使用,这路是可行的。
从技术上来看,对于TensorFlowLite这样的架构,可以从三个方面来判断优劣:速度、模型、包大小。包大小又分为模型大小和程序包大小。
不过对于这些细节,谷歌并没有太多透露。其公开源码,可能还需等些时日。等到公布,技术人员们就可以兴奋开始将其与直接竞争对手Caffe2Go进行一些参数上的对比了。
总的来说,TensorFlowLite最大优势在于,其绑定了谷歌Tensorflow这棵大树。
试想,拿Tensorflow训练完模型,就能直接完成,省得再转了,这确实方便。
有没有亮点也好,蓄势待发也好,反正谷歌是认准了AI这个方向不会动摇了。
那么,劈柴叔其大声高呼得AI First会把人们的生活尽快带入这个新的时代吗?