LLM 路由与模型级联:如何在不牺牲质量的情况下降低 AI 成本
大多数生产环境中的 AI 系统在成本管理上都会犯同样的错误:它们上线时仅使用单一的最强模型 (frontier model) 来处理每个请求,眼睁睁看着 API 账单随流量线性增长,然后才手忙脚乱地添加缓存或缩减上下文窗口来补救。真正的解决方法——根据每个查询的实际需求将其路由到不同的模型——事后看来显而易见,但很少能被很好地实现。
数据能够清楚地说明问题。当前的最强模型 (frontier model),如 Claude Opus,每百万输入 token 的成本约为 5 美元,每百万输出 token 为 25 美元。同系列的高效模型成本分别为 1 美元和 5 美元——比例达 5 倍。使用 RouteLLM 的研究表明,通过合理的路由,你可以在将 85% 的查询路由到更便宜的模型的同时,保持 95% 的最强模型质量,从而根据工作负载实现 45–85% 的成本降低。这不仅仅是边际改进;它改变了大规模部署 AI 的单位经济效益。
这篇文章涵盖了 LLM 路由和模型级联 (model cascades) 的实际运作方式、在生产环境中经得起考验的具体策略,以及导致大多数实现方案失败的陷 阱。
路由与级联的区别
这两个术语经常被混淆,但它们描述的是截然不同的模式。
路由 (Routing) 是一种单次决策:在执行查询之前,路由层对其进行分类并将其发送到唯一的一个模型。路由层可能使用意图分类(“这是一个编程问题,发送给代码专用模型”)、复杂度估算(“简短的事实查询,发送给小模型”)或与过去查询的语义相似度。一次决策,一次执行。
级联 (Cascading) 是一种顺序升级:查询首先发送到最便宜的模型。如果该模型的输出置信度低于阈值,查询将升级到下一级,依此类推,直到产生足够置信度的答案,或由能力最强的模型处理。你总是从低成本开始,仅在便宜模型无法处理时才支付昂贵的计算费用。
这种区别对于你如何实现和调整每种方法至关重要。路由需要一个准确的前置分类器,这会在任何生成开始前增加延迟。级联需要良好的置信度校准 (confidence calibration),并且必须接受可能顺序运行多个模型带来的延迟。在实践中,混合方法通常效果最好——先进行路由以避免明显不匹配的层级,然后在层级内进行级联。
基于置信度的级联是如何运作的
级联系统的核心机制是将小模型的不确定性作为是否需要升级的指标。当模型生成响应时,其 token 概率分布包含了一些信息:高置信度的生成会将概率质量聚集在少数几个 token 上,而不确定的生成则会分散在许多候选 token 中。这种分布中的高熵 (entropy) 信号表明模型不确定。
挑战在于,LLM 自我报告的置信度校准得并不好。模型可能会产生一个流畅、听起来很权威、token 概率很高但事实错误的响应。相反,对于真正模棱两可的问题,正确的答案可能会触发错误的升级。这是朴素级联实现中最主要的实际问题。
更好的方法通过以下几种方式处理:
早期弃权 (Early abstention) 训练模型在查询超出其能力时明确发出信号,而不是尝试给出一个不确定的答案。一项研究方法通过接受 4.1% 的弃权率增加,实现了成本降低 13% 和错误率降低 5%——模型说“我不知道”而不是产生低置信度的错误答案,从而触发升级。
检索耦合置信度 (Retrieval-coupled confidence) 在 RAG 系统中将模型的不确定性与检索质量信号相结合。如果检索到的文档相关且模型置信度高,则跳过升级。如果检索质量差,则无论模型置信度如何都进行升级。
经验校准阈值 (Empirically calibrated thresholds) 是必不可少的。任何凭直觉设置置信度阈值的系统都会出现校准偏差。正确的方法是评估你的特定工作负载——在每个置信度级别上小模型回答正确的比例是多少——并根据你可接受的错误率设置阈值。这需要来自你业务领域的标注数据,而不是学术论文中的基准测试结果。
