大型语言模型 (LLM) 的世界面临一个经典的权衡:** 性能与成本**。一方面,有像 GPT-4 这样最先进的模型,它们在复杂推理、高级编程和细致对话方面表现出色。另一方面,也有一些更小、开源的模型,运行成本低得多,但在应对高要求任务时往往表现不佳。

对于现实世界的应用——从客户服务聊天机器人到数据分析工具——挑战都是一样的:

如何在不打破预算的情况下实现最佳性能?


动机: 实践中的智能模型使用

设想一个客户服务机器人。对于一个简单查询,例如:

“你们的营业时间是什么?”

一个小型、快速且廉价的模型就能胜任。但对于一个复杂请求,比如:

“请根据电池续航、低光相机性能和多任务处理能力,比较你们的两款旗舰智能手机。”

你就需要重量级选手——一个具有更强推理能力的大型高端模型。对每个查询都采用重量级模型既浪费又昂贵,而用轻量级模型应对所有查询则可能令用户失望。

这正是 LLM 路由问题的核心: 为每个传入查询动态选择最合适的模型。


传统解决方案的局限性

传统方法将该问题建模为监督学习:

  • 通过让每个可用 LLM 处理每个查询来构建一个庞大的“神谕”数据集。
  • 为数据集中每个查询标记出性能最佳的模型。
  • 在这个全信息数据集上训练一个路由模型。

这种方法在受控环境中可行,但存在两个重大缺陷:

  1. 天价的数据收集成本
    需要让每个查询由所有模型回答以找出最佳模型。这在计算和推理成本方面耗时且昂贵。

  2. 缺乏适应性
    现实世界的查询会不断变化,新主题层出不穷。在旧数据上训练的静态路由器难以适应这种变化。


新范式: 将路由视作多臂老虎机问题

近期的一篇论文《预算约束下的自适应 LLM 路由》提出了一种范式转变

作者不再依赖昂贵的全监督,而是将路由问题视作上下文老虎机问题,借鉴推荐系统的思路:

推荐系统不会展示所有可能商品——只会选一个,观察你的反应 (如是否点击) ,并从有限反馈中学习。

在 LLM 路由中也是如此:

  • 为一个查询选择一个模型。
  • 获得一条评估反馈 (赞/踩,或评分) 。
  • 随时间推移不断学习做出更优选择——而无需知道其他模型的表现。

PILOT 简介

作者提出了 PILOT (Preference-prior Informed LinUCB fOr Adaptive RouTing,即基于偏好先验信息的 LinUCB 自适应路由算法),一种专门的上下文老虎机算法,用于在预算约束下学习智能路由。

PILOT 基于三大支柱:

  1. 共享嵌入空间 —— 将查询LLM映射到同一向量空间,使它们的余弦相似度能反映匹配程度。

  2. 人类偏好预训练 —— 利用公开数据集,基于人类对模型响应的比较结果,为路由器提供合理的先验热启动。

  3. 结合预算策略的持续在线学习 —— 随着实时反馈的到来不断优化嵌入,并整合预算感知的选择机制。


步骤 1: 人类偏好预训练

从零开始效率低。PILOT 使用例如 ChatArena 这样的数据集,包含如下元组:

1
(query, model_A_response, model_B_response, preferred_model)

预训练分为两个注重稳定性的阶段:

阶段 1 —— 学习查询投影
获取已有的查询嵌入 (如来自 text-embedding-3-small) ,并学习一个线性变换将其映射到共享空间
使用对比三元组损失将偏好同一模型的查询嵌入相互拉近,将其他嵌入推开。

阶段 2 —— 学习 LLM 嵌入
冻结查询投影,然后在共享空间中为各 LLM 布置嵌入,使得对于某个给定查询,其偏好的 LLM 靠近该查询嵌入。
此步骤被表述为二元分类问题。

两阶段预训练过程。首先,根据哪个 LLM 更受偏好,对查询嵌入进行聚类。其次,学习 LLM 嵌入并将其放置在这个共享空间中,以与偏好它们的查询对齐。

图 1: 两阶段预训练过程。(1) 对比学习根据共享的 LLM 偏好对齐查询嵌入。(2) 学习 LLM 嵌入并将其放置在这个共享空间中。

结果是: 初始 LLM 嵌入 \(\theta_i^{\text{pref}}\) 能编码每个模型的一般任务优势。


步骤 2: 上下文老虎机的在线学习

经过预训练后,PILOT 会基于实时用户反馈不断进化。

PILOT 框架的高层概览。用户查询和预算约束被输入到路由器,路由器选择一个 LLM。然后,系统从用户反馈中学习,以改进未来的路由决策。

图 2: 在线老虎机路由器结合查询上下文、LLM 池与预算约束进行自适应,并从反馈中学习。

