- 调研报告从RouteLLM BERT切换为NVIDIA多头分类器作为推荐方案 - 新增选型变更记录、复杂度评分公式、测试结果 - 更新tx402技术对比表和演进路线 - nvidia_router.py添加use_safetensors=True兼容transformers 4.57
14 KiB
14 KiB
开源 LLM 路由模型调研报告
调研日期: 2026-04-17
调研目的: 寻找可替代 tx402 BERT 路由器的开源方案
报告版本: v2.0
最新更新: 技术选型已从 RouteLLM BERT 切换至 NVIDIA 多头分类器
执行摘要
核心发现
当前开源 LLM 路由模型生态已较为成熟,主要方案包括:
| 方案 | 准确率 | 延迟 | 路由能力 | 推荐指数 |
|---|---|---|---|---|
| NVIDIA Multi-Head Classifier ⭐ 已采用 | ~90% | 5-15ms | 多维度 3-tier | ⭐⭐⭐⭐⭐ |
| RouteLLM BERT (已弃用) | 85-92% | 1-5ms | 二分类 (强/弱) | ⭐⭐⭐ |
| Arch-Router 1.5B | 93% | 50-100ms | 动态多策略 | ⭐⭐⭐⭐ |
| RoRF (Random Forest) | - | - | Pairwise | ⭐⭐⭐ |
关键决策: NVIDIA prompt-task-and-complexity-classifier 是最终选型方案。相比 RouteLLM BERT 的二分类局限,NVIDIA 多头分类器提供 8 个维度的分析能力,支持 3-tier 路由(simple/medium/complex),更接近 tx402.ai 的生产实现。
选型变更记录
| 版本 | 日期 | 选型 | 变更原因 |
|---|---|---|---|
| v0.1 | 2026-04-17 | Token 长度规则路由 | 初始 MVP |
| v0.2 | 2026-04-17 | RouteLLM BERT | 引入 ML 路由 |
| v0.3 | 2026-04-17 | NVIDIA Multi-Head | 支持 3-tier,多维度分析 |
1. 当前选型: NVIDIA Multi-Head Classifier
1.1 项目信息
- 模型: nvidia/prompt-task-and-complexity-classifier
- 机构: NVIDIA
- 参数量: 184M
- 架构: DeBERTa-v3-base backbone + 8 个独立分类头
- 许可: Apache 2.0
1.2 技术架构
┌─────────────────────────────────────────────────────────┐
│ NVIDIA Multi-Head Classifier (184M) │
├─────────────────────────────────────────────────────────┤
│ Backbone: DeBERTa-v3-base (768维隐层) │
├─────────────────────────────────────────────────────────┤
│ 8 个分类头: │
│ ├─ head_0: task_type (12类) │
│ ├─ head_1: creativity_scope (3类: High/Low/No) │
│ ├─ head_2: reasoning (2类: Yes/No) │
│ ├─ head_3: contextual_knowledge (2类) │
│ ├─ head_4: number_of_few_shots (6类) │
│ ├─ head_5: domain_knowledge (4类: High/Medium/Low/No) │
│ ├─ head_6: no_label_reason (1类) │
│ └─ head_7: constraint_ct (2类) │
├─────────────────────────────────────────────────────────┤
│ 综合评分 → 3-Tier 路由: │
│ simple (<0.35) → qwen-flash │
│ medium (0.35-0.65) → qwen-plus │
│ complex (>0.65) → qwen-max │
└─────────────────────────────────────────────────────────┘
1.3 复杂度评分公式
score = (
0.4 * domain_knowledge + # High=1.0, Medium=0.6, Low=0.3, No=0.0
0.3 * reasoning + # Yes=1.0, No=0.0
0.2 * creativity + # High=1.0, Low=0.4, No=0.0
0.1 * task_type # Code=0.8, QA=0.5, Chatbot=0.2, ...
)
1.4 Task Type 分类 (12类)
| ID | 类型 | 复杂度权重 |
|---|---|---|
| 0 | Brainstorming | 0.6 |
| 1 | Chatbot | 0.2 |
| 2 | Classification | 0.3 |
| 3 | Closed QA | 0.4 |
| 4 | Code Generation | 0.8 |
| 5 | Extraction | 0.3 |
| 6 | Open QA | 0.5 |
| 7 | Other | 0.5 |
| 8 | Rewrite | 0.5 |
| 9 | Summarization | 0.6 |
| 10 | Text Generation | 0.7 |
| 11 | Unknown | 0.5 |
1.5 测试结果
| 查询 | Tier | Score | Task | Model |
|---|---|---|---|---|
| "你好" | simple | 0.17 | Chatbot | qwen-flash |
| "What is 2+2?" | simple | 0.17 | Chatbot | qwen-flash |
| "Write quicksort in Python" | medium | 0.45 | Code Generation | qwen-plus |
| "Analyze 10-page paper" | medium | 0.47 | Summarization | qwen-plus |
1.6 依赖版本 (已验证可用)
torch==2.2.2
transformers==4.44.2
tokenizers==0.19.1
safetensors==0.4.3
numpy==1.26.4
sentencepiece==0.2.1
注意: 该模型使用自定义多头架构,无法通过
AutoModelForSequenceClassification直接加载,需手动构建模型并用safetensors.torch.load_file加载权重。Tokenizer 需使用 slow 模式 (use_fast=False)。
1.7 优势
- ✅ 多维度分析(task_type/reasoning/creativity/domain 等 8 个维度)
- ✅ 原生支持 3-tier 路由,不限于二分类
- ✅ DeBERTa 架构,语义理解能力优于 BERT
- ✅ NVIDIA 出品,模型质量有保障
- ✅ CPU 可运行,延迟 5-15ms
1.8 劣势
- ⚠️ 自定义架构,不能直接用 HuggingFace AutoModel 加载
- ⚠️ 依赖版本要求较严格(transformers/tokenizers/torch 需要特定组合)
- ⚠️ 对 reasoning/creativity 判断偏保守,评分权重可能需要根据业务调优
- ⚠️ 与 LiteLLM 存在依赖冲突(tokenizers 版本),已移除 LiteLLM
2. 已弃用方案: RouteLLM BERT
2.1 弃用原因
- 仅支持二分类 (strong/weak),无法实现 3-tier 路由
- 中间模型(如 qwen-plus)永远不会被选中
- 无法提供查询的多维度分析(task type/domain/reasoning 等)
- 与 tx402.ai 的三层架构差距过大
2.2 项目信息
- 论文: RouteLLM: Learning to Route LLMs with Preference Data
- 代码: https://github.com/lm-sys/RouteLLM
- 机构: LMSYS, UC Berkeley
- 发布时间: 2024年7月
2.3 技术架构
RouteLLM 提供三种路由器实现:
┌─────────────────────────────────────────────────────────┐
│ RouteLLM Framework │
├─────────────────────────────────────────────────────────┤
│ 1. Similarity-Weighted (SW) Ranking │
│ - 基于向量相似度的加权 Elo 计算 │
│ - 无需训练,冷启动友好 │
├─────────────────────────────────────────────────────────┤
│ 2. Matrix Factorization (MF) │
│ - 矩阵分解学习查询-模型评分函数 │
│ - 论文报告最佳性能 │
├─────────────────────────────────────────────────────────┤
│ 3. BERT Classifier │
│ - 基于 BERT 的二分类器 │
│ - 预测强模型 vs 弱模型 │
│ - 延迟: 1-5ms (CPU) │
└─────────────────────────────────────────────────────────┘
2.4 模型规格
- 基础模型: BERT-base-uncased
- 参数量: ~110M
- 输入长度: 512 tokens
- 输出: 二分类 (0=弱模型, 1=强模型)
- 推理延迟: 1-5ms (CPU)
2.5 性能指标
| 基准测试 | 达到 95% GPT-4 性能所需 GPT-4 调用比例 | 成本降低 |
|---|---|---|
| MT Bench | 14% (使用 LLM Judge 增强数据) | 85% |
| MMLU | 54% (使用 Golden Label 增强数据) | 14% |
| GSM8K | 35% | 35% |
3. 备选方案: Arch-Router 1.5B
3.1 项目信息
- 论文: Arch-Router: Aligning LLM Routing with Human Preferences
- 模型: https://huggingface.co/katanemo/Arch-Router-1.5B
- 机构: Katanemo Labs
- 发布时间: 2025年6月
3.2 技术架构
┌─────────────────────────────────────────────────────────┐
│ Arch-Router Framework │
├─────────────────────────────────────────────────────────┤
│ 核心创新: Domain-Action Taxonomy │
│ - 使用自然语言定义路由策略 │
│ - 支持多维度人类偏好对齐 │
├─────────────────────────────────────────────────────────┤
│ 模型架构: 1.5B Generative Language Model │
│ - 输入: 用户查询 + 策略描述列表 │
│ - 输出: 最佳匹配的策略标识符 │
│ - 支持动态添加新策略(无需重新训练) │
└─────────────────────────────────────────────────────────┘
3.3 模型规格
- 参数量: 1.5B
- 架构: Generative Language Model (类似 Llama)
- 推理延迟: 50-100ms (GPU)
- 准确率: 93%(对比 GPT-4 的 85%)
3.4 优劣势
优势
- ✅ 人类偏好对齐,更符合实际使用场景
- ✅ 支持自然语言策略定义,灵活性高
- ✅ 添加新模型无需重新训练
劣势
- ⚠️ 模型较大 (1.5B),推理延迟较高
- ⚠️ 2025年新发布,生产验证较少
- ⚠️ 需要 GPU 才能达到可接受延迟
4. 其他方案
4.1 RoRF (Not Diamond)
- 类型: Random Forest 分类器
- 特点: Pairwise 路由决策
- 状态: 开源,但文档较少
4.2 LLMRouter (UIUC)
- 项目: https://github.com/ulab-uiuc/LLMRouter
- 特点: 智能路由系统
- 状态: 部分开源,细节待验证
4.3 DeBERTa 3-class Classifier
- 参数量: 163M
- 分类: easy/medium/hard 三分类
- 评估: 功能较简单,不如 NVIDIA 多头方案丰富
5. 方案对比总表
| 维度 | NVIDIA Multi-Head ⭐ | RouteLLM BERT | Arch-Router 1.5B | RoRF |
|---|---|---|---|---|
| 模型类型 | DeBERTa Multi-Head | BERT Classifier | Generative LM | Random Forest |
| 参数量 | 184M | 110M | 1.5B | - |
| 推理延迟 | 5-15ms | 1-5ms | 50-100ms | - |
| 路由能力 | 3-tier + 多维度 | 2-class (强/弱) | 动态策略 | Pairwise |
| 分析维度 | 8 维 | 1 维 | 策略匹配 | - |
| 硬件要求 | CPU 即可 | CPU 即可 | 需要 GPU | CPU |
| 开源程度 | 完全开源 | 完全开源 | 模型开源 | 开源 |
| 生产验证 | NVIDIA 内部 | LMSYS 验证 | 较少 | 未知 |
| 自定义难度 | 中(需手动加载) | 低 | 低 | 中 |
6. 与 tx402.ai 技术对比
| 技术点 | tx402.ai (商业) | NVIDIA Multi-Head (当前) | 差距分析 |
|---|---|---|---|
| Layer 1 分类器 | BERT 三分类 (3ms) | DeBERTa 多头 8维 (5-15ms) | ✅ 维度更丰富 |
| Layer 2 选择 | 多臂老虎机 (2-5ms) | 静态评分公式 | ⚠️ 缺少在线学习 |
| Layer 3 执行 | 语义缓存 + 批量优化 | 直接调用 | ⚠️ 需实现 |
| 路由层级 | 3层: 分类→MAB→执行 | 1层: 多头分类→评分 | ⚠️ 需扩展 |
| 模型覆盖 | 40+ | 3 (flash/plus/max) | ⚠️ 需扩展 |
| 在线学习 | 支持 (MAB) | 不支持 | ⚠️ 需实现 |
| 语义缓存 | 支持 | 不支持 | ⚠️ 需实现 |
| 总延迟 | 10-18ms | 5-15ms | ✅ 更优 |
当前已缩小的差距(相比 RouteLLM BERT):
- ✅ 支持 3-tier 路由(simple/medium/complex)
- ✅ 多维度查询分析(task_type/reasoning/creativity/domain)
- ✅ 更接近 tx402 Layer 1 的分类能力
仍需实现的功能:
- Layer 2: 多臂老虎机在线学习(Thompson Sampling)
- Layer 3: 语义缓存 + 批量优化
- 扩展模型池覆盖(当前仅 3 个 Qwen 模型)
7. 演进路线
Phase 1 (已完成): NVIDIA 多头分类器 3-tier 路由
↓
Phase 2 (下一步): 添加多臂老虎机在线学习 (Layer 2)
↓
Phase 3: 语义缓存 + 批量优化 (Layer 3)
↓
Phase 4: 扩展模型池 (40+ 模型支持)
↓
Phase 5: 基于业务数据微调 NVIDIA 分类器
8. 参考文献
学术论文
- RouteLLM: Ong et al. "RouteLLM: Learning to Route LLMs with Preference Data". arXiv:2406.18665, 2024.
- Arch-Router: Tran et al. "Arch-Router: Aligning LLM Routing with Human Preferences". arXiv:2506.16655, 2025.
- RouterArena: Lu et al. "RouterArena: An Open Platform for Comprehensive Comparison of LLM Routers". arXiv:2510.00202, 2025.
- RouterBench: Hu et al. "RouterBench: A Benchmark for Multi-LLM Routing System". ICML 2024.
开源项目
- NVIDIA Classifier: https://huggingface.co/nvidia/prompt-task-and-complexity-classifier
- RouteLLM: https://github.com/lm-sys/RouteLLM
- Arch-Router: https://huggingface.co/katanemo/Arch-Router-1.5B
- LLMRouter: https://github.com/ulab-uiuc/LLMRouter
- Awesome AI Model Routing: https://github.com/Not-Diamond/awesome-ai-model-routing
相关调研
- X402 生态竞品技术架构深度调研 (本文档同目录)
报告结束
本报告基于 arXiv 论文、GitHub 开源项目和技术博客整理。
数据截至 2026-04-17。
如需更新或补充,请参考原始文献。