上尧网
当前位置:上尧网 > 娱乐 > 全民彩现金和彩金区别 谷歌二代TPU到底有什么秘密?听听专家怎么说的

全民彩现金和彩金区别 谷歌二代TPU到底有什么秘密?听听专家怎么说的

时间:2020-01-11 17:32:45 人气:154

全民彩现金和彩金区别 谷歌二代TPU到底有什么秘密?听听专家怎么说的

全民彩现金和彩金区别,智东西(公众号:zhidxcom)

编 | 海中天

导读:在2017年谷歌i/o大会上,二代tpu亮相,它比一代tpu更强大。到底tpu是什么?有什么新的变化?nextplatform记者nicole hemsoth一个月前采访了谷歌著名硬件工程师norman jouppi,打听了一些内幕,他还收集了许多资料,对二代tpu深入分析。

让我们听听nicole hemsoth是怎样解释的:

一个月前,我曾与谷歌著名硬件工程师norman jouppi交流过,讨论的重点是tpu(tensor processing unit),谷歌用tpu让深度学习推理加速,不过设备(第一代tpu)已经有点过时了。

在今年的i/o大会上,谷歌夺走了volta gpu的风头,volta gpu是nvidia最近推出的,谷歌透露了二代tpu的细节,二代tpu系统板的运算速度达到180万亿次,相当惊人,它既可以训练,也可以推理,定制网络将tpu组合成“tpu pods”,计算能力可以与世界前500强的超级计算机媲美,最高峰值速度达到11.5 petaflops(每秒千万亿次)。

dean解释说:“我们拥有一个才华横溢的asic设计团队,他们开发了第一代tpu,还有许多同类的人参与项目。与一代tpu相比,二代tpu的设计与整体系统更接近,它更小,因为我们只在一块芯片上推理。训练流程要求更高,因为我们既要从整体上思考底层设备,还要理解它们是如何与大型系统连接的,比如pods。”

我们将会密切关注谷歌,深入了解定制网络架构,下面这些资料是我们从预先准备的高级简报中提炼出来的,它们与最新的tpu有关;我们还试图理解新tpu是如何组成机柜、堆叠在一起的,最终它们的性能达到超级计算机的水平。谷歌没有透露二代tpu芯片或者主板的规格,不过幸好有一张图片,我们可以由此向后进行数学推导。

有些人可能看过许多的超级计算机主板,对于他们来说,谷歌tpu2与cray xt或者xc架构也许有点像,这点很有趣,只是互联的芯片似乎是焊接在主板中央的,连接外部世界的接口放在主板外部。tpu2共有4个tpu2单元,每一个的最大峰值吞吐量(peak throughput)约为180万亿次,这点我们在上文已经提到过。我们姑且假定它所使用的是16位半精度浮点。

主板的左侧和右侧各有4个连接接口,左侧还有2个接口。如果每一个tpu2板卡直接连接到闪存,那将是十分有趣的一件事,amd未来即将推出的vega radeon instinct gpu加速器就是这样设计的。左侧的另外2个接口可以直接连接到存储单元,或者向上连接到网络的更高层级,从而让tpu互联起来,形成更复杂的处理系统。

如果非要猜测,每一个tpu2单元应该有2个接口连接到外部世界,跨越机柜,左侧两个多出来的接口一个用来连接本地存储单元,一个作为机柜内部的互联节点。

下面就是tpu2主板“pod”的样貌,谷歌说它们处理机器学习数据的整体能力达到11.5 petaflops(千万亿次)。

仔细观察就会发现,它们似乎是“open compute(开放计算)”机柜,或者说它的尺寸与open compute机柜差不多,可能稍宽一些。上面共有8行tpu单元,每组有4块tpu板卡,水平放置。这些机柜到底是全深度机柜还是一半深度,我们无法清楚知道。你可以看到tpu2机柜的计算节点从一侧伸出来,这一侧有6个接口,当中的2个接口向上连接到一个机框。

在tpu2 机框的最顶行,两个接口向上延伸,进入另一个机框,里面似乎没有安装tpu2单元。照猜测它是一个准系统(bare bone)闪存机框,以很高的速度为tpu存储本地数据。不论怎样,主板至少有32个tpu2,也就是说一个机柜至少有128个tpu。计算一下就会知道,每一个pod由2个机柜和蓝色罩子组成,它的计算力应该是11.5 petaflops。

