您好, 访客   登录/注册

比iPad还大的芯片黑马 它会是Al芯片发展的未来方向吗?

来源:用户上传      作者:

  从第一个现代集成电路诞生距今已有62年。这么多年以来,人们获得更高性能产品的方法一直没有改变,那就是使用更多的晶体管进行更高密度的计算。令人欣慰的是,半导体制造技术的发展支撑了集成电路对晶体管数量几乎无尽的需求,并诞生了摩尔定律这样业界统-的共识, 不断驱动计算能力一步步增强。但是,在Al计算进一步发 展后,人们发现Al计算对算力的渴求更胜以往。在半导体制造技术进步速度逐渐放缓的今天,如何进一步获得更高算力的芯片就成为Al行业共同的问题。路线开始分叉,押大还是押小?一家名为Cerebras的公司带给我们一个新的可能一那就是越大越好,一个12英寸的晶圆.上只容纳一颗完整功能的Al计算芯片。这就是Cerebras Wafer Scale Engine (WSE),今天本文就和你一起来了解它的秘密。
  AI计算中的深度学习计算已经是目前最重要的计算负载之一。在过去,那些只有人类大脑才能完成的任务,如今有很多都可以使用计算机以人类或者超过人类的效率来执行。根据OpenAI的报告显示,自2012年以来,AI计算中所使用的的计算量呈现出指数增长的态势,计算需求平均每三四个月就可以翻一番。从2012年到2018年,全球的整个计算量指标增长了30万倍。
  AI计算需求的暴增,和我们熟悉的摩尔定律所驱动的半导体产业速度之间产生了一个显而易见的矛盾。如今的摩尔定律已经从之前的18个月放缓到每2年到3年才使得半导体单位面积的晶体管数量翻倍,并且在可预见的未来,这样的放缓速度还将继续下去。因比,半导体厂商在面对市场的性能需求时,往往会选择通过其他手段来增加芯片有效工作面积,提高性能。
  现在业内对此的态度普遍是倾向两种看法,一种是选择小芯片联合提高性能,也就是Chiplet方案,这种方案比较容易在民用和商用市场之间取得平衡,不过如何连接诸多小芯片并取得更好的性能,业内依旧有很多讨论,当然这也并非本期的话题,暂且不表。
  另—种看法则是继续做大芯片,这对一部分需要大规模并行计算的用户来说是非常友好的,比如超级计算机。原因也很简单,芯片面积越大,相对应所涉及的外围材料就越少。举例来说,一个传统尺寸的GPU芯片如果可以提供1TFLOPS算力的话,那么扩大它的面积到现有芯片的4倍,其算力在合理的情况下还可以继续提升2~3倍。甚至芯片面积进一步扩大,直接将外围的DRAM、SRAM等集成在芯片上,由此带来的延迟降低、带宽增加等因素,性能还将继续提升。同时,节约了多个小芯片系统所需要的PCB、供电、封装等不同组件的成本,综合考虑,甚至可能带来更低的单位性能价格。
  不过,芯片尺寸并不仅仅由厂商自行决定,它还受到很多其他因素的限制。比如之前英伟达、IBM和英特尔就很难推出尺寸超过800mm2的芯片,这是因为即使是现在,i193型号的光刻步进器最大可支持刻录的芯片尺寸为短边26mm,长边33mm,面积最大可接受858mm2。因此,继续扩大芯片尺寸也需要考虑设备允许等问题。
  因此,以整体的方式(非片上拼接)制造超出常规尺寸的芯片需要更多新工具的支持。不过依旧存在一些替代方法可以达成制造更大芯片的目的,这就是晶圆级集成( Wafer-scaleInteg ration,简称为WSI)的单芯片制造方法,采用这种方法制造的芯片尺寸和晶圆本身最大直径十分接近,在12英寸晶圆上能呈现“巨无霸”芯片的效果。
  缺陷控制:初探晶圆级集成WSI
  WSI能制造如此巨大的芯片,看起来非常美好。但实际上,WSI虽然能够大幅度提升芯片的尺度从而提升性能,相应的也面临着巨大的困难。纵观历史,WSI在过去的50年时间中被多个厂商实践过,但成功者寥寥。失败的主要原因除了资金、市场外,技术上问题也颇多,包括超大尺度的芯片的设计、制造、封装、散热等,还有致命的晶圆缺陷。所谓晶圆缺陷,是指高纯度硅晶圆上那些存在杂质或晶体生成异常的区域。 作为一个晶圆尺寸级别的芯片,对电路正确的要求非常高,理论上任何电路错误都可能导致整个芯片运作失败。但是由于人类目前工程技术制约和物理规律限制,任何晶圆都不可能100%完美,总会有缺陷的存在。因此,WSI如何控制晶圆缺陷(甚至包括制造缺陷)就在很大程度上制约着它的成败。
  晶圆缺陷并不是一个新话题,它在普通的芯片制造中也存在,并引发了良率和成本等问题。为了更好地理解WSI技术,本文先对普通芯片制造制造过程和缺陷处理方式进行简单描述。
  一般来说,普通芯片设计时,工程师在芯片设计阶段就能确定芯片所使用的工艺代次,然后和芯片制造厂商共同确定所设计芯片的面积尺寸。在得到这些数据后,使用晶圆的面积除以目标芯片的面积,就得到了一张晶圆可以获得多少芯片的参考数据。根据这个参考数据,芯片制造厂会在晶圆上根据芯片的尺寸给出最佳的布局方式,完成之后,晶圆看起来就像划上了规律的方格。然后,芯片制造厂会根据布局的方格,利用同样方格布局的掩模,使用光刻工艺进行不断地重复刻制、冲洗、继续重复、冲洗等,直到形成了所需要的一个个成功的芯片图案。接下来,厂商会根据之前设定的方格边线,切割并分开一个个芯片,再通过检测手段确定不能工作的芯片。
  对这些已经切割的完成、但又不能正常工作的芯片而言,迎接它们的通常的做法是直接报废,或者还可以屏蔽一部分功能后再廉价销售。这种情况下,使用被抛弃报废的芯片数量除以所有生产出的芯片数量,就得到了某种意义上的良率数据(不同情况下良率计算需求可能不同,比如是否纳入屏蔽芯片等)。可以看到,传统的芯片制造依靠切割芯片并抛弃一部分,来实现对晶圆缺陷和制造缺陷的控制。
  对WSI来说,抛弃、切割等方法都无法使用,毕竟作为一整块芯片,难以切割部分区域。不过转换思维来看,所谓的抛弃,只是坏块部分在芯片意义上不存在而已,等同于存在但不工作。对WSI来说,在芯片设计上也采用分区设计的方案,区块之间相对独立,且存在可以单独关闭或者开启某个区域的控制电路等,就可以在一定程度上避免“一个老鼠屎坏一锅汤”的问题。实际上,WSI技术解決晶圆缺陷的方法,正是通过设计阶段提前布局,在发现缺陷块后,通过改变芯片本身的工作逻辑来避开损坏的区域。具体实现上,设计人员会使用子电路的网格图案和适当的处理逻辑,在受损电路周围“重新布线”,因此即使晶圆区域上有不少的错误,但只要有足够的子电路,那么整个芯片即使存在故障也可以使用。   在解决了缺陷控制问题后,WSI技术的威力终于可以爆发出来了。由于不需要切割,WSI产生的整个晶圆最终会被作为一个芯片看待,因此在制造过程上,WSI可以避免受到单芯片尺寸的限制。目前尚未有详细的资料说明WSI光刻过程是如何进行的,不过,考虑到WSI技术的特殊性,厂商完全可以利用现有的设备和技术,对芯片上不同部分分区制造,当然,WSI可能需要耗费更多的、昂贵的掩模,但是和整个芯片的性能以及最终的单位性能价格相比,应该还是值得的。
  此外,WSI的发展历史也值得了解。WSI的初出茅庐是在1970年到1980年,当时主流晶圆还是2.5英寸,包括E匕女口TI和ITT等公司都尝试实现WSI技术,但是最终均告失败。真正在WSI技术上有所突破的是一家名为TrilogySystems的公司,这家公司在1980年获得了2.3亿美元的投资,开发了名为Trilogy Systems的WSI芯片,这是一个在lOOmm晶圆上实现的“超级计算机”,并且成功制造出了样品,但是随后由于各种原因包括自然灾害、资金不足等,产品在1985年宣布研发终止。1989年,英国一家公司也推出了WSI技术的产品,不过集成的是内存颗粒,一张晶元集成2021Mb内存,在当时也是天文数字了。
  从发展历史来看,WSI的研发道阻且长,对Cerebras公司来说,他们对此情况应该有充分的估计和预测。那么.Cerebras Wafer Scale Engine又是如何一款产品呢?
  史上最大芯片的诞生
  Cerebras Wafer Scale Engine发布于2019年的Hot Chip 31,其尺寸高达半平方英尺,也就是长宽分别为215mmx215mm。据Cerebras介绍,这款芯片由300mm(12英寸)晶圆制造完成,采用的是其合作伙伴TSMC的16nm工艺。
  在这里有一个数学问题需要完成。因为300mm2的晶圆最大只能容纳边长为212.lmm的正方形,那么215mm的边长是从何而来呢?实际上,WSE并不是彻底的正方形,而是带有圆角的形状。公布的尺寸是其边长最长尺寸的数据。
  和前文所说的一样,为了避免缺陷而导致整个芯片都无法工作,Cerebras WSE采用了分区设计的方法。整个芯片包含了84个相同的计算区块,排列方式為7x12的网格状。每个区块的长度和宽度分别为17.lmm和29.7mm,面积为510mm2。仅从这个面积来看,WSE的每个区块都堪比一个中高端GPU的大小。此外,Cerebras还宣称考虑到冗余和避免缺陷等原因,他们还额外设计了1%-1.5%的内核(后文对此还会有详细介绍)。在计算内核方面,84个区块带来了总计约40万个Al计算内核,如此庞大的数量,令人咋舌。
  除了上述基础信息外,还有一些内容值得关注。有关WSE的AI内核,整个芯片上内核数量大约有40余万个,全部都被设计用于执行AI计算,并且它们完全独立且可编程。此外,内核在工作流程上就被设计为独立的,它只执行自己的数据流,和周围的工作无关。不过由于AI计算在不断发展,因此内核设计需要一定的灵活性以支持未来的新功能和新操作。Cerebras表示,自己设计的ISA既有包括加载、存储、分支和算术等在内的通用操作,同时也包含了张量操作。一般来说,通用操作是一种标准的CPU操作,张量操作则面向Al计算。此外,Cerebras还添加了固定张量操作,作为整个WSE芯片上最重要的部分,芯片的张量操作直接接受2D和3D张量,类似于传统CPU上指定寄存器的过程。
  除了传统操作和张量操作外,AI核心还能够支持硬件加速稀疏计算。内核将执行数据流调度,所有的计算都由数据出发。内核在等待有用数据时可能会存在停顿延迟,从而过滤掉稀疏矩阵中的0数据,来避免不必要的乘加操作等处理。目前来看,只要这类计算能够跳过不需要的数据,并继续任何其他类型的工作,那么这种设计就可以被看做是一项新的功能特性。
  Cerebras还给出了一张图片用于展示一个可编程AI核心的内部结构。从这张图可以看出,WSE的AI核心数据交换开关位于计算核心四周,也就是说一个计算核心可以和周围四个计算核心交换数据,整个芯片都应该以类似mesh的方式运作。数据进入核心后,先经过数据流触发单元,将指令分为数据指令和控制指令,然后分别送入SRAM、寄存器或者FMAC执行单元以及张量控制中心。在这里, Cerebras标识所有路径都是可用的,因此计算任务会根据不同的类型,进行排队等待或者直接计算。在计算完成后,数据再由最短路径经过数据交换开关直接送出。
  在性能方面,由于WSE内部集成了84个超过500mm2的计算区块,因此整个芯片所能提供的算力是极为惊人的。当然,这也是Cerebras设计它的l初衷,因为只有这么庞大的集成量和计算量,才能大幅度提升性能并和传统的分立式“小”芯片GPU进行抗衡并取得商业上的成功。下表显示了WSE和之前英伟达发布的V100计算卡的性能差距。
  在规模和性能之外需要解决的问题就是:如何将WSE交到用户手上?由于这个芯片如此巨大,普通的设备根本不可能,也无力容纳它。因此,Cerebras还必须要设计出一整套的解决方案来满足该芯片的实际使用和销售。
  不过,由于保密方面的原因,Cerebras并没有给出太详细的信息来说明WSE是如何运作的。就目前而言,整套系统将采用一个15U机箱用于容纳芯片本身和辅助设备,而另一个机箱用于安装电源和一些其他部件。最终的产品可以使用lOOGbE的网络连接其他的加速器,从而组成一套运行系统。
  Cerebras还给出了一个表格用于对比Cerebras WSE Box和英伟达DGX-2的差异(见表2)。
  WSE芯片结构一览:全2D Mesh架构
  在了解了芯片本身的一些信息和整个设备后,接下来深入这个芯片的内部,来看看WSE内部的设计信息。   和前文所述的相同,WSE计算区块内部的所有计算核心都使用了统一的2D Mesh架构,这种架构可以带来本地通讯的低延迟,Cerebras将它称之为Swarm架构,同时宣称这种结构经过了充分的AI计算优化,是一种细粒度、全硬件、高带宽、低延迟的网状连接架构。具体来说,在宏观结构上,WSE的内部连接使用了完全可配置的结构,这一结构依赖于细粒度的单字消息传递,所有的通讯都在硬件内部完成,因此不会存在任何软件方面的开销。
  不仅如此,Swarm架构的2D Mesh结构不仅用于计算核心的内部通讯,还为相同的计算区块外部通讯提供支持。Cerebras在所有的计算区块间都采用了Mesh通信技术。通过一个统一的2D网络,将所有的计算区块、计算核心连接在一起。
  在制造方面,Cerebras通过和TSMC进行合作,解决了芯片之间的连接问题。技术方面,两者联手重新调整了划片槽的功能。所谓划片槽,是指两个相邻的计算区块之间的机械屏障,通常用于测试结构,并最终用来固定芯片。在台积电的帮助下,其划片槽内加入了金属沉积,使得Cerebras能够无缝地将2D Mesh连通网络扩展到整个巨大的芯片上。换句话来解释的话,所有核心区块内部的通讯可以在核心区块之间进行拓展。由于计算区块内的驱动信号可以直接转换为区块间的计算信号,这使得核心区块之间的通讯功耗直接降低了一个数量级。
  在存储器方面,WSE和其他所有的设计存在的差异在于没有布置外部存储单元。WSE将存储单元分布在片上各个计算区块中,采用SRAM进行存储。从结构上来看,这种设计和具有大缓存的NPU没有什么差异,但是这种设计在如此庞大的芯片上带来的是海量的存储空间。整个WSE的40万个计算核心总计带来了18Gb的内存容量以及9Pb/s的带宽,这意味着所有的数据都可以存放在本地芯片上直接进行存取,因此无需像传统处理器那样不断地通过内存总线进行数据交换,这也带来了大量能源的节约,并同时提供了极高的性能。
  软件方面,Cerebras表示目前已经提供了一个软件系统,用于驱动整个WSE芯片。现有的系统支持主流的ML框架,E匕女口PyTo rch和TensorFlow。Cerebras的软件系统能够将传统框架式的网络转换为执行自己专属的布局和数据路由的方式。Cerebras宣称,这个专用的软件系统可以根据计算的任务、大小和带宽进行调整,然后将调整后的结果最佳化适配至芯片的每一部分,从而使整个芯片高效率的运行。
  解决“大”的问题:缺陷、热胀冷缩和散热
  除了上述的优势和特色外,WSE还存在一些问题和缺陷。下面本文简单列出一些。
  冗余核心和链路:直面缺陷,解决问题
  在这里需要考虑工艺和晶圆固有缺陷的问题。前文我们已经描述了一些有关WSI芯片如何面对缺陷的内容。具体到WSE这款产品上,假设TSMC的16nm FF+工艺成熟度已经非常令人满意了,但是依旧会存在晶圆固有缺陷和工艺缺陷,难免出现—些坏点和坏块。
  对于这个问题,Cerebras设计芯片时已经充分考虑这一点,其在设计之初就加入了1000个额外的冗余计算内核和大量的冗余光纤链路,这些冗余部分共同构成了整个WSE架构。出于冗余的原因,每个晶圆都包含了1%~1.5%的额外AI核心(前文曾提到这个数据)。值得注意的是,冗余核心始終以冗余的状态存在。换句话来说,当某个区块没有存在缺陷时,仅仅禁用冗余核心即可,受缺陷影响的区块将判断情况,是否可以使用本地冗余核心来替换缺陷核心,如果可以的话,替换的同时会启动用冗余链路以建立新的本地mesh连接结构。不过,Cerebras没有说明如果存在区块异常会如何处理,不过如此巨大的芯片可能会考虑关闭部分损坏区块。在采用这项技术后,Cerebras可以极大地提高如此巨大芯片的良率。对软件来说,由于软件将整个芯片看作一个完整的计算结构,因此并不会影响软件方面的操作。
  热量:热胀冷缩以及特殊封装
  除了缺陷问题外,如此巨大的芯片面临的功耗和热量问题依1日令人棘手。尤其是硅晶圆和PCB之间的热膨胀系数的差异,经过热胀冷缩后会产生机械应力,在极端情况下会撕裂晶圆导致产品报废或者寿命大幅度缩短。
  为了解决这个问题,Cerebras设计了一个特殊的定制连接器,这个特殊的连接器可以夹在晶圆和PCB之间,连接器的设计能够吸收或者抵挡多余的应力,保持芯片和PCB的连接有效性,此外,Cerebras还需要更为谨慎地处理芯片的边缘,由于芯片尺寸过于巨大,因此更多的应力变化发生在芯片边缘部分,处理不当可能会造成灾难性后果。
  当然,依旧是由于尺寸过于巨大,这款芯片也不存在所谓的标准封装解决方案,也没有使用TSMC的标准设计流程。Cerebras开发了几乎所有的封装和测试流程,包括定制的封装、定制的PCB、定制的连接器、定制的冷却板等。这些定制设施提高了芯片生产的可靠性,并保证了整个芯片在生产和封装过程中的对齐和特殊处理过程正确无误。
  散热和电能
  巨大的芯片意味着巨大的电能消耗和巨大的发热。在电源方面,WSE无法使用传统的PCB电源平面布置方式。由于芯片面积巨大,传统的电源平面布置横向分配的方式无法使得整个晶元都获得均一稳定的电流供应。类似的还有之前的平面散热问题,冷空气在晶圆上的流动速度也不足以消除所有的热量。
  为此,Cerebras设计了垂直电流供应方案,避免了原本需要的难以想象的粗铜线,类似的方案还有散热,Cerebras设计了专用的垂直于晶圆的水冷散热方案。这两种技术的存在可以使得电源和散热始终维持在比较高的效率上,并且均匀分布,无论是晶圆的边缘还是中央部分。
  WSE是深度学习芯片发展的未来方向吗?
  从上文的介绍来看,CerebrasWSE芯片带来了巨大的规模、极大的计算能力和大量计算资源。其面积高达46225mm2,包含1.2万亿个晶体管和40万个优化的AI计算核心。存储架构可以保证内核以极高的效率运行,18Gb的片上存储内存以及单级内存层次结构、极低的数据存储延迟,都可以带来超高的计算性能。另外新的Swarm架构也可以实现数据传输的高效率和智能化。
  根据Cerebras的介绍,在最理想的情况下,WSE能够将训练模型的时间从之前的数月大幅度降低至数分钟,或者从几周降低至几秒,不过Cerebras没有说明对比的目标和具体信息。但是如此庞大的芯片能够带来的巨大性能和效率是之前任何一款传统芯片互联系统无法匹敌的。目前唯一令人担心的依1日是WSE系统的成本和生产能力,以及软件优化力度,毕竟如此庞大的芯片在之前很少有成功的先例。可以说,Cerebras WSE的出现,开创了一个新的AI计算的方向,但是它的灵活性和实用性还有待观察。深度学习本身的发展对算力的无尽需求,目前也催生了大量的解决方案,以Cerebras WSE为代表的这种方案,目前看来有可能成为和现有计算模式分庭抗礼的路线,但结果究竟如何,还需要继续观察。
转载注明来源:https://www.xzbu.com/8/view-15163015.htm