同样16块芯片,比英
测试是伟达用16块TPU v7 Ironwood对阵16块英伟达GB200,megakernel把内存带宽利用率逼到了硬件理论峰值附近。理框GSM8K是谷歌97.2%,
联合创始人Woosuk Kwon是比英整个vLLM项目的发起人,什么时候把空间腾出来。伟达
64 MiB的理框容量足够同时装下当前层的计算数据和下一层预取的权重。
最终,谷歌一群靠给英伟达GPU写推理引擎成名的比英人。
传统的伟达做法是把一次推理拆成几百个独立的kernel,社区贡献者超过2000人,理框按理说应该能从硬件规格表上找到解释,谷歌内存带宽几乎没有空转的比英时刻。
Kimi K3一共有92层MoE计算,伟达转头把TPU的推理速度做到了GPU前面。从而消除程序之间切换时的带宽浪费。
这些kernel排着队一个接一个地执行,下一个还没有启动起来,
Inferact在博客里提到,其原理是让一个小模型先快速猜出一串候选token,焊成一个大程序
Inferact用一个叫megakernel的方案解决了TPU上的推理效率问题,
配合TPU独特的片上内存架构,是把模型推理时原本要调度的几百个独立小程序,Pallas是谷歌给TPU做的底层编程语言,下一个token再重新搬一遍。
vLLM原班人马的创业公司
Inferact去年11月成立,公司估值8亿美元。
双方的目标是让TPU成为vLLM的一流支持对象,耗时从XLA的30分钟以上降到了不到90秒,
关掉推测解码看裸速,TPU赢了。克雷西 发自 凹非寺
量子位 | 公众号QbitAI
16块快了57%。由工程师自己来决定每一步搬什么数据、
这样做还带来了一个额外好处,差距接近一倍。GB200跑出每秒452个,TPU跑出的成绩是每秒709个token,
CUDA Graphs和英伟达最新的PDL技术能缩短这个间隙,TPU快57%
Inferact把TPU和GPU放在完全相同的条件下跑了一轮benchmark,Inferact把这92层的计算逻辑从头到尾塞进了一个Pallas程序里,实际上来源于芯片上面跑的那层软件。跨层权重预取就变得顺理成章了。GB200只有127个,Meta、支持超过500种模型架构,所有的优化成果都会回馈给上游的开源社区,差距同样拉得开。猜错的回退重来。由硬件自动调度,一次调用就走完整个模型的前向传播。
TPU默认的编译工具链XLA擅长优化单层计算,真格、
他们给TPU写了一种叫的推理内核,之前在Anyscale工作。存在哪块缓存、速度就差出了57%。但跨92层协调数据搬运的决策分支太多,工程师可以精确控制什么时候往里面装什么数据、这段时间里内存带宽就这么空转着。每个kernel负责一小块计算。和GPU上的结果完全一致。
这套代码,芯片换一下,既不是造Kimi的月之暗面,英伟达Blackwell架构的片上内存分散在152个SM里面,
目前这套megakernel是针对Kimi K3的模型结构做的定制优化,
这次的TPU megakernel来自Inferact与Google Cloud的一项联合工程合作。K3在TPU上跑出了前面提到的每秒709 token的成绩。
Inferact的做法是绕过XLA,两边都跑Kimi K3,
另外在Qwen上,Character.ai都拿它来做线上的推理服务。如果换一个模型架构还需要重新适配。那就是编译速度大幅提升,每秒跑出1515个token,
第N层还在算MoE的时候,但kernel之间的边界还在。而GB200的HBM带宽反而更高,模型一样,
TPU的硬件特性让这种编排做起来格外顺畅。GB200只有636个。
TPU v7的每个TensorCore带有64 MiB的VMEM片上内存,
边界消失之后,什么时候释放。团队几乎就是vLLM的原始开发者,第N+1层的attention权重已经开始从HBM往片上缓存搬了。XLA的自动调度找不到最优解。
计算和数据搬运同时进行,在数据搬运。Google、核心思路,
这种程度的差距,
推理引擎一样,
DSpark是由DeepSeek提出的推理加速框架,tpu-megakernels代码仓库是这次合作的第一个公开成果。TPU达到865个token每秒,
两款芯片的算力也在同一个量级,TPU的速度快了57%。伯克利计算机科学博士,
大模型推理的速度瓶颈不在计算,工程师改完一版kernel一分半钟就能上机验证。
他们今年一月出来创业,两种芯片的差距更大。导师是Ion Stoica。
首席科学家游凯超曾获清华大学特等奖学金,
而且这种提速并没有造成精度损失,
在batch size为1的情况下,
把batch size放大到8,
配上加速框架,但问题出依然会在交接的间隙。这个算法至今仍然是vLLM的核心技术。a16z和Lightspeed领投,估值8亿美元。Altimeter跟投。是一家叫的推理创业公司。都用vLLM推理引擎,达到8000 GB/s,
CEO Simon Mo是vLLM项目的原始维护者,Kimi K3在TPU上的GPQA-Diamond得分是94.4%,
Inferact用Pallas语言手写了整个megakernel的代码,要做类似的跨层编排限制更多。跑出来的速度反而更低。总量大约38 MiB,用Pallas语言手写整个megakernel的代码,唯一的变量是芯片和底层的kernel实现。角色类似英伟达GPU上的CUDA。TPU v7的HBM带宽是7380 GB/s,
Kwon提出的PagedAttention算法解决了GPU显存管理中的碎片化问题,模型的全部权重都要从HBM主存搬进芯片内部的高速缓存里算一遍,
参考链接:
https://inferact.ai/blog/tpu-megakernels
每生成一个token,红杉、
这个速度里有DSpark推测解码的功劳。
Inferact今年完成了1.5亿美元的种子轮融资,
上一个kernel干完了,带宽更大的那块芯片,然后大模型再对这串候选token做批量验证,
vLLM是目前开源推理引擎领域的重量级框架,猜对的直接跳过,
做出这个成绩的,同样配置的GB200只跑出了695个。但实际情况恰好相反。
这种速度的差距,把模型推理时原本要调度的几百个小程序焊成一个大程序。
Inferact创始团队就是领投的1.5亿美元种子轮,团队接下来会把megakernel的支持扩展到更多模型架构上。也不是造TPU的谷歌,
把几百个小kernel,算完这一轮,
Inferact用4块TPU v7跑Qwen 3.8 27B,
Inferact的megakernel直接消除了这个边界。伯克利EECS毕业,
GPU那边情况不同,这块内存的生命周期完全交给软件来管理,TPU每秒能跑249个token,Inferact用greedy decoding做了验证,合并成一个大程序,现在已经开源。