芯片战争早已打响,谷歌15个月打造首个TPU,欲和老黄平起平坐

ze1年前默认698

【/h/]免责声明:本文来自微信官方账号“新智元”(ID:AI_era),作者为新智元,由授权站长之家转载发布。

【/h/]【新智元简介】在NVIDIA统治人工智能时代硬件的当下,谷歌的TPU开辟了另一条道路。今天,边肖带你了解第一个TPU的前世今生,并揭开TPU建筑的神秘面纱。

【/h/]在计算的历史上,被抛弃或过时的想法仍然很有趣,有时甚至非常有用。

【/h/]在这方面,我们此生能够体验到的最重要的例子就是神经网络。

【/h/]大多数人可能都知道,在神经网络近70年的历史中,冷冬和泡沫交替出现,事实上,隐藏在神经网络背后的特殊硬件加速器(ASIC)也是如此。

【/h/]神经网络和ASIC属于“先有鸡还是先有蛋”关系。大家都知道神经网络在CPU上效率很低,但如果没有证据证明神经网络有用,公司为什么要投资开发神经网络专用硬件呢?

【/h/]然而,由于没有合适的硬件,神经网络无法工作。......

【/h/]在历史的周期性演变中,建造特殊硬件的项目被一次又一次地放弃。最后,作为局外人,GPU打破了僵局。

【/h/]毫无疑问,我们现在正处于一个泡沫周期中,所有初创公司到超大规模企业都在大模式的鼓励下建立自己的硬件加速器。

【/h/]其中大多数可能会失败,但肯定会有成功的设计成为未来计算领域的重要组成部分。

【/h/]-谷歌的张量处理单元(TPU)作为第一个大规模部署的加速器,肯定会成为幸存者之一。

【/h/]当我们谈论TPU的时候,我们在谈论什么?

【/h/]为什么谷歌的TPU既有趣又重要?因为这是谷歌,TPU已被有效地应用于谷歌的庞大服务(搜索、安卓、Chrome、Gmail、地图、Play商店、YouTube、照片),拥有超过10亿用户。此外,谷歌拥有第三大公共云。

【/h/]在这个人工智能时代,英伟达的GPU主导着硬件供应,谷歌的TPU是一款真正经受住了时间和规模考验的有竞争力的产品。

【/h/]以下内容分为两部分:第一部分讲述了一个关于前世的故事,第一个谷歌TPU;第二部分谈论技术,揭示TPU的建筑细节和性能。

【/h/]来源

【/h/]机器学习对谷歌来说是一件大事。毕竟,谷歌的既定使命是“组织世界信息并使其普遍可用和有用(组织世界& apos并使其普遍可访问和有用)。

【/h/]机器学习帮助谷歌探索信息的价值,从图像和语音识别到语言翻译再到大规模语言模型,当然还有谷歌的“摇钱树”——年收入数十亿美元的广告业务。

【/h/]21世纪初,谷歌开始将注意力转向深度学习:

【/h/]2011年:杰夫·迪恩、格雷格·科拉多和吴恩达启动了一个关于深度学习的研究项目——谷歌大脑。

【/h/]2013年:在AlexNet图像识别项目取得成功后,谷歌以4400万美元的价格收购了一家由杰弗里·辛顿、亚历克斯·克里热夫斯基和伊利亚·苏茨基弗组成的创业公司。

【/h/]2014年:谷歌以6.5亿美元的价格收购了由戴密斯·哈萨比斯、沙恩·莱格和穆斯塔法·苏莱曼创立的DeepMind。

【/h/]Alex net的开发人员Alex Krizhevsky在2013年来到谷歌时发现,谷歌现有的所有型号都在CPU上运行。

【/h/]因此,在他进入公司的第一天,他出去从当地的电子商店买了一台GPU机器,将其接入网络,然后开始在GPU上训练神经网络。

【/h/]最终,人们意识到他们需要更多的GPU。2014年,谷歌决定以约1.3亿美元的价格购买4万颗NVIDIA GPUs。

【/h/]深度学习提供的能力可以大规模应用于谷歌的各种业务。然而,无论是技术上还是战略上,依赖NVIDIA GPU并不一定是最佳解决方案。

【/h/]GPU不是ASIC,它不是为神经网络量身定制的。对于需要大规模应用的谷歌来说,相当于付出了极大的额外代价;同时,依赖单一供应商显然是一个重大的战略风险。

【/h/]当时谷歌有两种选择:现场可编程门阵列(FPGA)和专用集成电路(ASIC)。

【/h/]当时实验证明FPGA的性能无法击败GPU,定制ASIC在推理上可能具有10倍的性价比优势。

