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

时间:2024-09-21 编辑: 浏览:(552)

文章来源:新智元

【元导读】在英伟达统治AI时代硬件的当下,谷歌的TPU却开辟了另一条道路。今天,小编带你了解第一块TPU的前世今生,同时揭开TPU架构的神秘面纱。

图片来源:由无界AI生成

在计算的历史上,曾被丢弃或过时的想法仍然很有趣,有时甚至非常有用。

在这方面,我们这辈子能经历的最重要的例子莫过于神经网络了。

多数人可能都了解,在神经网络近70年的历史中,寒冬和泡沫交替出现,——事实上,藏在神经网络背后的专用硬件加速器(ASIC)也是如此。

神经网络和ASIC属于是「先有鸡还是先有蛋」的关系,大家都知道神经网络在CPU上效率不高,但是,如果没有证据证明神经网络是有用的,公司凭什么要为神经网络投资开发专门的硬件?

然而,正因为没有合适的硬件,神经网络也work不起来......

在历史的周期演进中,构建专用硬件的项目一次又一次地被放弃,最终,作为外来者的GPU打破了僵局。

毫无疑问,我们现在正处于泡沫周期,在大模型的激励下,从初创公司到超大规模企业,都在构建建立自己的硬件加速器。

他们之中的大多数都可能会失败,但也肯定会有成功的设计成为未来计算领域的重要组成部分。

——而谷歌的张量处理单元(TPU)作为第一批大规模部署的加速器,肯定会成为幸存者之一。

当我们在谈论TPU时,我们在谈论什么

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

在英伟达的GPU主导了这个AI时代硬件供应的当下,谷歌的TPU是一个真正经历了时间和规模考验的竞品。

以下的内容,小编分成两部分:第一部分讲故事,关于第一个谷歌TPU的前世今生;第二部分讲技术,揭秘TPU的架构细节和性能。

起源

