你的路由系统完全按照设计运行。80% 的查询流向廉价模型;20% 升级到高性能模型。延迟降低了,成本下降了 60%,领导层也很满意。然后有人按用户细分提取了数据,你发现了问题:非母语英语用户的查询升级率只有母语人士的一半,而他们的满意度评分低了 18 分。路由系统将查询复杂度信号视为中性的,但事实并非如此——它是语言熟练程度的替代指标,而你已经在几个月的时间里,系统性地向特定用户群体提供了更糟糕的产品。
这就是 20% 问题。这不是路由器的 bug。这是任何经过成本优化的路由系统在无人衡量的情况下,直到为时已晚才显现出来的涌现特性。
模型路由的工作原理(以及为什么它确实有用)
核心理念很简单:大多数查询不需要性能最强的模型。一个回答“你们的营业时间是几点?”的聊天机器人不需要 GPT-4 级别的推理。将其路由到更小、更便宜的模型,并将昂贵的模型留给真正能从中受益的查询。
研究已经广泛验证了这一点。FrugalGPT 作为最早的系统性研究之一,表明通过结合级联、提示词自适应和缓存,你可以用高达 98% 的成本削减达到与 GPT-4 相当的性能。RouteLLM 从人类偏好数据中学习路由决策,在保持 95% 质量的同时,在聊天基准测试中实现了 85% 的成本削减。一个从单一高级模型切换到分层路由设置的生产级客户支持系统,将其每月的 LLM 支出从 42,000 美元削减到了 18,000 美元。
这些数字是真实的,路由确实值得成为你推理栈的一部分。问题不在于路由本身,而在于当你只衡量总体的质量和成本时会发生什么。
为什么那升级的 20% 不是随机分布的
当路由系统升级一个查询时,它在做一个判断:这个查询对廉价模型来说太难了。这种判断几乎总是基于某种复杂度的替代指标——查询长度、Token 熵、与训练示例的嵌入距离,或者是从人类偏好数据中学习的微调路由模型。
这些信号中的每一个都与不仅仅是复杂性的事物相关。查询长度与用户为了得到连贯问题而必须提供的上下文量相关。与熟悉示例的嵌入距离与表述方式的异常程度相关。即使是在人类偏好数据上训练的路由模型,也会继承评分者的人口统计分布——而 RouteLLM 使用的数据集 Chatbot Arena 严重偏向说英语、技术水平高的用户。
Hybrid LLM 论文 (ICLR 2024) 指出,大约 20% 的查询能显著受益于昂贵模型——但具体的 20% 取决于你对比的是哪两类模型以及你服务的负载。这个百分比按查询类型聚集的方式,往往与提问者是谁相关。
看看具体表现:
- 一个能用简洁明了的英语表述问题的用户,可能会持续触发较低的复杂度评分,即使是真正困难的问题也会被分配到廉价模型。
- 一个使用第二语言写作的用户,措辞较长且含有更多委婉语,可能会得到更高的复杂度评分——矛盾的是,他们的查询反而更常被升级。
- 一个询问廉价模型训练数据中代表性不足的主题(非西方法律体系、少数群体语言、软件之外的特定领域技术术语)的用户,可能会从廉价模型那里得到言之凿凿的错误答案,因为廉价模型没有机制来提示自己的无知。
这些都不是故意的。但意图并不决定影响。
你没有衡量的差异性影响
关于 LLM 性能不足的研究让这个问题变得清晰。一项 2024 年关于针对性 LLM 性能表现的研究发现,模型质量的下降在用户之间并不是均匀分布的——对于英语熟练程度较低、受正规教育较少以及非美国背景的用户来说,这种情况最为严重。在交织的情况下(例如,受正规教育较少的非母语英语者),差距比单一因素还要大。
当你在一个已经存在这些质量差距的模型之上叠加路由时,影响会以两种方式复合。
首先,对于代表性不足的群体,廉价模型几乎总是比昂贵模型更差。它覆盖这些用户案例的训练数据更少,在公平性方面的微调可能不那么仔细,且其校准是在偏向标准英语和西方背景的基准测试上验证的。
其次,本应捕捉到“此查询对廉价模型来说太难”的路由决策,在这些用户身上失效的频率更高。廉价模型对困难的非西方或非英语查询的回答可能听起来流利且自信——因为这就是语言模型所做的。检查置信度信号的路由系统看不到任何警示。用户得到了一个他们没有理由怀疑的错误答案。
总体的质量数字看起来不错。你满足了你的 SLA。但特定的用户群体正在得到系统性更差的产品,而你的监控设计并不是为了发现这一点。
如何审计跨路由层级的质量分布
大多数团队会记录模型选择和聚合质量指标。很少有团队会同时按照用户分层和路由决策来切分质量数据。这里有一个最小化审计框架,可以在 20% 的问题演变成支持事故或监管问题之前捕捉到它们。
按查询类别(而非仅按整体)追踪升级率。 对于每个路由决策,记录足够的元数据,以便重建哪些查询类型以何种比例进行了升级。有用的维度包括:检测到的语言、查询领域(推断或明确标记的)、查询长度分布,以及用户细分(如果你有的话)。整体升级率为 20%,但某一查询类别的升级率为 35%,而另一类别为 8%,这是一个值得调查的信号。
针对每个层级、每个细分群体分别衡量质量。 如果你有任何质量信号——任务完成情况、人工评分、下游转化率、错误率——请按(路由层级,用户细分)进行分层。你需要回答:“对于进入廉价模型的 A 组用户,其质量是否明显差于进入廉价模型的 B 组用户?”如果是,那么你的廉价模型存在路由正在放大的基准性能差异。
审计每个领域的置信度校准。 使用模型置信度作为升级信号的路由系统假设置信度是正确性的可靠指标。事实并非一贯如此。针对你服务的每个主要查询领域,分别校准廉价模型的置信度与实际正确率。适用于软件故障排除的置信度阈值可能会让医疗或法律查询在未经检查的情况下通过。
衡量假阴性升级率。 如果使用昂贵模型本可以获得显著更好的回答,但查询却被分配给了廉价模型,这种情况发生的频率是多少?这是最难计算的指标——它需要通过两个模型运行样本——但它是直接量化细分层面成本与质量权衡的指标。
重新设计不惩罚少数派模式的路由策略
一旦你了解了差距在哪里,有几种杠杆可以使用。
设定质量底线,而不仅仅是质量平均值。 聚合质量优化总是会牺牲长尾表现。相反,应为每个用户细分定义一个最低可接受的质量水平,并将违规行为视为路由失败。这意味着路由系统的优化目标变为:在每个细分群体都超过质量底线的前提下最小化成本,而不是在平均质量超过某个阈值的前提下最小化成本。
将复杂度信号与人口统计代理变量解耦。 审计你的复杂度信号是否与用户的人口统计属性相关。如果查询长度、正式程度或词汇水平被用于路由,而这些又与用户背景相关,那么你正在将间接的人口歧视构建到路由策略中。使用多个正交的复杂度信号(所需的推理步骤、事实特异性需求、领域覆盖深度),并验证它们不会按人口统计群体聚集。
对高风险领域采用保守的路由策略。 并非所有错误的成本都相同。对于涉及医疗、法律、金融或安全关键领域的查询,路由到廉价模型应该需要更高的置信度阈值——或者应该完全禁用。与一个自信的错误法律答案所带来的成本相比,将法律问题路由到廉价模型所节省的成本微不足道。
在路由器训练中加入公平性约束。 如果你的路由器是一个学习模型(如 RouteLLM 风格的系统),训练目标可以包含一个明确的公平性惩罚。例如,训练损失可以惩罚不同群体之间升级率的偏差,或不同群体在同层级质量上的偏差。这比事后阈值调整更具原则性,且能更好地推广到新的查询类型。
在部署路由更改之前,在分层测试集上进行验证。 对路由阈值或路由器模型的任何更改都应在按语言、领域和用户细分的分层测试集上进行评估,而不仅仅是聚合基准测试。一个提高了聚合质量但恶化了特定代表性不足群体质量的路由更改是退步,而不是改进。
监管现状
产生差异化质量结果的路由系统不仅仅是工程问题。在金融服务领域,平等信贷机会法已经适用于做出或影响贷款决策的 AI 系统。如果你的贷款申请助手将讲西班牙语的用户路由到西班牙语理解能力较差的廉价模型,并产生了系统性的糟糕结果,无论初衷是否为了节省成本,这都违反了公平借贷规定。
医疗、招聘和福利领域也在经历类似的过程。监管压力并非理论上的——它已经体现在针对产生差异化结果的 AI 系统的执法行动中,而且对于什么是充分的质量审计,标准正变得越来越严格。
构建这些系统的工程师并非想要制造歧视性影响。他们的初衷是降低成本。失败的模式不是恶意——而是只衡量了容易衡量的指标。
应该构建什么
一个设计良好的路由系统会为你服务的每个主要用户分群分别跟踪升级率、质量指标和置信度校准。它会设定适用于每个分群的质量底线约束,而不只是在整体层面进行设定。无论放弃多少成本节约,它都会对高风险领域应用保守的路由策略。并且,每当路由策略或底层模型发生变化时,它都会重新审计这些分群层面的指标。
路由带来的成本节约是真实存在的,也值得追求。错误在于将那 “20%” 视为一个待优化的工程参数,而不是一群需要去理解的用户。这些用户并非随机分布在各种查询复杂度等级中。找出他们聚集的地方,衡量他们是否获得了足够的质量,并设计出明确考虑到这一点的路由策略。
路由不是中立的。那 20% 同样不是。
会员专享
余下内容仅对会员开放。
会员可读完整内容 —— 每一个公开发布的观点背后,那些框架、决策与推理的全貌。
- —完整文章,包含未公开存档的部分
- —可落地的工作框架,附带权衡与决策依据
- —新文章抢先看,先于公开发布
随时取消 · 一次订阅,畅读全部