AI宝库

AI宝库首页 › AI 资讯 › Cerebras 部署 Trillion-Paremeter AI模型

Cerebras 部署 Trillion-Paremeter AI模型

来源:Hacker News · 发布时间:10-25 · 由 AI宝库每小时自动聚合

文章 URL: https://www.cerebras.ai/blog/how-we-dploy-trillion-parameter-frontier-models-on-cerebras 评论 URL: https://news.ycombinator.com/item?id=502273 互联网档案馆的存檔,存档日期2013-12-12.

我们最常问的问题之一是,我们如何在Cerebras wafer-scale芯片上部署大型模型。 一个单一的Cerebras WSE-3T wafer拥有44GB的芯片上存储器,而万亿参数的前沿模型仅需要三字节来表示其重量。

以每秒1000-2000+令牌的方式运行多倍参数模型。

我们将使用开源模型Kimi K3

到最后,你会明白:

- 我们如何把完整的模型融入芯片记忆

- 我们如何在多个芯片上映射模型

- 我们如何处理大量同时提出的请求

用Kimi K3拆开

Kimi K3是一种开源,3T参数模型,有69个线性意向层和24个密层。

它在Bench 2.1号终端(vs. GPT-5.6 Sol's 88.8%)和浏览器Comp(vs. GPT-5.6 Sol's 90.4%)上得分惊人的88.3%. 这些结果表明前沿编码和代理能力,甚至在一些基准测试上优于领先的专利模型。 详见此处Kimi K3.

举例来说,我们使用:

- 假设平均请求大小256克

- 4位重量化(如Hugging Face执行)

- 8位 KV 缓存

# 1:每层的大小

为了计算Cerebras WSE-3T wafers的总数,我们需要支持Kimi K3,让我们首先计算每个模型层的大小。

Kimi K3有3兆个参数。 如果所有3T参数每个被存储为4位,原始参数有效载荷为:

然后将有效载荷分出93个层,从而:

#2:瓦费尔数

现在我们知道每层大约需要16GB,我们可以找出每44GB饼上有多少层相配。 答案取决于层类型:

- 敏感层需要一个额外的 KV 缓存空间,因为每个密集( 完全注意) 层会存储每个符号的密钥和值。 所以,我们把一个密集的层每个饼,留下剩下的SRAM 用于它的 KV 缓存。

- 线性观察层不需要为KV缓存增加空间。 线性注意层不为每个令牌存储密钥和值,而是为每个请求保持一个小的,固定大小的状态,无论上下文长度如何。 这为每个瓦片留下了两个线性地层(2×16GB=32GB)的空间。

因此,有了Kimi K3的69个线性地层和24个密集地层,我们得到:

这使得我们总共盘点出35+24=59个盘。

#3:把花饼连在一起

Cerebras在管道中执行模型。 在Cerebras编译器绘制了跨华费尔斯区域的模型层后,运行时间绘制了华费尔斯之间流出符号的路径。 对于超快的活性,只需要在饼花之间传递活性化,这可以通过RDMA来完成过以太网。 这大约是每跳2微秒。

需要强调的是,由于每块Cerebras wafer有44GB的芯片SRAM,每层只有16GB,所以我们通常能够直接将模型的整层装入芯片上。

这意味着在多数情况下,模型重量从来不需要移动,层层也不需要被分出来。 只有激活从一个饼到另一个饼

#4:我们如何满足一个要求

现在,我们把蜡烛连接在一起,并且模型被设定出来,我们可以把每块蜡烛看作是一个装配线上的一阶段:模型对每个阶段的权重保持不变,并且请求的中间结果会穿过层层。

例如,Wafer 1运行了模型层1–2,并将其活化到wafer 2. Wafer 2运行了3–4层,并将结果传递给Wafer 3等,直至最后的wafer产生下个符号。

#5:我们如何满足许多要求

这融资是一个常见的误解。 如果一个标志必须按顺序穿过每个饼饼,实际上,系统不是以一个批量大小运行的吗?

没有!如果我们一次向下发出一个请求,等待它完成之后再开始下一个请求,这将是对管道的低效利用。 相反,我们把整个管道都装满了不同的要求。 由于模型已经被分解为管道阶段,每个阶段可以同时处理不同的请求。

第3阶段处理请求A的代号,第2阶段处理请求B的代号,第1阶段处理请求C的代号。 在我们的例子中,每个阶段都是一层。 在生产中,Cerebras使用许多更精细的分级,还有更多的分级。

每个阶段还可以处理一个微批,一个小组的请求,而不是一个单一的请求。 因此,飞行中的请求数量大致是相相相乘以微小批量大小。

为了理解取舍,更小的微管使每个请求更快地完成,而更小的微管会增加总吞吐量。

#6:我们能满足多少请求?

分配给 KV 缓存的芯片内存量决定了同时请求的最大数量。 每一次飞行中的请求都需要自己的KV缓存在每个密集层的地盘上,因此芯片上存储器的大小为同时提出的请求设定了上限。 如上所解释,我们只需要计算出密层的KV缓存要求。

对于已经有一个密集层的44GB卷轴,我们可以用:

蜡烛存储总量 - 一个密集层的大小。 在这种情况下:

计算同时请求的 #

为了找到支持任何特定模型映射的并行请求数量,我们首先计算一个256k请求要处理多少缓存:

然后计算此配置将支持的并行请求总数,我们除以:

同时提出的请求总数是任何时间通过管道的请求总数。 与GPU批量不同,这些请求不会等待对方完成

当然,无论是货币还是批量大小,都无法确切地告诉你一个推论系统是如何高效运作的。 在评价一个推论系统的吞吐量时,更有意义的衡量标准是每单位功率(如每兆瓦每秒的活量)的总信使吞吐量,如果测量时输出速度相同。

如何超越3T参数

同一方法也延伸到了更大的模型:计算出重量和请求状态所需的内存,将模型分布在饼饼上,并把它们连接到一条管道上。 每个额外的饼饼都贡献出计算和芯片上存储器,使我们能够容纳超过任何单个芯片容量的模型。

谢谢你和我们一起学习!有兴趣在Cerebras上部署模型还是用我们的推论云来建造?

- 开始我们的免费API:云.cerebras.

- 联系我们的销售团队:销售@cerebras.ai

(原始内容存档于2017-10-21). Harley Chan. 感谢阿特哈瓦·塔尔帕德,高振伟,安吉拉·杨克,杰西卡·刘克,乔伊斯·埃尔,艾玛·克尔,和罗汉·古普塔的审查和反馈。

本文由 AI宝库自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。

相关 AI 工具

相关免费羊毛

同源资讯

阅读原文(cerebras.ai)

标题、摘要与正文均来自该信源的公开页面,版权归原作者所有;本站自动聚合与翻译,仅作出处跳转。

← 返回 AI 资讯列表AI工具图鉴首页

返回 AI宝库首页 · 提交工具 · 商务合作 · 关于本站 · 590 款 AI 工具分类导航 · 每日 AI 热门项目与动态