当前位置: 首页 > news >正文

模型路由相关论文速览——《Universal Model Routing for Efficient LLM inference》

传统“模型路由”多数假设一个固定的候选 LLM 池(static pool),路由器只需要在这组已知模型里挑选最便宜且“够用”的模型;但现实中模型池经常变化:新模型不断上线,旧模型下线。每当模型池变化,重新标注训练数据、重训路由都很费时费钱。这篇论文(Universal Model Routing for Efficient LLM inference)关注动态模型池(dynamic pool):测试时出现未见过的新 LLM,如何在无需重训路由器的前提下把请求路到合适的新模型上。

作者提出了 UniRoute这种新的解决方式:把“每个 LLM”表示成一个特征向量,路由器学会基于这些“LLM 特征”做决策,从而泛化至未见过的 LLM。论文在公共基准上验证了能在 30+ 未见过的 LLM 中有效路由。

下面我们简要介绍新 LLM 加入 UniRoute 体系的完整流程(具体的细节笔者没有深入研究,只是梳理了大致的实现思路,读者朋友们感兴趣的话可以阅读论文进一步研究哈)。


0. 前置条件(一次性准备)

在新模型加入之前,需要系统已经具备:

  1. 聚类器 / 样本特征映射

    • 用历史训练集做 K-Means(或 LearnedMap),得到 Φ_clust(x):能把任意请求分到 K 个簇之一。

    (用已有的训练数据做一次 K-Means(或别的聚类)得到 K 个“题型簇”。这会给每道题一个“簇编号”(比如:推理类、编程类、闲聊类…)。得到一个函数 Φ_clust(x),能把任意题目分到某个簇。)

  2. 已有模型的能力画像

    • 对已部署的 LLM 都有 Ψ(h_old)(每个簇的错误率)。注:Ψ(h)是一个 K 维向量,告诉我们“这个模型在每种题型上的容易出错程度”。

    假设 K=3 个簇:推理 / 编程 / 闲聊
     
    在 1200 道验证题里,每个簇各 400 题。新模型 h 做完后统计到:

    • 推理:错了 80 / 400 → 出错率 0.20

    • 编程:错了 220 / 400 → 出错率 0.55

    • 闲聊:错了 60 / 400 → 出错率 0.15

     
    那么 Ψ(h)=[0.20, 0.55, 0.15]。这就告诉我们:这个模型在编程题上明显较弱,路由器就会倾向把编程相关的请求送给别的更稳的模型。

  3. 小验证集 S_val

    • 大约几百到一两千条题目,覆盖所有簇,且有标准答案或可判分规则。

    用户提出一个新问题 x:

    • 先用 Φclust(x) 把它分到某个簇 c;

    • 对每个候选模型 m 查询它的 Ψ(m)[c](即在该题型上的出错率估计);

    • 再加上成本项,选 Ψ(m)[c]+λ⋅cost(m) 最小的模型去答。


1. 新模型接入步骤

Step 1:运行验证集

让新模型 h_new 在 S_val上跑一遍:

preds_new = [h_new.predict(x) for x in val_texts]
  • 如果是生成任务,用自动评测器或判题 LLM 判对/错。
  • 得到对/错标签:errors = [int(p != y) for p, y in zip(preds_new, y_val)]

Step 2:按簇统计错误率

利用已有聚类映射,把验证集每道题分配到对应簇:

cluster_ids = [Φ_clust(x) for x in val_texts]

然后统计每个簇的出错率(带拉普拉斯平滑):

alpha = 1.0  # 平滑系数
num = [0]*K
err = [0]*K
for cid, e in zip(cluster_ids, errors):num[cid] += 1err[cid] += eΨ_new = [(err[c] + alpha) / (num[c] + 2*alpha) if num[c] > 0 else 0.5for c in range(K)
]
  • 这就是新模型的能力画像 Ψ(h_new)

Step 3:更新路由器配置

把新模型的信息加进路由器:

router.model_profile["new_model_name"] = Ψ_new
router.cost_by_model["new_model_name"] = cost_value  # 该模型的调用成本/延迟

Step 4:立即参与线上路由

新模型现在可以和已有模型一起被路由选择:

chosen, score, scores = router.route(user_query_text,candidate_models=list(router.model_profile.keys()),lambda_=0.4)
  • lambda_ 控制质量–成本平衡。
  • 新模型会在它强的簇被优先选中,在弱的簇被替换掉。

2. 流程示意图

   新 LLM│▼
[ 在小验证集 S_val 上推理 ]│   得到对/错序列▼
[ 按聚类器分配到 K 个簇 ]│   每簇计算错误率 + 平滑▼
[ 得到能力画像 Ψ(h_new) ]│▼
[ 更新路由器的 model_profile & cost_by_model ]│▼
[ 立即参与在线路由决策 ]

3. 优点

  • 不需要重训路由器:聚类器和样本特征映射是一次训练好的,新模型只需跑验证集。
  • 低成本上线:只跑几百到几千条题,成本可控。
  • 快速响应:新模型到手当天就能进生产路由。
  • 可持续维护:每次换/加模型都复用同一套流程。
http://www.dtcms.com/a/329999.html

相关文章:

  • FxSound:为你的音频体验注入专业级享受
  • 汽车高位制动灯难达 CIE 标准?OAS 光学软件高效优化破局
  • 中科米堆CASAIM汽车零部件三维扫描检测解决方案
  • 数据结构摘星题库800题笔记 第1章绪论
  • 5G 迷你图传模块:性能与实用性兼备的传输利器
  • 音频重采样使用RandomOverSampler 还是 SMOTE
  • C# 反射和特性(元数据和反射)
  • 【COMSOL】Comsol学习案例时的心得记录分享
  • 字体优化:Web 排版最佳实践
  • Devextreme-vue + Vue2日历下拉框的使用
  • Redis持久化机制(RDB AOF)
  • Form.Item中判断其他Form.Item的值
  • 边学边做边玩:我的类魂斗罗Java小游戏与Java学习(1)
  • 《MySQL 实战:从建库建表到复杂查询的完整操作指南》
  • Android Framework定制长按电源键关机的窗口
  • 9 ABP Framework 中的 MVC 和 Razor Pages
  • Java pdf工具
  • jvm学习笔记之jvm的生命周期和发展历程
  • Video_AVI_Packet(2)
  • 全球AI安全防护迈入新阶段:F5推出全新AI驱动型应用AI安全解决方案
  • 量子安全新纪元:F5发布全新AI驱动的全栈式后量子加密AI安全方案
  • OpenJDK 17 源码 安全点轮询的信号处理流程
  • ESP-IDF 编译系统说明
  • 单细胞测序分析平台在肿瘤免疫微环境研究中的应用
  • javascript学习
  • element-ui 树形结构的table,自定义展开收起小箭头所在的列
  • 若依前后端分离版学习笔记(九)——登录和操作日志
  • Pyside6 核心模块随笔
  • VS2022+QT5.15.2+OCCT7.9.1的开发环境搭建流程
  • Pytest+selenium UI自动化测试实战实例(超详细)