【/h/]快速交付

【/h/]开发ASIC的时间成本是一个重要的考虑因素。如果落地期太长,硬件本身就失去了意义。为此,谷歌使用了所有可以快速访问的资源和现有知识。

【/h/]谷歌很快招募了一个才华横溢、经验丰富的团队,其中包括伯克利最初RISC设计的开发者大卫·帕特森(David Patterson),他是RISC-V指令集架构开发的关键人物。

【/h/]为了赶上时间,谷歌没有从头开始开发新的架构。幸运的是,35年前,有人为他们准备了一个合适的架构。

【/H/]1978年,卡耐基梅隆大学的H.T.Kung和Charles E. Leiserson发表了《脉动阵列(用于超大规模集成电路)》,并提出了“脉动系统”。

【/h/]脉动系统是一个处理器网络,通过系统有节奏地计算和传递数据。在心脏收缩计算机系统中,处理器的功能类似于心脏的功能。每个处理器定期输入和输出数据,每次执行一些简短的计算,以便在网络中保持定期的数据流。

【/h/]systolic系统是一个处理器网络,通过系统有节奏地计算和传输数据...处理器的功能类似于心脏,每个处理器定期输入和输出数据,每次执行一些简短的计算,以保持网络中的定期数据流。

【/h/]同时,作者提出了该体系结构的一个应用:矩阵计算。

【/h/]许多基本矩阵计算可以在具有阵列结构的脉动网络上优雅而有效地流水线化。例如,六边形连接的处理器可以最佳地执行矩阵计算......这些脉动阵列享有简单而规则的通信路径,并且网络中使用的几乎所有处理器都是相同的。因此,使用VLSI技术可以廉价地构建基于脉动阵列的专用硬件设备。

【/h/]许多基本矩阵计算可以在具有阵列结构的脉动网络上优雅而有效地流水线化。例如,六边形连接的处理器可以最佳地执行矩阵计算.....这些脉动阵列享有简单而规则的通信路径,并且网络中使用的几乎所有处理器都是相同的。因此,使用VLSI技术,可以廉价地构建基于脉动阵列的专用硬件设备。

【/h/]-这就来了!简单,便宜,适合计算矩阵!上帝养活了我们。

【/h/]在拥有工程师和架构后,谷歌还与当时的LSI公司(现为博通的一部分)合作,帮助芯片落地。

【/h/]此外,全新的芯片意味着全新的指令集架构、全新的编译器和上层软件,这是一个巨大的工程。

【/h/]2015年初,第一批TPU正式部署在谷歌数据中心。此时,距离项目启动仅15个月。看看这个庞大的R&D团队:

【/h/]论文地址:https://arxiv.org/ftp/arxiv/papers/1704/1704.04760.pdf

【/h/]为了取得这一进展,谷歌也不得不做出许多取舍,包括使用较旧的技术(28纳米)和较低的时钟频率(700MHz)。

【/h/]2016年3月,使用TPU的AlphaGo Zero击败了当时的围棋世界冠军李世石,震惊世界。

【/h/]TPU建筑

【/h/]矩阵乘法是神经网络运算的关键。这里有一个简单的例子:

【/h/]那么,TPU是如何计算矩阵乘法的?

【/h/]在上面的故事中,我们提到了TPU的原理:脉动阵列,假设以下2*2矩阵乘法:

【/h/]计算结果如下图所示。每个角上的正方形代表一个乘法/累加单元(MAC),可以执行乘法和加法运算。

【/h/]在此图中,黄色值是从左上方向矩阵的输入。浅蓝色值是存储的部分和。深蓝色值是最终结果。

【/h/]第一步,a11和b11加载到左上角的MAC中,相乘并存储。

【/h/]第二步,a12和b21被加载到左上角的MAC中,相乘并添加到之前计算的结果中。这一步获取结果矩阵的左上角值。同时,b11被传输到右上角的MAC,与新加载的a21相乘,并存储结果;A11传输到左下角的MAC,与新加载的b12相乘,并存储结果;

【/h/]第三步,b21传输到右上角的MAC,乘以新加载的值a22,结果与之前存储的结果相加;A12被传输到左下角的MAC,与新加载的b22相乘,结果将与先前存储的结果相加。此时,获得了结果矩阵的右上角和左下角值。同时,a12和b21被传输到右下角的MAC,相乘并存储。

【/h/]第四步,将a22和b22转移到右下角的MAC中,将结果与之前存储的值相乘并相加,从而获得结果矩阵的右下角值。

【/h/]至此,2*2矩阵乘法完成。

【/h/]完整计算系统的最简单表示如下:

