模型性能评估
为什么要评估?
评估使路由变得数据驱动。通过测量 MMLU-Pro 上的每类别准确率(并使用 ARC 进行快速健全性检查),您可以:
- 为每个决策选择正确的模型并在 decisions.modelRefs 中配置它们
- 根据整体性能选择合理的 default_model
- 决定 CoT 提示是否值得延迟/成本权衡
- 在模型、提示词或参数更改时捕获回归
- 保持更改可复现和可审计,用于 CI 和发布
简而言之,评估将轶事转化为可测量的信号,从而提高路由器的质量、成本效率和可靠性。
本指南记录了通过 vLLM 兼容的 OpenAI 端点评估模型(MMLU-Pro 和 ARC Challenge)、生成基于性能的路由配置以及更新配置中 categories.model_scores 的自动化工作流程。
端到端运行内容
1) 评估模型
- 每类别准确率
- ARC Challenge:整体准确率
2) 可视化结果
- 每类别准确率的柱状图/热力图

3) 生成更新的 config.yaml
- 为每个类别创建带有 modelRefs 的决策
- 将 default_model 设置为最佳平均表现者
- 保留或应用决策级推理设置
1.前置条件
-
运行中的 vLLM 兼容 OpenAI 端点,服务您的模型
- 端点 URL 如 http://localhost:8000/v1
- 如果端点需要,可选提供 API 密钥
# 终端 1
vllm serve microsoft/phi-4 --port 11434 --served_model_name phi4
# 终端 2
vllm serve Qwen/Qwen3-0.6B --port 11435 --served_model_name qwen3-0.6B -
评估脚本的 Python 包:
- 从仓库根目录:requirements.txt 中的 matplotlib
- 从
/src/training/model_eval:requirements.txt
# 本指南中我们将在此目录工作
cd /src/training/model_eval
pip install -r requirements.txt
⚠️ 关键配置要求:
vLLM 命令中的 --served-model-name 参数必须与 config/config.yaml 中的模型名称完全匹配:
# config/config.yaml 必须匹配上面的 --served-model-name 值
vllm_endpoints:
- name: "endpoint1"
address: "127.0.0.1"
port: 11434
- name: "endpoint2"
address: "127.0.0.1"
port: 11435
model_config:
"phi4": # ✅ 匹配 --served_model_name phi4
# ... 配置
"qwen3-0.6B": # ✅ 匹配 --served_model_name qwen3-0.6B
# ... 配置
可选提示:
- 确保您的
config/config.yaml包含vllm_endpoints[].models下的部署模型名称,以及model_config下的任何定价/策略,如果您计划直接使用生成的配置。