级联路由的可靠性陷阱:当成本优化悄然摧毁你的 p95 延迟
成本仪表盘一片绿意。自从级联路由(cascade router)上线以来,单次请求的支出下降了 62%。CFO 很开心。平台团队正在庆祝。而与此同时,你的 p95 延迟悄然上升了 40%,你最重要的客户刚刚流失,理由是“机器人在处理关键查询时变笨了”,而实验团队已经连续两周在追踪一个根本不存在的幻影回归(phantom regression)了。
这就是级联路由的可靠性陷阱。它是每一个“先尝试廉价模型,如果不成功再升级”架构的隐蔽失败模式,也是生产环境 LLM 系统中最少被讨论的二阶效应之一。成本上的收益是真实的、可衡量的,且易于归因。而可靠性上的损失则是弥散的、统计性的,几乎无法追溯到导致它们的路由。因此,成本上的胜利受到赞彰,可靠性上的损失被归咎于“模型变差了”,团队就这样把自己优化进了一个坑里。
级联路由——先将请求发送给廉价模型,仅在置信度较低时才升级到更强大的模型——确实是现代 LLM 基础设施中杠杆率最高的成本杠杆之一。生产系统通常能降低 45–85% 的支出,同时保留大 部分始终运行前沿模型(frontier model)的质量。数学逻辑说得通。论文也证实了这一点。供应商们都在推销它。但供应商没有强调的是,一旦你引入级联,你就改变了所有依赖响应行为的其他系统的统计特性——延迟 SLO、训练数据飞轮、A/B 实验、值班手册——而大多数团队只有在损害累积后才会发现这一点。
吞噬 p95 的双峰延迟分布
当你始终运行同一个模型时,你的延迟分布是单峰的。它可能是一个长尾单峰分布,但它是单峰的。p50 和 p95 会随着负载和提示词长度的变化而同步缓慢移动,这些变化是可以理顺逻辑的。
级联路由则做了本质上不同的事情。一个未升级的请求从廉价层返回(假设)需要 400ms。一个升级后的请求需要支付 400ms 的廉价层拒绝成本,再加上 2,400ms 的强力层补全时间,总计 2,800ms。你现在拥有了缝合在一起的两个群体:覆盖 70% 流量的 400ms 快速模式,以及覆盖 30% 流量的 2,800ms 慢速模式。均值相比“始终强力”模式有所下降。中位数显著下降。而 p95 则稳稳地落在慢速模式中,那里的每一个点都是两次模型调用的串行求和。
这种算术是无情的。如果你以前“始终强力”的 p95 是 3,000ms,你新的级联 p95 大约就是强力层的延迟 加上 廉价层的拒绝成本——通常比以前高出 400ms,而不是更低。成本下降了。尾部延迟上升了。对于那最难处理的 5% 查询,用户感知到的体验现在明显变差了,而这些查询恰恰是用户已经感到沮丧并盯着加载图标看的时候。
在这一考验中 生存下来的团队,会强迫自己 分别为“保留”和“升级”决策追踪 p95。他们发布一个“保留-p95 SLO”和一个“升级-p95 SLO”,将它们视为两个产品,并拒绝为混合中位数而欢呼。他们还将升级率视为一等公民的可靠性指标——升级率增加 5 个百分点就是尾部延迟退化 5 个百分点,即使没有任何单个请求变慢。
你刚刚切断的硬核案例反馈循环
生产流量是你所能获得的成本最低、最具代表性的训练和评估信号。如果你记录输入、输出和人工评分,你就拥有了一个飞轮:硬核案例进入数据集,模型针对它们进行改进,硬核案例变得更容易,廉价层能处理更多案例,成本进一步下降。这是每个人都想要的飞轮。
级联路由悄悄地打破了它。复杂的查询总是会升级。简单的查询则永远不会。因此,你从廉价层收集的数据,在构建之初就是你流量中 容易 的那一部分。无论你根据廉价层的追踪轨迹进行什么微调、蒸馏或提示词迭代,你都在针对廉价层已经能够处理的案例进行优化。你是在教你的弱模型处理它不需要帮助的查询,而真正能让它变得更强的查询却被默默地永远路由走了。
更糟糕的是,强力层的追踪轨迹现在正朝着相反的方向被污染。强力层只看到廉价层拒绝的查询——这是一个幸存者偏差样本,其中完全缺失了简单和中等的案例。如果你在强力层自身的生产轨迹上对其进行微调,你最终会得到一个对边界情况过度偏执的模型,它会过度思考那些在 廉价层的下一次必然版本更新中就能处理的查询。
- https://openreview.net/forum?id=AAl89VNNy1
- https://arxiv.org/abs/2410.10347
- https://optyxstack.com/performance/latency-distributions-in-practice-reading-p50-p95-p99-without-fooling-yourself
- https://llm-d.ai/blog/predicted-latency-based-scheduling-for-llms
- https://arxiv.org/html/2604.19781
- https://arxiv.org/html/2501.01818v1
- https://www.braintrust.dev/articles/ab-testing-llm-prompts
- https://www.truefoundry.com/blog/observability-in-ai-gateway
- https://www.montecarlodata.com/blog-ai-telemetry/
- https://dev.to/ntctech/cost-aware-model-routing-in-production-why-every-request-shouldnt-hit-your-best-model-1pg9
- https://www.rack2cloud.com/ai-inference-cost-model-routing/
- https://www.getmaxim.ai/articles/top-5-llm-routing-techniques/
