博客

9 posts
2026.10.26

同一个配置连跑六次,吞吐在 366 到 561 之间乱跳:想看出 5% 的改进,该多跑几次,还是换一把尺子?

三张卡跑一个大模型,我想知道加第四张能快多少,拿别人的四卡数字一比,得出 0.90 倍,当场编了一个「流水线变长抵消算力」的机制。后来发现这台机器被功耗墙锁着,同一个配置连跑六次,吞吐在 366 和 561 之间跳,变异系数 15%。这篇给一个除法,开跑之前就能算出你的尺子能看出多大的差;再讲我怎么换成一个不随时钟变的读数,以及这把新尺子读数最高的那一格,恰好是最差的那个配置。

推理 · benchmark · 投机解码18 min 阅读
2026.10.23

三张卡的 GPU 利用率都卡在 33%,瓶颈到底在哪?我排了三轮,结论倒了两个半

三张 64GB 卡跑一个 320B 的 MoE,24 tok/s,nvidia-smi 上三张卡都是 33%。我当晚排除了「轮流干活」和「带宽打满」,判定瓶颈在跨卡链路,证据是一条在并发 4 和 8 都停在 49 tok/s 的封顶曲线。两个月后重读原始数据:那条封顶线是服务器默认的 4 个槽位画出来的,我用来排除「轮流干活」的那组数字,恰好是轮流干活最直接的证据。这篇给两个除法和一个乘法,拿来读懂多卡推理的利用率和并发曲线。

llm · inference · multi-gpu15 min 阅读
2026.10.21

同一张表读出 2.58 倍,换上之后我自己用着却觉得没区别:投机解码的加速比,到底该看哪一格?

同一张并发扫描表,读 64 并发那格得出「不换」,读 8 并发那格得出「快 2.58 倍」。换上之后,我在自己的聊天客户端里看到的散文速度是 38 tok/s,直连同一个服务是 74.1。数据一个都没错,错在我从哪一格读、以及测到哪一层为止。这篇给一个算「整轮到底快了多少」的式子,一个拆模型卡加速数字的除法,和一份读加速比之前要先问的清单。

推理 · 投机解码 · benchmark18 min 阅读
2026.10.20

三个剪枝版在同一批题上一起塌方,我判是原版本身不行:为什么官方接口跑一遍就把结论翻了回来?

三个剪过专家的 DeepSeek-V4-Flash 在我的题库上都只有 7.3 分左右,它们答错的题高度重合,我据此推翻自己,判定是原版底子差。后来直接调官方接口跑同一套题:9.21,全场最高。这篇讲那个重合度统计为什么在这个问题上没有分辨力,怎么在跑统计之前就看出来,以及剪枝仓库自带的那张跑分表该怎么读。

llm · moe · pruning17 min 阅读
2026.10.10

同一台机器、同样 8 条请求并发,我测出过 72、171、359、606 四个吞吐:哪个才是它的真实速度?

我给三张矿卡跑的大模型预先立了一条线:并发吞吐放大不到 3 倍就重新评估这套方案。第一次测出 2.84 倍,差点就判了死刑。后来发现那个数量的主要是请求什么时候停下来,跟算力关系不大。同一台机器同样 8 路,换 prompt 长度、换停止方式、换内容,聚合吞吐能从 72 跳到 606。这篇给一个能自己算的墙钟拆分公式,把这四个数逐个对上账,再给几条拆别人并发跑分的判据。

推理 · benchmark · 方法论15 min 阅读
2026.09.17

同一张卡,8bit 比 4bit 单流快 10%——为什么我最后选了慢的那个?

四天前我在这张卡上测完一个 27B 稠密模型,结论是官方 8bit 全面领先。换成 35B 的 MoE 再测,方向整个反了:8bit 单流仍然快,但一上并发就全线输,因为它的权重多占了 11 GiB,换走了 60 万 token 的上下文空间。这篇给出那个换算的除法,和一条判断「这个量化结论能不能外推」的判据。

llm · quantization · moe13 min 阅读