设置:

  • 上下文 (Context): 当前查询的投影嵌入 \(\psi(q_t)\)。
  • 臂 (Arms): 可用的 LLM。
  • 奖励 (Reward): 所选 LLM 响应的质量得分 \(r_t \in [0, 1]\)。

期望奖励建模为归一化的查询嵌入与 LLM 嵌入之间的余弦相似度:

\[ \mathbb{E}[r_t|a, q_t] = \cos(\hat{\psi}(q_t), \hat{\theta}_a) = \hat{\psi}(q_t) \cdot \hat{\theta}_a \]

这种线性形式与 LinUCB 完美契合,其平衡了:

  • 利用 (Exploitation) —— 选择当前估计最优的臂。
  • 探索 (Exploration) —— 尝试不确定性高的臂。

选择规则为:

\[ \operatorname*{arg\,max}_{a} \big[ \cos(\hat{\psi}(q_t), \tilde{\theta}_a^t) + \alpha \sqrt{ \hat{\psi}(q_t)^\top (A_a^t)^{-1} \hat{\psi}(q_t) } \big] \]

PILOT 的优势: 其初始参数 \(\theta_a^0\) 设为预训练得到的 \(\theta_a^{\text{pref}}\),而不是零,从而加快收敛并降低遗憾。


步骤 3: 预算感知路由

现实系统必须遵守预算约束

作者提出在线多选背包策略 (Online Multi-Choice Knapsack Policy, ON-MCKP):

  • 在 \(Q\) 个查询上的总预算为 \(B\)。
  • 每次选择 LLM 会消耗成本 (token 用量) 并产生估计奖励
  • 每一步仅考虑成本低于动态阈值的 LLM。
  • 从符合条件的 LLM 中挑选期望奖励最高的。

分箱策略将 \(Q\) 个查询划分为若干箱,每箱有对应预算。未用完的预算可溢出至下一箱,从而灵活分配并避免超支。


实验设置与结果

采用 **Routerbench **(涵盖推理、数学、编程、对话等 64 个任务) 模拟在线学习,设定:

  • 学习桶 (Learning Bucket) —— 用于更新老虎机路由器。
  • 部署桶 (Deployment Bucket) —— 用于评估性能。

PILOT 与基线方法在单任务 (MMLU) 和多任务 (Routerbench) 数据集上的性能和遗憾曲线。PILOT (橙色) 始终优于其他方法。

图 3: 在单任务 (MMLU) 和多任务 (Routerbench) 场景下,PILOT (橙色) 在部署性能 (i) 、学习效率 (ii) 和遗憾 (iii) 方面均优于基线方法。

亮点:
在多任务路由中,PILOT 以仅 GPT-4 成本的 25%实现了其93% 的性能

路由模式:

  • MMLU (复杂推理) : 约 90% 查询路由至 GPT-4。
  • GSM8K (数学) : 约 94% 查询路由至 Claude-v1——更便宜且数学能力更强的模型。
  • MBPP (编程) : 在 GPT-4 与 Claude 之间均衡分配。

分析与消融

成本策略有效性
相比固定预算策略甚至事后优化的离线策略,PILOT 的在线策略同样或更优。

所提出的在线成本策略 (绿色) 与更简单基线的比较。

图 4: PILOT 的策略 (绿色) 在性能和臂排序质量上与更简单基线相当或更优。

PILOT 在线成本策略与离线策略的比较表。

表 2: 正数差异表明 PILOT 的性能优于具备完美事后信息的离线策略。

路由速度
PILOT 增加的延迟可忽略不计——选择速度比 GPT-4 推理快 10–38 倍。

路由时间与 GPT-4 推理时间的分析。

表 3: 与推理时间相比,路由开销极小。

嵌入敏感性
将 OpenAI 嵌入替换为 Instructor-XL 后性能依旧出色。

使用不同嵌入模型 (Instructor-XL) 时的性能。

图 5: PILOT 保持优越性,并对嵌入模型变化具有鲁棒性。


结论

预算约束下的自适应 LLM 路由》提出了一个实用、自适应、成本感知的 LLM 部署路由框架:

  • 数据高效 —— 从单一响应反馈中学习。
  • 自适应 —— 持续优化选择以应对不断变化的查询分布。
  • 成本效益高 —— 以极低成本实现接近 SOTA 的性能。
  • 快速、鲁棒 —— 延迟极小,嵌入器模型无关。

PILOT 为智能、预算友好的 LLM 应用提供了强有力的蓝图。

未来方向

  • 将预算约束直接整合进在线学习 (而非将成本策略分离) 。
  • 扩展至多轮对话上下文的路由。

对于在预算敏感环境中部署 LLM 的实践者而言,PILOT 是一种聪明消费快速适应且不牺牲质量的系统的有力一步。