【新智元导读】Groq一夜爆火的背后,是自研的发言经管单位硬件LPU,不日,Substack的专栏作者Abhinav Upadhyay为咱们一步步揭示了LPU底层架构的玄妙
依据自研的硬件加快器LPU,告终了500个token/s的神级推理速率,就地秒杀了ChatGPT。
Groq的研发团队正在LPU上利用了改进的硬件架构策画,并配套了健壮的编译器。
到目前为止,Groq并没有给出任何闭于LPU自身的论文,但正在过去几年中,他们楬橥了下面两篇论文:
两篇职责差异正在2020年和2022年楬橥正在打算机系统构造顶会ISCA上,后一篇仍旧获奖论文。
这两篇作品注释了Groq的张量流经管器(TSP)的策画和达成,以及他们何如利用TSP构修漫衍式推理引擎。
尽量没有正式声明,但LPU很或者是基于这个漫衍式编造来举行策画和扩展的。
那么,咱们就开始周密分析一下TSP及其编译器的架构,然后以此为根原先剖判Groq何如利用这些TSP,构修牢靠且高含糊量的漫衍式AI推理引擎。
TSP的架构与古代的CPU或GPU芯片有很大分别,首要主意是为了让TSP硬件更具确定性。
基于微架构的策画硬件,正在CPU和GPU上实行指令是不确定的,——即无法保障特定指令何时实行、告终须要多长时候以及何时供应结果。
- 预测实行(Speculative execution):对待分支,它会料想分支条目是真是假,并实行该分支以进步含糊量(当然要是猜错了,就须要放弃并返回另一条分支);
- 指令流水线(Instruction pipelining):将指令分为多个阶段,以流水线的式样实行,再次进步了指令含糊量;
而GPU又有其他少许非确定性要素,囊括缓存、共享和全部内存、动态资源分区等。
非确定性带来的题目是,咱们很难推理步伐的职能,也很难保障最坏情景下的职能局部。
于是,Groq为TSP提出了一个全新的策画,高度并行,且没有不确定行径。这扑灭了硬件的繁杂性,使编译器或许取得更大的权柄,正确调换和限定指令的实行半岛BOB,保障对步伐职能的局部。
TSP的硬件策画与CPU或GPU的策画造成明晰比较。古代的多核芯片采用平铺架构,不才图(a)中,每个幼方块(tile)代表一个经管中央。
中央由一构成效单位构成,掌握实行分别类型的打算(算术运算、内存运算、逻辑运算、指令限定等)。
而TSP的策画师将这种古代策画彻底推翻了。他们将成效单位移到中央除表,以2d网格式样摆列。
网格的每一列只包蕴特定类型的成效单位,称为切片(slice)。下图显示了古代多核芯片和TSP正在策画上的区别。
ICU:指令限定单位,这个有点迥殊半岛BOB,即是上图(b)底部那一条程度的蓝色条半岛BOB,它掌握获取和调换指令并正在其他切片上实行。
TSP以SIMD(单指令大都据)式样实行指令。每个成效切片由20个tile构成,每个tile或许经管16个数。于是,一个完全的切片可能经管并天生最大320个元素的向量。
当从内存中读取向量时,会为其分派流ID(介于0到31之间)和流向(东或西)。每个切片都可能自正在经管流并天生新的结果流,也可能让流按原样流向下一个相邻切片。
TSP中指令的流水线实行会导致流正在切片之间交织搬动。上图的玄色块描写了流正在切片中分别时候戳的搬动。
TSP的策画职员简化了硬件,以是压力就给到了编译器这边。编译器须要正确地调换指令和数据流,以精确实行给定的步伐,并以最有用的式样实行。
- 320个通道的编程空洞:TSP芯片中的每个tile都或许以SIMD式样正在矢量的16个单位(16个通道)上运转半岛BOB半岛BOB。笔直切片由20个云云的tile构成,于是总共有320个SIMD通道可供实行;
- 144个独立指令队伍:芯片上有144个指令队伍,每个周期或许发出一条或多条指令。编译器可能统统限定每个队伍中的步伐按次;
- 每个通道64个逻辑流:每个通道可能访谒64个逻辑流,可用于搬动操作数或结果,此中32个可用于向东搬动数据,而其余32个用于向西搬动数据;
因为TSP硬件中没有非确定性行径,于是编译器可能无误体会每条指令的延迟,以及步伐中的数据流(DNN的打算图等)。
编译器识别打算义务之间的依赖联系,并分派到TSP的可用成效单位上并行实行。
TSP是LPU的根本单位。很多TSP以机架的地势组合正在一块,造成一个或许供应洪量含糊量的漫衍式编造。
与TSP相通,漫衍式多TSP编造的策画方向也缠绕着确定性数据流和指令实行,以及节点之间的低延迟通讯。
漫衍式TSP编造的策画从节点开端。节点由机箱内8个TSP修立构成。这些修立中的每一个都由11个引脚构成,此中7个引脚用于将每个TSP修立相联到节点中的其他7个TSP修立半岛BOB,其余4个引脚用于造玉成部链接。
节点中的每个修立都有4个全部链道,总共有32个全部链道,合伙组成了一个32个虚拟端口的高基数道由器(high-radix router)。
高基数道由器接济洪量相联、高带宽和高职能,这恰是高职能漫衍式编造所须要的。
将9个云云的TSP节点和8个TSP组合成一个机架。机架中的每个节点都有32个端口,于是机架总共有288个全部端口。
此中144个端口正在机架内当地利用,以便正在机架内急速传输数据,其余144个端口用于相联到其他机架。
最大装备的编造可能接济145个互相互连的机架,囊括10440个TSP,编造中任何两个TSP之间最多有5个hops。
正在这种扩展的漫衍式编造轨造中,单个TSP的成效单位充任大界限并行经管器的单个经管中央。TSP的打算模子基于确定性硬件,以是统统漫衍式编造也应拥有同样确切定性。
每个TSP修立都包蕴一个称为硬件对齐计数器(HAC)的硬件计数器,溢出周期为256。TSP通过以下设施利用它来互相同步:
- 当两个TSP互连时,此中一个TSP将其HAC值传输给对方。然后,对方将该值返回发送方。发送方张望而今HAC值与返回值之间的差值。
- 这个差值就代表了两个修立之间链道的延迟。此经过反复多次,取得两个TSP之间的均匀链道延迟。
- 之后,两个修立以父子联系摆列。父级按期将而今HAC值发送给子级。子级将均匀链道延迟与自身的HAC值相加,并与自身的HAC值举行比力。
- 两个值之间的差值体现因为持续时钟漂移而导致的初始未瞄准。然后子级调动其HAC值以减幼此区别。正在多次反复此经事后,两个TSP的HAC值会收敛正在一个幼邻域内,体现链道延迟的震颤。
- 公约答允两个TSP互相同步,而且可能通过正在收鸠集确立天生树来扩展TSP多跳收集。
步伐正在多TSP编造上实行之前,须要对十全数TSP,以精确调换统统编造的数据流和指令实行。这涉及到以下机造:
- 正在单个TSP级别,有几个独立的成效单位和144个独立的指令队伍。为了同步它们,TSP接济SYNC和NOTIFY指令。SYNC指令将全数指令队伍置于停放状况,此中一个队伍充任闭照步伐。当闭照器发出 NOTIFY指令时,该指令被播送到芯片上的全数队伍硬件,此时它们被同步并复兴操作。
- 对待多TSP编造,两个TSP利用HAC互相同步,其余每个TSP都接济DESKEW指令,用于停顿经管任何后续指令,直到TSP的HAC溢出。
固然TSP正在步伐开端时举行一次性同步,但它们也须要正在步伐实行功夫从头同步硬件,由于每个TSP都有自身独立的时钟源。
为此,TSP利用更轻量级的计划。除了HAC除表,每个TSP都有一个软件对齐计数器(SAC),其溢出周期与HAC相似。
然则,SAC正在TSP之间分别步,SAC只是打算TSP的时钟周期。HAC值体现漫衍式编造的全部时候,而SAC体现当地时候。于是,HAC和SAC值之间的增量肯定了累积漂移。
为了从头同步当地和全部时候,TSP实行一条RUNTIME_DESKEW指令。编造中的每个TSP同时实行该指令,凭据累积的漂移调动全部时候与当地时候。
到目前为止,编译器或许对TSP内以及统统收鸠集的数据搬动举行周期无误的体会。编译器清楚正在源TSP上注入向量的切及时候以及它来到方向TSP的切及时候,称为软件规划收集。
对待深度研习模子,编译器可能凭据模子的静态打算图揣测数据流。编译器还可能正在收鸠集可用的TSP修立之间主动分派打算义务。
于是,编译器会打算每个子义务的正确实行时候以及各层之间的激活换取。这使得并行分析设施显式,并统统由编译器限定。
正在古代的收集编造中,通过收集的数据包流由硬件约束,硬件正在觉取得收鸠集的负载时会优化道由。数据流中的这种被动调动会推广延迟,并正在数据流中引入非确定性半岛BOB揭开Groq LPU机密面纱:全国最快硬件加快器的底层架构打算。
为了避免这种情景,漫衍式多TSP编造利用编译器显式调换通过收集的数据流。编译器奇妙隧道由数据,以便正在职何时候点都不会正在收鸠集涌现堵塞聚积。
除此除表,编译器规划的数据流还改革了收鸠集的延迟,由于编译器可能调换数据主动推送,而不是必需通过修立乞请。
正在编译时调换数据流的另一个所长是,它答允编译器有用地跨可用链接对流举行负载平衡。正在古代收鸠集,硬件凭据道由器中可用的堵塞目标,按数据包实行道由计划。
然则硬件,正在多TSP编造的情景下,编译器会凭据数据量以最佳式样实行调换,并采选要涣散流量的链道数目。云云可能有用地愚弄编造中的可用带宽,并削减全体延迟。
原题目:《揭开Groq LPU奥妙面纱:全国最速硬件加快器的底层架构策画!》
本文为汹涌号作家或机构正在汹涌信息上传并颁发,仅代表该作家或机构看法,不代表汹涌信息的看法或态度,汹涌信息仅供应音讯颁发平台。申请汹涌号请用电脑访谒。