在生产端,如此强大的计算力到底有什么好处呢?谷哥最新的大型翻译模块是用32个最棒的商用gpu(可能是pascal)训练的,要花一整天训练,现在只需要1/8的tpu就能在一个下午完成。请注意,tpu是专门为tensorflow优化过的,商用gpu(哪怕是高端gpu)瞄准的是通用目的,它既要完成高精度工作,也要完成低精度工作。从这个案例就可以看出,谷歌推出自有asic在投资回报方面是没有什么问题的。

还有一点要注意,第一代tpu也许已经拥有强大的推理能力,既快速又高效,不过模型必须先从gpu训练集群中移出,如果要将新模型或者重新训练的模型正式部署起来,实验过程就会变慢,谷歌开发者必须等更长的时间才能拿到结果,然后重复工作。正是因为这个原因,对于深度学习硬件来说,在单个设备上训练/推理就是研究的“圣杯”,现在我们终于走到了转折点,可以用多种方法解决此问题;未来还可以用英特尔 knights mill或者nvidia volta gpu。

nvidia的volta gpu有一些“tensor core”的处理元素,它可以让机器学习训练加速,处理超级计算任务时也会更快,volta gpu在单个设备上的速度可以达到120 teraflops,相比一年前发布的pascal进步很多。虽然volta gpu很惊人,不过谷歌的产品还是夺走nvidia的一些风头,虽然短期之内用户无法自己动手自制tpu机器。

dean说volta架构很有趣,因为nvidia意识到核心矩阵相乘原语(core matrix multiply primitive)对于应用的加速而言相当重要。他还说,谷歌第一代tpu用相似的方法提高推理时矩阵相乘的速度,不过设备是在机器学习工作流中实现这一点的。他还说:“加快线性代数运算速度一直个好方法。”

先将硬件放在一边不谈,让我们从用户角度看一看。谷歌没有将秘密保护起来,在不久的将来,谷歌会通过“谷歌云平台”使用tpu。谷歌高级研究员jeff dean说,他们不会限制竞争,tpu只是作为一种选择提供给用户,还会提供volta gpu,继续使用skylake xeons,开发者构建、运行模型时,谷歌会提供几种选择。谷歌将会在云计算中装备1000个tpu,提供给合格的研究团队使用,这些团队正在完成开放科研项目,它们也许愿意将自己的机器学习成果开放。

dean解释说,谷歌内部完成一些机器学习任务时可能仍然会使用gpu和cpu,在同一款设备中同时使用两种训练和推理技术有着巨大的潜力,设备专为tensorflow优化过,它也许会打破平衡。新tpu能耗如何我们现在还不知道,不过第一代设备能耗很低,如果用它作为标准评估新设备也许不合适,因为新设备既可以训练也可以推理。我们可以推断新tpu的能耗比volta低,毕竟无论哪个方面来看volta都是一款更大的设备,而且volta可以完成多种工作,比如运行一些hpc应用,它们需要进行64位浮点运算,volta还可以做一些机器学习超低精度运算工作。nvidia已经将fp16(16位浮点运算)技术标准化,用户可以根据工作改变精度,只是我们必须假定新的tpu架构是16位或者8位的。

关于这一点,dean说:“第一代产品支持量子化整数运算,第二代支持浮点运算。一旦模型的推理训练结束,可以用来运行量化算法,就没有必要改变模型了,在整个训练和推理过程中可以使用相同的浮点数表示法,部署起来也会更容易。”

谷歌没有将定制硬件推向市场,这对于nvidia、英特尔来说是一件好事,因为在这个市场nvidia与英特尔都想占据上风,而谷歌的tpu很有竞争力。将二代tpu放进谷歌云平台,无疑可以帮助一些人完成规模化训练,不过正如上文提到的,完成这些工作时既会用到高端gpu,也会用到cpu。用户可以在架构上大规模使用tensorflow,而架构本身就是针对tensorflow设计的,这点也很吸引人。谷歌的举动会激怒亚马逊和微软,它们可能会加速引进最新的gpu,以前它们的速度比较慢。亚马逊使用的最高端gpu是 tesla k80,微软azure使用的是pascal p100s。

有些人可能感到奇怪,为什么谷歌不将芯片商用呢?仔细阅读上文,看看谷歌做了一些什么,就会发现它选择的路线不是直接的,风险也比较小。如果深度学习市场像预料的一样扩张,tpu和tensorflow也许会带来差异化,这种差异化如果足够大,就会让谷歌云平台拥有更大的优势,这种优势是之前没有过的。然后谷歌就可以大规模生产,进入大众市场,这样谷歌就可以有序扩张tensorflow了。

多年前,谷歌就曾说过“不作恶”。老实说,在volta推出之时展示一头这样的怪兽的确有点邪恶。