传统上,编写自定义ASIC和超级计算机的程序需要极高的专业度。而对于CloudTPU而言,可以使用高级TensorFlowAPI进行编程,谷歌开源了一系列高性能Cloud TPU模型实现,比如ResNet-50(https://cloud.google.com/tpu/docs/tutorials/resnet)和图像分类模型(https://github.com/tensorflow/tpu/tree/master/models/official),用于机器翻译和语言建模的Transformer(https://cloud.google.com/tpu/docs/tutorials/transformer, https://research.googleblog.com/2017/08/transformer-novel-neural-network.html),用于目标检测的RetinaNet(https://github.com/tensorflow/tpu/blob/master/models/official/retinanet/README.md)。
云TPU同样简化了对机器学习计算资源的规划和管理。可以为自己的团队提供顶尖的机器学习加速,随着需求的变化动态调整自己的容量。相比于花费资金、时间和专业人才来设计、安装、维护一个实地的机器学习计算群(还需要专门化的供能、冷却、网络和存储),我们可以从谷歌多年以来优化过的大规模、高集成的机器学习基础设施受益。另外,谷歌云服务还提供了复杂的安全机制和实践的保护。伴随谷歌云TPU,它还提供大量的高性能CPU(包括英特尔 Skylake)和GPU(包括英伟达的 TeslaV100)。
有意思的是,谷歌宣布对第二代TPU的全面开放让英伟达警觉的神经再次紧绷。可以认为,谷歌是英伟达在人工智能算力市场最大的竞争对手。早在谷歌公布第一代TPU之时,英伟达CEO立马抛出市场上最好的GPU计算卡与TPU的性能对比图。而随着第二代TPU的发布及其在人工智能专有领域,特别是在搭载了谷歌TensorFlow框架的深度神经网络训练效率方面的表现,外界越来越认识到二者间的差距逐渐缩小。就在第二代TPU的进一步进化Cloud TPU开放测试之时,它通过TensorFlow 编程模型提供的算力已达180 tflops之巨,谷歌宣称一个CloudTPU能在24小时内对ResNet-50模型训练达到75%的精度。而180tflops的浮点操作也达到了超级计算机的算力级别。
谷歌在人工智能领域的雄心十分明显,从一开始对TPU的只字不谈到后来开放上云,谷歌已逐渐认识到算力市场的巨大潜力并渴求牢牢抓住这一契机。谷歌的人工智能生态系统在过去两年间为自家旗下的产品(包括智能语音与搜索图像识别、谷歌翻译)以及其他互联网应用的表现上提供了算力优势,TPU+TensorFlow+云训练的模式让谷歌获得了迄今为止其他科技巨头尚不具备的人工智能核心竞争实力。这一点已经引起其他科技公司的注意,他们认为,各行各业的公司都有自己的数据驱动业务,算力不应该被掌控在一家巨头手上。AI芯片崛起的背后是算力的战争。
人工智能与大数据技术导论
30