8 条请求截断 7 条,我差点判了模型死刑:给本地模型做选型,哪几次其实是在测我自己?
同一天给两个本地 Qwen 模型做选型,我下了四次结论,三次测的是我自己:漏了一个启动参数让思维链灌进正文,只修了一边就去对照,自己出的 8 道题里有 3 道是坏题,想开思考的请求参数被服务端静默覆盖。这篇给三个不读源码就能用的判据:答案占比、坏题率对分差、两组配置逐字节相同。
llm · inference · vLLM17 min 阅读同一天给两个本地 Qwen 模型做选型,我下了四次结论,三次测的是我自己:漏了一个启动参数让思维链灌进正文,只修了一边就去对照,自己出的 8 道题里有 3 道是坏题,想开思考的请求参数被服务端静默覆盖。这篇给三个不读源码就能用的判据:答案占比、坏题率对分差、两组配置逐字节相同。
llm · inference · vLLM17 min 阅读两台机器跑同一个 Qwen 系列模型,都有约 3.3% 的请求在工具调用续轮时报错。我把社区重写的聊天模板换上第一台,19 种参数形状从挂 7 个变成挂 0 个;换到第二台的隔离副本上,坏请求照样 500,而且只用了 3 毫秒。这篇讲怎么用失败耗时判断错误发生在哪一层,怎么把 341 次报错还原成 39 个坏会话,以及 README 里那个「快 80%」为什么不能信。
llm · inference · llama.cpp14 min 阅读三张 64GB 卡跑一个 320B 的 MoE,24 tok/s,nvidia-smi 上三张卡都是 33%。我当晚排除了「轮流干活」和「带宽打满」,判定瓶颈在跨卡链路,证据是一条在并发 4 和 8 都停在 49 tok/s 的封顶曲线。两个月后重读原始数据:那条封顶线是服务器默认的 4 个槽位画出来的,我用来排除「轮流干活」的那组数字,恰好是轮流干活最直接的证据。这篇给两个除法和一个乘法,拿来读懂多卡推理的利用率和并发曲线。
llm · inference · multi-gpu15 min 阅读三个剪过专家的 DeepSeek-V4-Flash 在我的题库上都只有 7.3 分左右,它们答错的题高度重合,我据此推翻自己,判定是原版底子差。后来直接调官方接口跑同一套题:9.21,全场最高。这篇讲那个重合度统计为什么在这个问题上没有分辨力,怎么在跑统计之前就看出来,以及剪枝仓库自带的那张跑分表该怎么读。
llm · moe · pruning17 min 阅读一个新出的高速 tokenizer 宣传比 HuggingFace 快约 1000 倍。我在一台 6 核的 Ryzen 上跑了六种负载,倍数从 0.07 到 26.33 不等。这篇拆开 README 自己的表,说明这种倍数主要由分母决定,再给一个除法,算你的文本量要多大,换 tokenizer 省下的时间才够一次模型调用。
LLM · benchmarking · 性能11 min 阅读我给并发控制器顺手写了个 per_backend = 8,在它上面盖了一整天楼,四套优化方案全瞄准只占 13.7% 的那一段。换成实测值后端到端从 20.47 秒降到 17.50 秒,接着我发现任何取值的上限都只有两种状态:卡人,或者永远碰不到。这篇给三个除法,外加一个识破「利用率才 41%」的判据。
LLM · 推理 · 并发15 min 阅读一个社区仓库说 DeepSeek-V4-Flash 在三张 64GB 卡上加载就崩,只有四张能跑。我按显存账推出「提高显存比例就行」,两天后读源码发现那个参数在加载阶段根本不生效。他测的两档比例差 3.2 GiB,崩在同一行,这本来就是资源无关的证据,我读反了。真凶是一个环境变量,它比那条「三卡不行」的结论晚 22 小时才进仓库。
GPU · LLM · 推理17 min 阅读一台 16GB 内存的游戏本跑本地模型,把 llama.cpp 的 prompt cache 从 1GiB 扩到 4GiB 之后,45K token 以上的长请求中位等待从 47 秒降到 3.4 秒。我按复用距离算出再加到 6GiB 还能多命中 8 到 10 个百分点,结果不到 50 分钟它就被容器内存上限杀了一次,61 分钟时又被我自己的护栏回滚。账没算错,漏的是一个加法:容器上限要装下缓存,还要装下缓存之外那 2.1GiB。
llm · llama.cpp · 缓存13 min 阅读一个 118B 的 MoE 模型,KV 缓存压成 4-bit 之后,按公式 1M token 只要 13.3 GB,加上权重 62.6 GB,比我这台 64GB 的 M1 Max 还少 6 GB。实测 128K 通过,256K 被我自己设的内存看门狗掐掉。拆下来,每多读一个 token,峰值内存至少涨 39.4 KB,是压缩公式的 3.1 倍。这篇给三个能自己算的式子:KV 每 token 体积、用两档实测推出可用上限、用三档实测推出长上下文的出字速度,以及一份「这个模型到底能吃多长」的检查顺序。
llm · 长上下文 · 内存16 min 阅读让一个 35B 本地模型玩小丑牌,每次改提示词都看平均打到第几回合。先把什么都不改的配置跑两遍,量出噪声,再去判断改动。一句「小丑栏空着就先买小丑」让平均回合从 6.58 和 6.32 涨到 9.12,配对 36:7;但同样这 60 局,要是只看前 20 局,结论会是「没用」。这篇给两条能自己算的账:60 局能看出多大的改进,想看出 +1 回合要跑多少局;以及为什么「什么都不改跑两遍」量出来的噪声只是下限。
LLM · 评测 · 游戏16 min 阅读让一个 35B 本地模型在没有无障碍树的窗口里点按钮。两条路各有长短:直接报坐标快 6 倍但略不准,先识别再选准一点但每步 3 秒。拼成组合路由后 200 次真点击对 190 次,可这多出来的 2 次在统计上什么都证明不了。更值钱的发现是:两条路「意见一致」远没有看起来那么可靠,它们的错误是绑在一起的。三条能自己算的账:两路错误是否独立、混合路由的平均延迟、零错误到底说明多少。
LLM · Agent · 评测16 min 阅读让一个 35B 本地模型玩《王权:三国》,三局实战比「思考 / 不思考 / 随机」,结果分不开。改做 360 道离线题之后才发现,四项数值里有一项的名字被我起错了,模型一直在按错的含义推理。改对一个字,同一套题从 59.2% 到 72.1%。这篇给三条能自己算的账:错误能拆到哪一项、题库的天花板在哪、实战要多少局才分得出高下。
LLM · 评测 · 游戏15 min 阅读我在自己机器上把 Jeff Dean 那张 2007 年的延迟数字表重测了一遍,又补了一张毫秒级的新表:本地模型最短往返 79 毫秒,Python 循环一圈 23 纳秒。用这张表一算,砍 5000 token 的 prompt 省下的时间还不到一次调用。这篇给两个除法,外加一个识破「每 token 预填充多少微秒」这类数字的办法。
性能 · 方法论 · LLM15 min 阅读一个只做一次前向、读两个词概率来做二选一的决策模型,裸测下来跟抛硬币一样。但它的 AUC 是 0.949——信号一直在,只是被先验淹了。这篇给出算偏置量的两个加减法、一段识破别人 benchmark 的判据,和一份照着做的清单。
LLM · 评测 · 本地部署12 min 阅读让模型只做一次前向、不解码、直接读选项字母的概率,这套玩法能有多快、多准。85 道自造题上它考了 94 分,换成 300 道公开题只剩 76.7 分。顺带拆一条并发曲线里的除法,和一个让我读出 6/20 荒谬数字的探针 bug。
LLM · benchmark · 本地推理19 min 阅读同一批角色、同一个决策点,把一生的记忆全喂进去,模型的行为只被埋点影响 38 次;压缩到 43% 的体积,反而 49 次。我把这个结论写下来的时候漏了一个对照臂,补上之后发现三分之二的功劳记错了人。这篇给出那个能自己算的除法,以及我四轮判据里前三轮是怎么骗我的。
llm · evaluation · memory15 min 阅读四天前我在这张卡上测完一个 27B 稠密模型,结论是官方 8bit 全面领先。换成 35B 的 MoE 再测,方向整个反了:8bit 单流仍然快,但一上并发就全线输,因为它的权重多占了 11 GiB,换走了 60 万 token 的上下文空间。这篇给出那个换算的除法,和一条判断「这个量化结论能不能外推」的判据。
llm · quantization · moe13 min 阅读答案是 20 那个,8/8 对 7/8。同一天另一个探针里,关系数值又明明白白起了作用——差别不在数值,在数值旁边有没有一件具体的事。附一条可自算的履职公式,和三个被我自己判掉的实验。
llm · simulation · evaluation19 min 阅读一次本地模型缓存实验:新会话复用了全部 3633 个输入 token,负对照却被我判成通过。换会话 ID 为什么隔离不了缓存,以及怎样检查加速数字的分母。
LLM · benchmarking · caching9 min 阅读我在笔记里写下「四并发聚合约 350 tok/s,continuous batching 真有效」,第二天拆开完成时间一看,四条请求一条接一条排队,聚合吞吐 91.2。这篇讲怎么用一个除法和一张完成时间表,一眼分出「真并行」和「排队排得很整齐」,顺带算清楚单流 98 tok/s 到底离物理天花板还有多远。
llm · benchmark · apple-silicon14 min 阅读一条公开跑分声称单张消费卡上 27B 稠密模型跑到 2103.6 tok/s。我没有那张卡,也没跑过那个配置,但三个除法就能确定它全程没做过前向计算。这三个除法你在自己机器上也能算。
llm · benchmark · inference14 min 阅读