评论区最近都在问同一个问题
有人双3080(20G魔改)跑35B的MoE,晒出来的结论是"速度最高才140+ tokens",底下最高赞的诊断就一句话:3080没有NVLink,瓶颈在PCIe带宽那里。哔哩哔哩
有人手搓了半个多月的X99+DDR3+双2080Ti,装完晾在那了——57 token,帖子下面讨论的是vLLM在老CPU上编译慢跑不满、以及这套平台全套也就6000多块。
也有人真正跑通了:自编译llama.cpp、开NCCL、插上NVLink桥,27B Q6量化模型prefill能到1000 tps。哔哩哔哩 同一个评论区里,另一位把双2080Ti加桥玩到"玩腻了",4500块出掉,理由很实在:准备搞套能跑DeepSeek Flash的。
三条路线,撞的是同一堵墙:多买一张卡,你以为在买算力,其实在给"搬运"修路。
本周Together AI摆到台面上的,正是这堵墙
8月28日,Together AI前沿性能团队负责人Simran Arora在AI Engineer大会做了一个实测分享(中文字幕版8月30日刚进B站)。她开场的三组数字非常扎心。从2020年的A100到2024年的B200,BF16张量核心吞吐提升了7.2倍,但节点内互联只提升了3倍,跨节点互联只有2倍。哔哩哔哩 剪刀差越拉越大,瓶颈已经从芯片内部搬到了卡与卡之间的链路上。她的结论是:多数多卡负载跑在标准PyTorch+NCCL基线上,只能达到"感知通信的Roofline"上限的不到50%——你的第二张卡,一半的力气花在了排队等数据上。
为什么双消费级卡跑TP,注定拿不到双倍速
不想啃Roofline公式,记一个结论就够:张量并行(TP)每层Transformer至少要往卡间塞两次归约通信,卡越多、切得越碎,通信越频繁。算力涨7倍、带宽涨3倍,意味着同样的模型切法,链路吃掉的份额比上一代只会更大。知乎
而消费卡的现实更残酷:4090、5090被砍掉了NVLink接口,3080从来就没有;上一代还留着桥的,是2080Ti和3090。没有NVLink的TP,就是在PCIe上做多卡归约——上面那位双3080用户的"140 tokens上限",机制就在这里。
专业团队正在把"搬运层"重写一遍来抢效率。字节Seed开源的Triton-distributed源码里,AllReduce保留了好几套差异极大的算法:小消息用one-shot AllGather换低延迟,大消息用two-shot省带宽,支持NVSwitch多播的平台还会按64KiB的阈值在multimem路径间自动切换;gemm_allreduce里GEMM每算完一个tile就通过tile barrier触发通信kernel,让"算"和"传"同时进行。知乎 昇腾那边是FlashComm,把AllReduce拆开、推迟、再融合,外加通信量化——FP16改FP8,搬运量直接砍半。知乎
这些动作指向同一件事:等硬件变快是等不到了,得换一种搬数据的方式。
更好笑的是:AI暂时也翻不过这堵墙
Together AI先做了ParallelKittens——在单卡kernel上改大约十几行代码,就能实现生产级多卡通信原语,目前已经跑在Together AI和Cursor的生产环境里。哔哩哔哩 然后他们把问题反过来问:LLM能不能自己写出这种多卡内核?
他们甩出了ParallelKernelBench这套87道题的测试集,全部取自真实代码库。前沿模型的zero-shot正确率只有约32%。哔哩哔哩 成绩单的细分数:
最强前沿模型zero-shot只做对28道(约32%),其中仅22道比基线快;
加大采样,正确数提到36道,但"既对又快"的比例死死卡在31%附近;
套上多轮agent+shell环境的完整脚手架,也才做到35道。
失败的原因不是语法——重试几次模型都能编译通过,卡住它的是集合通信的排序、数据分区,以及"copy engine、TMA、寄存器传输"这类底层搬运方式的选择。哔哩哔哩 人类工程师刚刚才爬到这堵墙下面,LLM也在同一位置摔跤。
谁该在意这件事,分别怎么办
正在纠结加第二张消费卡的人:只有"量化后单卡仍装不下"才值得加卡——那是在买显存,不是买速度,别拿"翻倍"当预期。想快,先把单卡路径走完:更激进的量化、投机解码这类社区实测(27B-Q4在4090上靠DFlash2跑到80 tokens/s的帖子,评论区62条吵翻了,就是因为它动了"要不要加卡"的蛋糕)。
手里是2080Ti/3090+桥的人:你的平台是消费卡里通信条件最好的,自编译开NCCL的1000 tps prefill就是这么跑出来的。但先检查CPU和内存平台,老X99撑不住vLLM的Python开销,"手搓半个月然后晾着"的人多半栽在这里,而不是卡上。
ai-infra从业者与秋招选手:简历项目的关键词正在从"会写kernel"变成"懂计算-通信重叠"。Triton-distributed和ParallelKittens这两套源码,值得比背TP/DP/PP定义排得更靠前。
多卡部署的数据中心用户:盯一个信号——vLLM/SGLang的主线版本什么时候吸收这批通信重叠技术。吸收了,NCCL那不到50%的利用率就是可修复的软件问题;没吸收,预算就该继续往链路(NVSwitch、光互联)倾斜,而不是堆卡。
一句话收束:过去十年买卡的问题是"算力够不够",从今天起,问题是"线够不够宽"。加卡不再是乘法,先找到你卡住的那一环,再决定掏不掏钱。