MetroLLM-Bench:评估语言模型作为地铁售票亭运行时的基准 MetroLLM-Bench: Evaluating Language Models as Transit Kiosk Runtimes
2.6GB的4B微调模型在地铁亭基准Tier 1达91.3分,追平GPT-5.4
前置知识
PEFT 与 QLoRA
参数高效微调(PEFT)冻结基座权重,只训练注入的低秩适配器(LoRA);QLoRA 进一步把基座量化到 4-bit 再叠加适配器以省显存。本文用 rank 16、3 个 epoch 在单张 RTX 5090 上以共 9.4 GPU 小时训出 2B 到 27B 四个学生模型。
论文的核心实验是对四个尺寸做 QLoRA 蒸馏并测量收益随基座能力增强而单调衰减、在 27B 变号的规律,不懂 PEFT 就无法理解这条容量天花板曲线。
ReAct 循环与函数调用
ReAct 让模型在推理、调用工具、观察结果之间循环推进直到给出最终答案。本文设 20 轮预算和 6 个工具,模型必须以 submit_assistant_state 提交结构化终态;格式不合规时服务器返回 HTTP 422 字段级错误,模型可在剩余轮次内修正。
被测对象正是模型的工具编排与结构化输出能力,评分同时覆盖工具调用序列和最终提交的终端状态,这是理解整个评分体系的入口。
LLM-as-a-Judge 与一致性系数
用另一个 LLM(本文为 Haiku 4.5)按细则给开放性回答打分。可靠性用带二次权重的 Cohen's kappa $\kappa_w$ 与更稳健的 Gwet's AC2 衡量,前者在评分分布偏斜时会失真。本文 judge 与作者 $\kappa_w=0.53$,高于两位人类间的 0.25。
Tier 2 八个组件中六个依赖 LLM 裁判,论文用 100 对人工盲评校准其实可信度,这直接决定 composite 总分是否值得采信。
配对自举置信区间
对同一批案例上两个系统的逐例差值做有放回重采样,估计差值的置信区间,能利用配对结构消除案例难度带来的共同方差。本文在 955 例全集和 238 例 held-out 上分别计算,如 4B PEFT 增益在全集为 +1.72 [+0.72, +2.74],区间不含零;held-out 上则全部含零。
论文所有'谁更强'的结论都以自举区间为准绳:held-out 前十名挤在 3.18 分内且区间含零,不懂数据统计很容易误读排行榜的名次。
Framebook(规则手册)
每个地铁系统附带一份自然语言规则手册,规定术语、货币、运营时间与文化惯例,运行时插入系统提示词。同一模型无需改代码即可在六套规则集下运行,考核的是按给定规则执行而非从预训练里回忆路网。
framebook、案例事件与工具卡共同构成每道题的输入上下文,是理解 Figure 1 评测闭环和本文'规则遵循'设计哲学的关键。
研究动机
地铁自助售票亭的票价规则、线路拓扑与故障应对传统上以硬编码状态机实现:一次站点关闭、新票价档或节假日时刻表都要经过开发工单、集成补丁、回归测试与发布窗口的完整流程,改动成本高。业界因此尝试用语言模型作策略层——读取自然语言规则手册、调用结构化工具、输出亭端可渲染状态——但缺少对应评测。通用智能体基准覆盖面广却用二元计分:tau-bench 上 GPT-4o 零售任务一次通过率 61%、航空 35%,GAIA 上 GPT-4 加插件仅 15%;GTFS 基准只测公交数据语义理解而不测运营决策;JSONSchemaBench 等结构化基准只验证 schema 合法性,不检查决策与工具调用的一致性。而故障、多轮上下文和对抗输入在乘客-facing 售票亭是日常,此前没有基准在统一协议下考察这三者。
本文的目标是作者构建并开源 MetroLLM-Bench:955 个案例、6 个真实地铁系统(MARTA 38 站、多哈 37 站、BART 50 站、台北 107 站、CTA 142 站、北京 414 站)、11 个类别(路由、票价、故障、无障碍、文化、政策、多轮、对抗、时序、工具幻觉、复合压力),覆盖三种票价模型与四种货币。模型必须调用六个工具并以 submit_assistant_state 提交含 outcome、逐票报价与亭端动作的终态。评分分两层:14 个确定性组件构成 Tier 1(可兼作微调奖励),8 个语义质量组件构成 Tier 2(其中 6 个用 Haiku 4.5 裁判)。在此之上回答两个部署问题:在 2.6 GB 的开源小模型上做 PEFT 蒸馏,能否在确定性任务上追平 GPT-5.6/GPT-5.4 这类前沿 API;以及 PEFT 收益如何随基座规模变化。
与已有工作不同的是,独特切入在测量纪律而非新算法。其一,seed=42 的系统分层 75/25 划分在任何训练开始前冻结并提交仓库:717 例生成训练数据、238 例 held-out 做主评测、955 例全集只作敏感性分析,且 15 例 gap-audit 钉在 held-out。其二,评分栈经人工盲评校准:judge 与作者的二次加权 kappa $\kappa_w=0.53$ 高于两位人类评分者之间的 0.25,稳健的 Gwet's AC2 全部落在 0.81-0.89。其三,固定顺序调工具的脚本智能体给能力定标(Tier 1 84.6、composite 77.1),把纯工具编排与需要决策的贡献分开。其四,把服务配置当显式变量:Qwen3.8 相对 3.5 表观退化 3.60 分,拆解后约 2.7 分来自输出预算与采样温度——统一配置的排行榜会默默把配置错配当成能力差异,此前少有论文量化这一点。
核心方法
评测单元是一个闭环:framebook(术语、货币、运营时间、文化惯例)与案例事件(起终点、乘客数、可选故障、自由文本)由装配器拼成系统提示词;模型进入最多 20 轮的 ReAct 循环,可调用 route_planner、fare_calculator、station_info、line_info、disruption_feed、knowledge_base 六个工具;终止必须调用 submit_assistant_state,提交五选一的 outcome(route_and_fare_ready、advisory_only、service_unavailable、request_declined、policy_answer_only)、带原因码的亭端动作与乘客可见消息,可路由时还须给逐票报价。Pydantic 校验失败返回 HTTP 422 字段级错误,模型可在剩余轮次内修正。评分器从工具序列与终态两方面计算 22 个组件:Tier 1 十四个确定性组件无需裁判、兼作 PEFT 奖励信号,Tier 2 八个组件中六个由 Claude Haiku 4.5 判分并缓存到磁盘。
核心思想是把'有界任务'贯彻到评分与训练两端。因为动作空间窄(6 工具、通常 3-7 次调用、固定渲染契约),路由、票价与状态合法性都有确定性真值,于是 Tier 1 的连续分数能直接充当蒸馏奖励:只从 717 例训练分区采集教师轨迹,保留 Tier 1 至少 90% 的样本并按案例去重得 600 条(27B 教师贡献 540 条、35B-A3B 贡献 60 条,均值 99.0%)。这与 tau-bench/GAIA 的二元 pass/fail 有本质区别:分数连续、可分解、可复用为训练信号。第二个关键点是配置公平:论文证明单一全局服务配置并不中立——贪心加 4096 预算下 Qwen3.8 输 3.60 分,放宽预算收复 1.72、厂商采样再收复 1.00,各取最优后差距缩到 0.88——因此 Table 2 对标 3 的行各按其最优配置排名,把配置从隐藏混杂变成被测变量。
方法步骤详情
第一步构建数据:六系统各写 framebook,cases/generator.py 用基准图与票价引擎推导真值,产出事件流、期望字段与评分配置,生成期校验必填字段、有效路径与 B 类票价一致等不变量,独立标注员另抽验 50 例。第二步划分:系统分层 75/25(seed=42),717 例训练、238 例 held-out。第三步运行:本地模型以 Q4-Q8 GGUF 经 llama.cpp 跑在单张 RTX 5090,OpenAI 走 Azure API(temperature 1.0),Mistral 走公共 API。第四步评分:Tier 1 十四组件加 Tier 2 八组件。第五步校准:100 对 case-rubric 上对比评分栈与两位盲评标注者。第六步蒸馏:QLoRA rank 16、3 epochs、batch 2 配梯度累积 4,序列长度 2B/4B/9B 为 4096、27B 因 32GB 显存限 2048;每尺寸训 seed 42/43(2B 加训 44),单次 27-103 分钟,九次共 9.4 GPU 小时。第七步统计:配对自举给出 95% 置信区间。
技术新颖性
新颖性有四点。第一,确定性/语义双层评分使基准分数无损转化为微调奖励,4B 学生确实兑现了这条通路:held-out Tier 1 达 91.32。第二,四尺寸、两到三种子的 PEFT 扫描给出收益随基座能力单调衰减并在 27B 变号的容量天花板曲线:+7.03(2B)、+2.00(4B)、+1.65(9B)、-0.91(27B),且每个种子在每个尺寸方向一致;种子离散度从 3.96 收缩到 0.09,作者据此提出收益与方差同源收缩的解释。第三,服务配置敏感性分解(Table 3)表明跨代比较必须逐行报告配置:Muse Glimmer 在 16384 预算下反而从 92.75 降到 92.38,GLM-4.7-Flash 从 89.67 降到 89.62、在 32768 预算加 40 轮下进一步掉到 88.58,预算越大越好并不成立。第四,脚本基线(84.6)与 2B 到 4B 基座 +15.15 的台阶共同给语言模型的增量价值定位:集中在时序、政策、无障碍与复合场景这些需要决策的类别。
实验结果
held-out(238 例)榜首 Muse Glimmer 30B(92.03),其后是 Qwen3.8-27B(91.83)与 Qwen3.6-27B(91.28),前十名挤在 3.18 分内。部署结论:2.6 GB 的 Qwen3.5-4B PEFT 学生 Tier 1 得 91.32,超过 GPT-5.6 luna(90.63)与 sol(90.00),与 GPT-5.4 full xhigh(91.37)仅差 0.05,但 composite 89.12 仍落后前沿约 1 分。脚本基线 Tier 1 84.6;LM 增量集中在政策 +23.4、复合 +22.8、无障碍 +21.5、时序 +21.4,路由仅 +1.7。类别分化明显:Qwen 27B base 无障碍领先 GPT-5.4 xhigh 13.5 分,后者时序反超 13.7 分,GPT-5.6 sol 时序 68.6 垫底。PEFT 增益 +7.03/+2.00/+1.65/-0.91 单调衰减;955 全集上 4B 增益 +1.72 与 27B 回退 -1.09 的 95% 区间均不含零。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 地铁亭策略层(held-out 238 例) | Tier 1 确定性得分 | Qwen3.5-4B + PEFT(2.6 GB Q4_K_M):91.32 | GPT-5.6 luna 90.63 / GPT-5.6 sol 90.00;GPT-5.4 full xhigh 91.37 | 较 GPT-5.6 luna +0.69;与 GPT-5.4 xhigh 仅差 -0.05,落在区间 [-1.80, +1.70] 内持平 |
| 地铁亭策略层(held-out 238 例) | Composite(Tier 1 + Tier 2) | 4B 学生 89.12;榜首 Muse Glimmer 30B 92.03 | GPT-5.4 full xhigh 90.45;GPT-5.6 luna 90.57 | composite 上前沿 API 仍领先学生约 1 分,优势集中在对抗与时序类别 |
| PEFT 容量天花板扫描(955 例全集) | Tier 1 增益(相对同尺寸基座) | 4B +1.72 [+0.72, +2.74];held-out 口径 +7.03/+2.00/+1.65/-0.91(2B/4B/9B/27B) | 对应 Qwen3.5 基座(74.17 / 89.32 / 89.38 / 92.32) | 收益单调衰减并在 27B 显著变号为 -1.09 [-1.82, -0.38] |
| 规则基线定标(held-out) | Tier 1 / Composite | 确定性脚本智能体 84.6 / 77.1 | 最弱上榜模型 Mistral Nemo 12B 57.50 / 56.67 | 纯工具编排即得 84.6,语言模型增量集中在需决策的类别(+10.9 至 +23.4) |
局限与改进
作者承认:任务刻意有界(6 工具、20 轮、固定契约),结论不能外推到长视野或开放输出;多数非 PEFT 模型仅单次运行,held-out 区间半宽约 2 分,前十名 3.18 分的压缩带只具弱分辨力;OpenAI 行固定 temperature 1.0 带未测方差;标 3 的行在与排名相同的 held-out 上挑选配置,存在未量化的选择乐观偏差;Tier 2 六组件依赖 Haiku 裁判,跨厂商校准留作未来工作。我补充:held-out 各类仅 11-32 例,Figure 3 的格间差异难以单独解读;149 个可定义起终点的 held-out 案例中 59 个无同对训练邻居,但中位数 1 个、p90 达 31,模板重叠可能高估学生泛化;27B 学生的 2048 序列长度是显存妥协,可能部分导致其负增益;案例由模板合成,与真实客流分布的距离未验证;safety 维度 $\kappa_w$ 仅 0.20,一致性偏低。
独立分析的弱点
第一,统计功效不足:held-out 四个主比较的自举区间全部含零(如 4B +1.97 [-0.17, +4.16]),结论靠 955 全集显著性与跨尺寸趋势支撑,换一个任务该趋势未必复现;改进方向是把 held-out 扩到 500 例以上或按模板簇做交叉划分。第二,配置选择乐观:Table 2 标 3 的行用与排名相同的数据挑最优配置,Muse、Qwen3.6/3.8 的名次可能被抬高;应为配置选择单留一个验证分区。第三,裁判单点依赖:六个 Tier 2 组件全用 Haiku,H-014 三个 scenic-route 案例显示'严格约束遵循 vs 结果效用'的定义分歧会系统性偏移分数;可引入双裁判仲裁并公开判分协议。第四,学生时序薄弱:4B 学生时序仅 75.1、工具幻觉 86.9,为集群偏低,可在 717 例训练分区内对 I/J 类教师轨迹加权采样后再蒸馏。第五,评估与训练同源:蒸馏教师(Qwen 27B/35B)本身也在榜上,家族内比较可能偏向教师输出分布;可引入异族教师做对照蒸馏。
未来方向
作者提出:增加更难的复合与时序案例,把量表分辨区向上扩展(当前有效分辨区在 2B-9B 学生与预算 API 档);与非 Anthropic 模型做跨裁判校准;补充端到端延迟要求以完成 kiosk 部署指标;改变 LoRA 秩、学习率与数据规模以定位 PEFT 停止增益的精确边界。基于成果可延伸:把 Tier 1 确定性奖励从离线蒸馏升级为在线强化学习(如 GRPO),直接在 955 例上优化;把 framebook 机制泛化为'任意规则文档 + 工具集'的领域运行时评测范式,迁移到税务、医保等规则密集域;用开源 4B 学生做真实售票亭 A/B 部署,测量故障率与乘客满意度;用更长序列显存复训 27B 学生,分离 2048 截断对负增益的贡献;探查 2B 到 4B 基座 +15.15 的台阶是 Qwen 特有还是普遍规律(Gemma 42.8 到 66.8 同向但未入主榜)。
复现评估
复现友好度高:基准、harness、复现指南与四个微调学生权重发布于 github.com/continker/metrollm-bench,脚本智能体在 harness/rule_agent.py,划分规格已提交仓库,955 例案例文件与六份 framebook 随库可查,cases/generator.py 能重新校验真值。算力门槛低:本地评测单张 RTX 5090 加 llama.cpp(Q4-Q8 GGUF),九次 QLoRA 训练共 9.4 GPU 小时(单次 27-103 分钟)。外部依赖:Azure OpenAI 与 Mistral 的 API key,以及 Tier 2 裁判用的 Claude Haiku 4.5(判定缓存到磁盘,可省重复调用费)。不可逐位复现之处:GPT 行 temperature 1.0 单次运行、本地贪心解码仍有每系统 0.23 分的服务器级非确定性,标 3 的行需按附录 B.4 复刻各自服务配置。整体属于'一张消费级 GPU 加少量 API 费用即可复现主干结论'的工作。
论文图表