Google 所提供的网络服务可能是地球上最大的计算机网络,这套网络拥有 15 个仓库大小的数据中心,并分布在四块大陆上。
你可能会认为这个网络已经足够强大,日常使用 Google 自家的各种服务完全没有问题,但 Google 并不这么认为,Google 的工程师们也不这么认为,他们担心这套已经非常庞大的网络有一日会不堪重负。
为了省钱,自己做芯片
大约在六年前,Google 为其 Android 系统加入了新的语音识别技术,也就是我们熟悉的 Google Now 和 Google Assistant.
而除了工作就是思考的 Google 工程师突然想到,如果世界上每个 Android 手机用户每人每天使用 Google 的语音搜索服务 3 分钟,那么所需要的数据中心大小至少是现在的两倍之多,如果用户更加频繁的使用 Google 语音服务,那么当前的数据中心将不堪重负。
此外,Google 当时已经开始研究使用深度神经网络和复杂的数学系统来开发其语音识别服务,这使得其语音服务可以通过分析大量的数据来学习一些特定的任务处理能力。而这种机器学习形式,不但重新发明了语音识别,还促进了图像识别,机器翻译,互联网搜索等技术的发展,但它对数据处理的能力要求非常苛刻。
由于使用深度神经网络学习技术,Google 看到机器的识别错误率下降了25%,但是这种进步需要更强大的数据处理能力,也就是说,需要更多的数据中心。
数据中心不够用,那就多建几座喽?可是建这么多数据中心是要花上不少钱的,像 Google 这种财大气粗的公司也不是拿钱不当钱,精打细算过日子的理智心态也是有的。
因此 Google 的并没有豪掷千金将其数据中心的占地面积翻番,而是专门为运行深度神经网络研制了自家的计算机芯片—— Tensor Processing Unit, TPU(不是那个用来做手机壳的材料……)。在 TOPS / Watt 测试中,TPU 的性能高于标准处理器 30 到 80 倍,这个测试结果非常的可观。
一颗芯片顶一座数据中心?
Google 在去年五月首次透露了自家这款定制处理器,但并没有过多的透露其细节。现在,负责 TPU 芯片研发的 Norm Jouppi 和他的团队发表了一篇文章,详细说明了该项目,并解释了 TPU 的运行方式以及对一些特殊问题的解决方案。
Google 的 TPU 芯片仅用于执行神经网络服务,只是在用户使用 Android 手机启用语音指令或搜索指令的时候才会运行。由于神经网络拥有自主学习的能力,因此不用特意训它。但是,Jouppi 说,TPU 除了能让神经网络能够自主学习和高速运算外,最重要的是,Google 不需要为担心数据运算能力不足而多建额外 15 个数据中心,这样便节省了大量的成本。
外媒 Wired 认为,TPU 将为计算机芯片领域带来重大转变。由于 Google,Facebook,微软等互联网巨头使用深度神经网络构建其服务的动作越来越多的服务,他们都需要专门的芯片来训练和运行这些 AI 模型。
但不同的是,Google 在构建自己的芯片,而很多公司还在使用 GPU 来解决深度神经网络和人工智能的问题。
Google 自家芯片的出现,也为计算机芯片市场带来了冲击。由于有了自己的芯片,Google 不用再购买别家的芯片来适应自己的神经网络和人工智能架构,而 Google 甚至有可能成为 TPU 芯片的供应商,因为像 Facebook,微软和亚马逊这类公司都是芯片的高级买主。同时,大型的芯片制造商,如英特尔等,也正在研发类似的处理器以适应新的市场需求。
适用于多种神经网络模型
此外,Google 的这块 TPU 芯片可以用在当下任何一个深度神经网络中,包括从图像识别中使用的神经网络到用于识别语音命令的神经网络等。用 Jouppi 的话说:
我们并不会因问别人造了个新的神经网络架构而把我们这块芯片当作垃圾扔掉。
不过 Jouppi 也认为,TPU 还有进一步提高性能的空间。如果使用 NVIDIA K80 GPU 中存的 GDDR5 显存,TPU 便可以提供比 Google 当前测试中获得的更好的性能。根据 Google 当前的的测试发现,深度神经网络一些服务的性能受到内存带宽的限制,而 GDDR5 则能解决这些问题。
Google 其实已经在两年前就用上 TPU 芯片了,而 TPU 芯片除了用于图像识别和机器翻译,最值得夸耀的事迹就是那个在去年打败韩国棋手李世石的人工智能 AlphaGo 了。
TPU 芯片的未来?现在看来,很明朗,而机器学习和人工智能发展的步伐,或许也会因此加快。