5 月 23 日,柯洁对战 AlphaGo 首场比赛以 AlphaGo 领先四分之一子结束。
昨天,人机对战第二场,柯洁认输,AlphaGo 中盘获胜将比分改写为 2:0。
今天,AlphaGo 力克五名围棋高手的团队攻势,再取一胜。
5 月 24 日的人工智能论坛上,DeepMind 创始人 Demis Hassabis、科学家 David Silver 以及 Jeff Dean 分别发表演讲,针对升级版的 AlphaGo 进行详细解密。除了算法上的改进外,他们特别强调了谷歌云和 TPU(向量处理单元)等计算资源上的改进对 AlphaGo 的巨大提升作用。
在论坛的演讲中,David Silver 明确表示:与李世石对战的 AlphaGo Lee 版本使用了 50 个 TPU,搜索 50 个棋步为 10000 个位置/秒。
打败柯洁的 AlphaGo Master 是在一台单机上运行的,物理服务器上载有 4 个 TPU 在运作。AlphaGo Master 比 AlphaGo Lee 强三个子。AlphaGo 创始人哈萨比斯称:“本次对弈的新版 AlphaGo 计算量小了十倍,自我对弈能力更强,运行起来更简单,更好,功耗也更小。”
而 AlphaGo 在这一年算法上并没有彻底的改变。总体来说,是不断的在改进。这次 Google 精心策划乌镇围棋比赛,很大程度是在推销 TPU ?谷歌母公司 Alphabet 董事长施密特在乌镇峰会现场说:“在中国,BAT 有大量的用户群,都想为用户提供更优化的服务,如果使用 TensorFlow 会变得更好,谁用 TPU 都会变得更好。”还表示,亚马逊和苹果都用过他们的产品,有很多有效的案例。
谷歌披露的 TensorFlow 处理器单元架构的细节
本月早些时间谷歌进一步披露了更多关于一年前发布的 TPU 的细节。TPU 项目和团队的高级架构师 Norm Jouppi 表示,与 Nvidia K80 和 Haswell E5-2699 V3 等主流高性能处理器相比,使用 TPU 执行神经网络计算可以获得成数量级的性能增益。Jouppi 说:
“据估计 TPU 会比 K80 GPU 和 Haswell CPU 快大概 15 倍到 30 倍……在 6 个神经网络用例中,有 4 个在 TPU 上是内存或带宽受限的,假如让 TPU 使用和 K80 GPU 一样的内存系统,那它就可以比 GPU 和 CPU 快 30 到 50 倍……在一个标准的效率指标功耗效率比(TOPS/Watt)测试中,TPU 的测试结果也比传统处理器高 30 到 80 倍。”
最早定制 ASIC 的动机来自于使用谷歌翻译 API 的计算需求,注意,假设这个地球上的每台手机每天都使用谷歌翻译 API 三分钟,那就得多搭建好几十个数据中心。
架构白皮书上记录了把 K80 和 E5-2699 作为计算核心进行一定范围内的神经网络计算时,相应的实验设计、数据收集和分析等细节。TPU 现在不是用于训练神经网络的。它最早就是用作矩阵乘法器,通过矩阵乘法器、板载内存和缓存系统一起,实现神经网络的多层功能。其中包括在各层之间保存感知器的输出和状态等,这些在 MLP 和 CNN 等内部都广为使用。
但 TPU 并不仅仅限于神经网络的实现,它是通用的,它的架构是基于 Jouppi 和团队研究的全面用例的。这么做的部分动机就是要支持 TPU 的按时交付,还有必要的灵活性来优化矩阵浮点运算,而这也是芯片要执行的最基本的运算操作。而把 TPU 和包含了应用程序所需的其它部件的 CPU/GPU 架构结合起来很方便,只需要用上 PCIe 总线就好了。
这样的架构让 CPU/GPU 可以在神经网络的计算之外执行训练或 TensorFlow 程序的任意部分。比如程序要提前加载数据,或者要把指令输入 TensorFlow 运行等等,这些都要由 CPU/GPU 管理并发给 TPU。从这方面看,TPU 非常像显卡或 FPU。
“TPU 像 CPU 或 GPU 一样都是可编程的。它并不专为某个神经网络模型设计,可以在多种网络上执行 CISC 指令(卷积、LSTM 模型、大型全连接模型等)。所以它是可编程的,但使用矩阵作为原语,而不是向量或标量。”
就像 CPU 和 GPU 架构的时变优化特性一样,TPU 具有确定性的特性,在功耗效率比的测试中 TPU 优于基准芯片及每秒千万亿次的超级计算机。据测试数据来看,TPU 在功耗效率比的测试中性能超出一般处理器 30 到 80 倍。