4 张 V100 跑满一整天

前两篇写了怎么用 4 张 V100 跑 Qwen3.8-Flash-Next,这篇记一下它被真实业务用满一整天是什么样子。

跑的什么

配置没变:4 张 V100 PCIe 32GB,每张卡限制在 200W,AWQ int4 量化,开了 MTP4,上下文最长 512K,最多 4 路并发,另外拿 64GB 内存做 KV 缓存。

业务是我自己的一条 Agent 流水线,没人看着自己跑:一个主 Agent 管调度和审核,3 个子 Agent 一页一页地读 PDF,把内容抽成结构化记录。

我挑了 10 月 1 日早上 8 点到第二天早上 8 点这 24 小时,中间没重启过。前 19 个多小时一直满载,后面活干完了,就闲下来了。

数字

这一天一共 1 万多个请求,输入 5.76 亿 token,输出 638 万 token。满载的时候,输出稳定在每秒 85 到 95 个 token,大部分时间有 3 路请求同时在跑,基本不用排队,没出过一次错,也没掉过线。

请求大多是子 Agent 发的,上下文在 5 万左右,每次输出两三百 token,十几秒就返回。主 Agent 的上下文会一直涨到 49 万左右,然后自动压缩一次。这一天压缩了一回,用了不到 3 分钟。

MTP4 平均每步能接受 3.9 个 token,比上线验收时还高一点。抽取任务的输出格式很固定,草稿模型好猜。

活干了多少:本地模型读了 1,528 页,抽出 8,336 条记录;主 Agent 跑了 517 轮。

缓存才是关键

输入和输出差不多是 90 比 1。Agent 每走一步都要把整段上下文重新发一遍,真正新写的东西很少。

这 5.76 亿输入里,88% 直接命中显存里的缓存,将近 5% 从内存里捞回来,真正要重算的只有 7%,大概 4,000 万 token。要是全部从头算,按每秒 2,000 token 得算 80 个小时,一天根本跑不完。

还能更快

同样一页,云端模型 1 分钟左右读完,本地要 2 分多钟。差在本地模型写得多:每页大概 4,000 token,云端只要 2,000。读得倒是一点不差,抽出来的引用全都能在原文里逐字找到。下一步要做的,就是让它少写点。