机器学习对谷歌来说是一件大事。毕竟谷歌的既定使命是「组织世界信息,使其普遍可用和有用(to organize the world's information and make it universally accessible and useful)」。

机器学习帮助谷歌发掘信息的价值,从图像和语音识别到语言翻译,再到大型语言模型,当然也少不了谷歌的「摇钱树」——年入数十亿美元的广告业务。

2010年代初,谷歌的注意力开始转向深度学习:

2011年:Jeff Dean、Greg Corrado和Andrew Ng发起了关于深度学习的研究项目——Google Brain。2013年:继AlexNet图像识别项目取得成功后,谷歌以4400万美元的价格收购了由Geoffrey Hinton、Alex Krizhevsky和Ilya Sutskever组成的初创公司。2014年:谷歌收购了由Demis Hassabis、Shane Legg和Mustafa Suleyman创立的DeepMind,价格高达65000万美元

2013年,当AlexNet的开发者Alex Krizhevsky来到谷歌时,他发现谷歌现有的模型都在CPU上运行。

于是,在公司工作的第一天,他出去从当地的一家电子商店买了一台GPU机器,把它插入网络,然后开始在GPU上训练神经网络。

最终,大家意识到需要自己需要更多的GPU,2014年,谷歌决定以约13000万美元的价格购买40,000个英伟达GPU。

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

GPU不是ASIC,它不是为神经网络量身打造的,对于需要大规模应用的谷歌来说,相当于要付出很大的额外代价;同时,依赖单一供应商显然也是战略上的重大风险。

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

当时的实验证明,FPGA的性能打不过GPU,而定制ASIC可能在推理方面产生10倍的性价比优势。

快速交付

开发ASIC的时间成本是一个重要的考量,如果落地周期太长,那么硬件本身也就失去了意义。为此谷歌动用了一切可以快速访问的资源和现有知识。

谷歌迅速招募了一支才华横溢、经验丰富的团队,其中包括David Patterson,——伯克利RISC原始设计的开发者,也是RISC-V指令集架构开发的关键人物。

为了赶时间,谷歌没有去从头开发新的架构。幸运的是,在35年前,就有人为他们准备好了合适的架构。

1978年,卡内基梅隆大学的H.T.Kung和Charles E. Leiserson发表了《Systolic Arrays (for VLSI)》,提出了「systolic system」。

论文地址:https://www.eecs.harvard.edu/htk/static/files/1978-cmu-cs-report-kung-leiserson.pdf

A systolic system is a network of processors which rhythmically compute and pass data through the system….In a systolic computer system, the function of a processor is analogous to that of the heart. Every processor regularly pumps data in and out, each time performing some short computation so that a regular flow of data is kept up in the network.systolic system是一个处理器网络,它有节奏地计算并通过系统传递数据......处理器的功能类似于心脏,每个处理器都会定期将数据泵入和泵出,每次都执行一些简短的计算,以便在网络中保持常规的数据流。

作者同时提出了架构的一种应用:矩阵计算。

Many basic matrix computations can be pipelined elegantly and efficiently on systolic networks having an array structure. As an example, hexagonally connected processors can optimally perform matrix computation......These systolic arrays enjoy simple and regular communication paths, and almost all processors used in the network are identical. As a result, special purpose hardware devices based on systolic arrays can be built inexpensively using the VLSI technology.许多基本的矩阵计算可以在具有数组结构的脉动网络上优雅而有效地执行流水线。例如,六边形连接的处理器可以最佳地执行矩阵计算......这些脉动阵列享有简单而规则的通信路径,并且网络中使用的几乎所有处理器都是相同的。因此,使用VLSI技术可以廉价地构建基于脉动阵列的专用硬件设备。

——这不就来了吗!简单、便宜、还适合算矩阵!真是老天爷喂饭吃。

有了工程师和架构之后,谷歌还与当时的LSI公司(现在是Broadcom的一部分)合作,帮助芯片落地。

另外,全新的芯片意味着需要全新的指令集架构、全新的编译器以及上层软件,这是一个庞大的工程。

2015年初,第一批TPU正式部署在谷歌的数据中心,此时,距离项目启动仅仅过去了15个月,看一下这个庞大的研发团队:

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

为了这个进度,谷歌也不得不做了很多取舍,包括使用较老的工艺(28nm),以及较低的时钟频率(700MHz).

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

TPU架构

在神经网络的运算中,矩阵乘法是关键,下面是一个简单的例子:

那么,TPU是如何计算矩阵乘法的呢?

在上面的故事中,我们提到了TPU的原理:systolic arrays(脉动阵列),假设有如下的2*2矩阵乘法:

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

在此图中,黄色值是从顶部和左侧输入矩阵的输入。浅蓝色值是存储的部分总和。深蓝色值是最终结果。

第一步,a11和b11加载到左上角的MAC中,相乘并存储结果。第二步,a12和b21加载到左上角的MAC中,相乘并添加到先前计算的结果中。这一步得到了结果矩阵的左上角值。同时,b11被传输到右上角的MAC,乘以新加载的a21,并存储结果;a11被传输到左下角的MAC,乘以新加载的b12,并存储结果;第三步,b21被传输到右上角的MAC,乘以新加载的值a22,结果被添加到以前存储的结果中;a12被传输到左下角的MAC,乘以新加载的b22,并将结果添加到先前存储的结果中。此时得到了结果矩阵的右上角和左下角值。同时,a12和b21被传输到右下角的MAC,相乘并存储结果。第四步,将a22和b22传输到右下角的MAC,相乘并将结果添加到先前存储的值中,从而得到结果矩阵的右下角值。

至此,2*2矩阵乘法完成。

完整计算系统的最简单表示如下:

首先要注意的是,TPUv1依赖于通过PCIe(高速串行总线)接口与主机进行通信。它还可以直接访问自己的DDR3存储,

更详细的设计可以扩展成下图这样子:

DDR3 DRAM / Weight FIFO:权重存储在通过DDR3-2133接口连接到TPU v1的DDR3 RAM芯片中。权重通过PCIe从主机的内存预加载,然后可以传输到权重FIFO存储器中,供矩阵乘法单元使用。Matrix Multiply Unit:256 x 256大小的矩阵乘法单元,顶部输入256个权重值,左侧是256个input值。Accumulators:运算结果从脉动阵列的底部汇总到累加器中(内存)。Activation:激活函数。Unified Buffer / Systolic Data Setup:应用激活函数的结果存储在统一缓冲区存储器中,然后可以作为输入反馈到矩阵乘法单元,以计算下一层所需的值。

TPU v1执行8位整数乘法,利用量化来避免消耗更大的浮点计算。

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

矩阵运算采用可变大小的B*256输入,将其乘以256x256恒定权重输入,生成B*256输出,所以需要B次流水线循环才能完成。

TPU的整个执行过程大概像这样子:

Read_Host_MemoryRead_WeightsLoop_Start Matrix_Multiply ActivateLoop_EndWrite_Host_Memory

由于TPU v1的指令集非常简单,可以保证芯片用于解码和相关活动的开销非常低,只有2%的芯片区域专门用于控制。

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

2013年,TPU v1与英特尔的Haswell CPU和英伟达的K80 GPU进行了比较:

TPU v1的MAC数量是K80 GPU的25倍,片上内存是K80 GPU的3.5倍。TPU v1的推理速度比K80 GPU和Haswell CPU快15到30倍。TPU v1的相对计算效率是GPU的25到29倍。

时至今日,这个「临时赶工」的ASIC,已经不断完善和壮大,在英伟达的统治之下,开辟了另一条道路。

参考资料:

https://thechipletter.substack.com/p/googles-first-tpu-architecture

最新 更多 >
  • 1 apex币价格

    Apex币是一种虚拟货币,也是一种区块链平台的加密数字货币。它的价格是根据市场供需情况和投资者情绪波动而不断变化的。目前Apex币的价格相对较稳定,但也可能受到外部因素影响而有所波动。投资者需要谨慎评估市场风险,了解相关政策法规,合理分配资金,以规避风险并获取最大利润。

  • 2 美团 股票增发

    最近,美团宣布将进行股票增发,以筹集更多资金用于扩大业务、加强市场竞争力等。增发股票是公司筹集资金的一种方式,通过向现有股东发行新的股票来增加公司股本。这将有助于提高公司的市值,增加公司的市场份额,促进业务的快速发展。同时,增发股票还可以为投资者提供更多参与公司发展的机会,潜在的收益也将增加。在当前竞争激烈的市场环境下,美团的股票增发举措将为公司未来发展奠定更加稳固的基础。

  • 3 广发银行金融债券

    广发银行金融债券是广发银行发行的一种债务工具,旨在融资支持其金融业务发展。该债券采用固定利率方式,投资者购买后可获得相应利息收益,到期时还本付息。广发银行金融债券具有一定的信用风险和流动性风险,投资者应根据自身风险承受能力和投资目标谨慎选择。

  • 4 长城汽车穆峰副总裁

    尊敬的长城汽车穆峰副总裁: 这是关于您与我们的合作项目的最新进展情况的摘要。总结了目前已完成的工作进度、需要解决的问题以及未来计划。希望您能够查阅并提供反馈意见,以便我们能够顺利推进项目并达成共同目标。 谢谢您的关注与支持。 敬候您的回复, XX公司部门经理/项目负责人

  • 5 上海海昌海洋公园投资

    上海海昌海洋公园是一个以海洋生物展示和科普教育为主题的旅游目的地,拥有丰富的海洋动物资源和先进的展示设施。投资者可以通过投资海洋公园,获得与海洋生物相关的经济收益,并参与推动海洋环保和科学研究的发展。海洋公园作为一个集休闲旅游、科普教育和社会责任于一体的项目,具有很大的发展潜力和市场前景。

  • 6 国药现代股份

    国药现代股份有限公司是中国一家知名的医药企业,主要从事药品研发、生产和销售。公司建立于1998年,总部位于中国北京,是中国医药行业的领先企业之一。国药现代股份在国内外拥有广泛的市场,产品涵盖了各种药品类别,包括中成药、化学药、生物制品等。公司致力于创新研发,提高生产技术水平,为人们提供更好的医疗健康保障。

  • 7 华泰证券 债券

    华泰证券债券是华泰证券发行的一种债务工具,用于筹集资金并发放给债务人。持有者购买债券即成为债权人,债券持有者有权获得债券发行方按约定支付的利息和本金。债券的收益通常比存款利率高,同时也有一定的风险,投资者应当根据自身的风险承受能力谨慎购买。华泰证券债券具有流动性好、期限灵活等特点,是投资者进行债券投资的选择之一。

  • 8 隽思集团越南分厂

    隽思集团越南分厂成立于20XX年,位于越南的工业区。分厂主要生产各类电子产品和零部件,包括手机、平板电脑、电子配件等。公司拥有先进的生产设备和技术团队,致力于为客户提供高质量的产品和服务。隽思集团越南分厂致力于不断创新和发展,努力成为行业领先的电子制造企业。

  • 9 派林生物股票怎么样

    派林生物股票是一家生物科技公司的股票,公司专注于研发生物技术产品和解决医药领域的问题。该公司在行业内有较高的知名度,其股价表现稳定且有增长潜力。投资者可以考虑关注派林生物股票,但仍需注意市场风险和公司发展情况。

  • 10 时富金融服务集团有限公司

    时富金融服务集团有限公司是一家综合性金融服务机构,总部位于中国香港。公司致力于为客户提供全方位的金融服务,涵盖投资、贷款、保险等多个领域。时富金融服务集团有限公司拥有专业的团队和先进的技术,为客户提供高效、安全的金融产品和服务。公司秉承诚信、责任、创新的价值观,不断努力提升服务水平,成为客户信赖的金融合作伙伴。