详解Google第二代TPU 既能推理又能训练 性能霸道
详解Google第二代TPU 既能推理又能训练 性能霸道
转自:http://www.cnbeta.com/articles/tech/613639.htm
5月18日凌晨,Google CEO Sundar Pichai在I/O大会上正式公布了第二代TPU,又称Cloud TPU或TPU 2.0,这一基于云计算的硬件和软件系统,将继续支撑Google最前沿的人工智能技术。第一代TPU于去年发布,它被作为一种特定目的芯片而专为机器学习设计,并用在了AlphaGo的人工智能系统上,是其预测和决策等技术的基础。
![]()
随后,Google还将这一芯片用在了其服务的方方面面,比如每一次搜索都有用到TPU的计算能力,最近还用在了Google翻译、相册等软件背后的机器学习模型中。
今天凌晨,Google宣布第二代的TPU系统已经全面投入使用,并且已经部署在了Google Compute Engine平台上。它可用于图像和语音识别,机器翻译和机器人等领域。
新的TPU包括了四个芯片,每秒可处理180万亿次浮点运算。Google还找到一种方法,使用新的计算机网络将64个TPU组合到一起,升级为所谓的TPU Pods,可提供大约11500万亿次浮点运算能力。
![]()
强大的运算能力为Google提供了优于竞争对手的速度,和做实验的自由度。Google表示,公司新的大型翻译模型如果在32块性能最好的GPU上训练,需要一整天的时间,而八分之一个TPU Pod就能在6个小时内完成同样的任务。之所以开发新芯片,部分也是因为Google的机器翻译模型太大,无法如想要的那么快进行训练。
除了速度,第二代TPU最大的特色,是相比初代TPU它既可以用于训练神经网络,又可以用于推理。初代的TPU只能做推理,要依靠Google云来实时收集数据并产生结果,而训练过程还需要额外的资源。
机器学习的能力已经逐渐在消费级产品中体现出来,比如Google翻译几乎可以实时将英语句子变成中文,AlphaGo能以超人的熟练度玩围棋。所有这一切都要靠训练神经网络来完成,而这又需要计算能力。所以硬件越强大,得到的结果就越快。如果将每个实验的时间从几周缩短到几天或几个小时,就可以提高每个机器学习者快速迭代,并进行更多实验的能力。由于新一代TPU可以同时进行推理和训练,研究人员能比以前更快地部署AI实验。
![]()
过去十多年来,Google已经开发出很多新的数据中心硬件,其中包括服务器和网络设备,主要目的是扩张自己的在线帝国。而过去几年中,在AI方面Google也选择开发自己的硬件,为其软件做优化。神经网络是复杂的数学系统,通过分析大量数据来学习,这种系统从根本上改变了技术的构建和运行方式,影响范围也包括硬件。
在某种程度上,初代的TPU被设计来是为了更好地支持TensoFlow机器学习框架。而归功于Google在软硬件上的进步与集成,TensorFlow已经成为构建AI软件的领先平台之一。这种优化,再加上Google大脑及其DeepMind子公司的内部人才,正是Google在AI领域保持领先的部分原因。
芯片厂商NVidia的GPU几乎主宰了机器学习的市场,而现在,Google想通过专门设计用于训练神经网络的芯片,来改变市场提格局。
![]()
亚马逊和微软通过自己的云服务提供GPU处理,但他们不提供定制的AI芯片。
不过Google也不能因此而高枕无忧,因为短期内竞争就会加剧。目前已经有几家公司,包括芯片巨头英特尔和一大批初创公司,正在开发专门的AI芯片,它们都可能替代Google TPU。
首先开发出新的芯片并不能保证Google成功,要使用TPU 2.0,开发者要学习一种构建和运行神经网络的新方法。它不仅仅是一个新的芯片,TPU 2.0也是专门为TensorFlow设计。虽然Tensorflow是开源软件,但也有许多研究人员使用Torch和Caffe等类似的软件。新硬件需要新的软件优化,这需要不少时间。
在Google推出TPU 2.0的几周之前,Facebook的AI研究主管Yann LeCun质疑称,市场可能不需要新的AI专用芯片,因为研究者已经对使用GPU所需的工具非常熟悉了。新的硬件意味着新的生态系统。
另外,Google云服务的成功不仅取决于芯片的速度,以及使用的容易程度,还要考虑成本。所以,如果Google以比现有GPU服务更低的成本提供TPU服务,会得到更广泛的用户基础。
Google自己当然会使用新TPU系统,但也会将它的能力开放给其它公司使用。Google表示,不会将芯片直接出售,而是会通过其新的云服务(年底前公布)提供,任何开发者都可以使用新处理器带来的计算能力。
Google也重申了其对开源模式的承诺,表示会向同意发布研究结果的研究人员提供TPU资源,甚至可能开源代码。他甚至呼吁开发者加入TensorFlow Research Cloud计划,它会免费提供一组1000台TPU。
新TPU的速度优势肯定会吸引到不少研究人员,毕竟AI研究要在大量硬件上广泛试错。就此而言,Google愿意免费提供计算资源对全世界的AI研究者来说都是有好处的,当然,这对Google来说也是有好处的。
详解Google第二代TPU 既能推理又能训练 性能霸道的更多相关文章
- 详解Google Chrome浏览器(操作篇)(一)
开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...
- 详解Google Chrome浏览器(操作篇)(下)
开篇概述 由于最近忙于公司产品的架构与研发,已经三个多月没有写博客了,收到有些朋友的来信,问为什么不及时更新博客内容呢,他们说他们正期待着某些内容.对此,非常抱歉,那么我在此也给各位朋友一些承诺,从即 ...
- 详解Google Chrome浏览器(操作篇)(上)
开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...
- 详解google Chrome浏览器(理论篇)
注解:各位读者,经博客园工作人员反馈,hosts涉及违规问题,我暂时屏蔽了最新hosts,若已经获取最新hosts的朋友们,注意保密,不要外传.给大家带来麻烦,对此非常抱歉!!! 开篇概述 1.详解g ...
- 分布式专题——详解Google levelDB底层原理
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式专题的第10篇文章,我们继续来聊聊LSMT这个数据结构. LSMT是一个在分布式系统当中应用非常广泛,并且原理直观简单的数据结构 ...
- Android Design Support Library使用详解
Android Design Support Library使用详解 Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的And ...
- 详解googe Chrome浏览器(理论篇)
开篇概述 1详解google Chrome浏览器,这个标题似乎抽象了一些,我想应该把它拆分成如下几个问题,也许会更加理解一些. 问题1:目前开发中,主选浏览器有Google Chrome,IE,Fir ...
- C++的性能C#的产能?! - .Net Native 系列《二》:.NET Native开发流程详解
之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...
- [面试专题]Web缓存详解
Web缓存详解 标签(空格分隔): 缓存 缓存之于性能优化 请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影响网站交互的前提下可以大大加快网站加载速度. 降低服务器压力: ...
随机推荐
- CSS的常用属性(二)
盒子模型之边框 border-(top/bottom/left/right)-style: solid 边框的风格 如(solid 实线,dotted 点线,dashed 虚线) border-top ...
- android黑科技系列——爆破一款应用的签名验证问题
一.前言 在之前的文章中说过Android中的安全和破解是相辅相成的,为了防止被破解,很多应用做了一些防护策略,但是防护策略也是分等级,一般简单的策略就是混淆代码和签名校验,而对于签名校验很多应用都是 ...
- HttpWebRequest 知识点
string Url = System.Configuration.ConfigurationManager.AppSettings["CallPaperInvoiceURL"]; ...
- MYSQL 45道练习题
学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用S ...
- Dll中的方法向外返回dynamic类型可能会失败
如果Dll中有某个类的方法返回dynamic实例,并且dynamic对象实际实例为匿名类类型,则Dll的外部使用者可能最终无法正常使用此dynamic对象.当使用此dynamic对象时,可能会遇到x属 ...
- 模拟登录新浪微博(Python)
PC 登录新浪微博时, 在客户端用js预先对用户名.密码都进行了加密, 而且在POST之前会GET 一组参数,这也将作为POST_DATA 的一部分. 这样, 就不能用通常的那种简单方法来模拟POST ...
- 【转载】CentOS 安装rz和sz命令 lrzsz
lrzsz在linux里可代替ftp上传和下载.lrzsz 官网入口:http://freecode.com/projects/lrzsz/ lrzsz是一个unix通信套件提供的X,Y,和ZMode ...
- jboss的下载安装、环境变量配置以及部署
1. 下载安装 http://jbossas.jboss.org/downloads/ jdk为1.7 我下载的是:JBoss AS7.1.1.Final 2. 解压安装包 D:\program ...
- 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询
阿里云OSS-使用经验总结,存储,账号-权限,分页,缩略图,账号切换 最近项目中,需要使用云存储,最后选择了阿里云-对象存储服务OSS.总的来说,比较简单,但是仍然遇到了几个问题,需要总结下. 1.O ...
- python 实现kmeans聚类
编程中在做数值相等判断的时候,直接使用==判断并不可靠.实际上经过运算后的两个值(浮点型)并不可能完全一致,可能会因为小数点后的些许差异导致判断为false. 比如: 1 print 1e-5 == ...