【/h/]首先,应注意TPUv1依靠PCIe(高速串行总线)接口与主机通信。它还可以直接访问自己的DDR3存储,

【/h/]更详细的设计可以扩展为下图所示:

【/h/]DDR 3d ram/Weight FIFO:重量存储在通过DDR3-2133接口连接到TPU v1的DDR3RAM芯片中。权重通过PCIe从主机存储器预加载,然后可以传输到权重FIFO存储器供矩阵乘法单元使用。

【/h/]矩阵乘法单元:大小为256x256的矩阵乘法单元,顶部有256个权重值,左侧有256个输入值。

【/h/]累加器:运算结果从脉冲阵列底部汇总到累加器(存储器)中。

【/h/]激活:激活功能。

【/h/]统一缓冲/脉动数据设置:应用激活函数的结果存储在统一缓冲存储器中,然后可以作为输入反馈到矩阵乘法单元,以计算下一层所需的值。

【/h/]TPU v1执行8位整数乘法并使用量化来避免消耗更多的浮点计算。

【/h/]TPU v1采用CISC(复杂指令集)设计,只有大约20条指令。这些指令由主机通过PCIe接口发送到TPU,而不是从内存中获取。

【/h/]矩阵运算使用可变大小的B*256输入,将其乘以256x256的恒定权重输入以生成B*256输出,因此需要B个管道周期才能完成。

【/h/]TPU的整个执行过程是这样的:

Read_Host_MemoryRead_WeightsLoop_StartMatrix_MultiplyActivateLoop_EndWrite_Host_Memory

【/h/]因为TPU v1的指令集非常简单,所以它可以确保用于解码和相关活动的芯片成本非常低,并且只有2%的芯片面积专用于控制。

【/h/]24%的芯片面积专用于矩阵乘法单元,29%用于存储输入和中间结果的统一缓冲存储器。

【/h/]2013年,TPU v1与英特尔的Haswell CPU和英伟达的K80GPU进行了比较:

【/h/]TPU V1的MAC数量是K80GPU的25倍,片上内存是K80GPU的3.5倍。

【/h/]TPU·V1的推理速度比K80GPU和Haswell CPU快15到30倍。

【/h/]TPU V1的相对计算效率是GPU的25至29倍。

【/h/]时至今日,这款“临时工作”专用集成电路一直在不断改进和扩展,并在NVIDIA的统治下开辟了另一条道路。

【/h/]参考文献:

【/h/]https://thechipletter . substack . com/p/Google-first-TPU-建筑

相关文章

胖东来已启动帮扶计划?永辉超市回应

财联社5月8日讯针对市场传言胖东来已经开始帮助永辉超市,永辉超市证券部工作人员回应记者称,公司会向胖东来学习,胖东来有自己的优势。关于接管和协助互联网传输,没有进一步的进展可以透露。据网上消息,5月7...

51岁网红“片汤哥”因病去世

【/h/]5月13日,网络名人京城片汤因病去世,享年51岁。【/h/]据了解,片汤哥曾昏迷了63天。片汤哥的账号发布了一段早已录制好的告别视频。在视频中,他仍然兴高采烈,称自己51年的生活很精彩,但他...

楼上楼下吵了6年!一楼楼顶搭网布,二楼不满高空抛物

在邻里矛盾中,多年积怨是最难解决的。 家住上海松江区的程小姐和胡阿姨这对楼上楼下的邻居,因为一些生活琐事断断续续吵了 6 年。今年 6 月,两人甚至都报了警。 报警后,程小姐和胡阿姨两人都扬言要...

世乒赛观众席一生要强的中国女人 气势不能丢!!

世乒赛观众席一生要强的中国女人 气势不能丢!!

世界乒乓球锦标赛观众中的中国女将。【/h/]【世乒赛观众席上强势的日本女将】釜山世乒赛观众席上,中日球迷展开热舞PK,日本女球迷势头太猛!【/h/]24日,中国和日本球迷在釜山世乒赛的观众席上跳起了P...

男子称东郊到家女技师触摸其隐私部位要求“加钟”,平台:核实真伪后会处理

4月24日,江苏一男子发视频称在东郊某平台预约了上门按摩服务。按摩快结束时,女技师突然大规模摸他的私处,让他“加个铃”。男子拒绝了对方,未能向平台索赔。女技师摸客户私处。图/视频截图董娇到家平台客服回...

全国多地跨年烟花秀临时取消

2023年底,多地因天气原因宣布取消新年焰火晚会。【/h/】其中,湖南长沙世界之窗景区12月31日凌晨发布公告称,接到长沙市政府相关部门的紧急函件,我司演职人员几乎全部加班,连夜对跨年晚会内容进行调...