跳到主要内容

30 篇博文 含有标签「inference」

查看所有标签

混合 LLM 工作负载的 GPU 调度:那个没人解决好的装箱问题

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数运行 LLM 推理的 GPU 集群正在浪费 30% 到 50% 的可用算力。这并非因为工程师粗心,而是因为调度问题本身极为困难——而大多数团队首先想到的工具根本不是为此设计的。

标准做法是搭建 Kubernetes,为每个 Pod 申请完整的 GPU,然后让调度器自行处理。这对训练任务运行良好。但对于处理异构模型集合的推理场景,这种方式会悄悄摧毁利用率。一个运行三个不同 7B 模型且流量稀疏的集群,每个 GPU 的实际繁忙时间可能不足 15%,同时却处于完全"已分配"状态,拒绝调度任何新任务。

根本原因在于 Kubernetes 理解 GPU 的方式与 LLM 推理实际需求之间的错配。

非确定性税:在概率性基础设施上构建可靠的流水线

· 阅读需 11 分钟
Tian Pan
Software Engineer

在生产级 LLM 工程中,设置 temperature=0 并期望获得可重现的输出是最常见的误解之一。这种想法很直观:温度控制随机性,所以零温度意味着零随机性。但温度只控制 Token 选择规则 —— 将概率采样切换为贪婪的 argmax。它对稳定 Logits 本身 毫无作用,而这才是真正产生变数的地方。

实际后果是:在 temperature=0 的情况下,针对同一个模型运行同一段提示词一千次,可能会产生 80 种不同的补全结果。这并非假设 —— 而是在现实的推理服务器条件下测试 Qwen3-235B 模型的实证结果。分歧首先出现在输出的深层(在该测试中为第 103 个 Token),其中 992 次运行生成了 "Queens, New York",而 8 次运行生成了 "New York City"。同样的模型,同样的提示词,同样的温度,由于服务器上不同的批处理状态而导致了差异。

知识蒸馏的经济学:压缩前沿模型真的划算吗?

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数采用知识蒸馏的团队,都在错误的理由和错误的时机下做出了这个决定。他们看到一个70B模型吞噬了推理预算,读到蒸馏可以产出一个"同样出色"的7B学生模型,便立即开干。六周后,他们得到了一个在验证集上表现良好的蒸馏模型,上线后却开始大规模输出自信满满的废话。验证集来自与教师模型合成训练数据相同的分布,而真实流量并非如此。

蒸馏是一种优化工具,而非能力升级手段。只有在特定条件下,经济账才算得过来——而且失败模式足够隐蔽,团队往往要等到用户先发现问题。

当思考模型真正发挥作用时:生产环境推理算力的决策框架

· 阅读需 11 分钟
Tian Pan
Software Engineer

有一项研究,研究人员要求一个推理模型比较两个数字:0.9 和 0.11。一个模型花了 42 秒才给出答案。数学计算只花了几毫秒。模型在剩下的 41.9 秒里都在进行糟糕的思考。它重新审视自己的答案,怀疑自己,重新考虑,最后得出了它在前三个 token 中就已经得出的正确结论。

这就是过度思考的问题,它并非个案。当你将推理侧计算(inference-time compute)不加区分地应用于不需要它的任务时,就会发生这种情况。

"https://opengraph-image.blockeden.xyz/api/og-tianpan-co?title=%E5%BD%93%E6%80%9D%E8%80%83%E6%A8%A1%E5%9E%8B%E7%9C%9F%E6%AD%A3%E5%8F%91%E6%8C%A5%E4%BD%9C%E7%94%A8%E6%97%B6%EF%BC%9A%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E6%8E%A8%E7%90%86%E7%AE%97%E5%8A%9B%E7%9A%84%E5%86%B3%E7%AD%96%E6%A1%86%E6%9E%B6"

推理模型(o1、o3、DeepSeek R1、具有扩展思考能力的 Claude)的出现,代表了解决难题能力上的真正飞跃。但它也引入了一类新的生产错误:在快速、廉价的生成完全足够的情况下,部署了昂贵且缓慢的深思熟虑。正确做出这一决策,对于构建真正有效的 AI 系统正变得越来越核心。

LLM 延迟分解:为什么 TTFT 和吞吐量是两个不同的问题

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数在 LLM 上构建应用的工程师都将延迟视为一个单一的刻度盘。他们调整一些参数——批处理大小(batch size)、量化级别(quantization level)或实例类型(instance type)——观察“它是否变快了”,然后就收工了。这在上线生产环境之前一直有效,直到你发现 p50 TTFT 看起来不错,而 p99 却超过了 3 秒,或者发现让吞吐量翻倍的优化不知为何却让单个用户感觉系统变慢了。

TTFT 和吞吐量(throughput)并不是同一个滑块的两端。它们是由根本不同的物理特性引起的,受不同瓶颈的影响,并由不同的技术修复。将它们视为可互换的是我在生产环境中看到的大多数 LLM 推理事故的根本原因。

生产环境中的 LLM 延迟:哪些手段真正能见效

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数 LLM 延迟建议往往会陷入以下两种失败模式之一:要么关注错误的指标,要么推荐的优化过于依赖特定硬件,除非你运行自己的推理集群,否则难以应用。如果你是基于托管 API 或受管推理提供商进行构建,那么这类建议中的大部分都是噪音。

本文专注于真正能产生影响的因素 —— 无论你是否控制整个技术栈,这些技术都适用,且基于生产数据而非基准测试的实验室条件。