System One 基准测试:Jev、Kev、Laya、Von、GLiNER 实测对比
独立 System One 基准测试:Jev、Kev、Laya、Von、GLiNER 在 SST-2、TREC、Banking77 和 8 种语言上的准确率、置信度校准与延迟,代码和原始结果全部公开。
System One 模型针对一段文本回答类型化问题。它不生成文字,而是给每个选项一个概率。这次 System One 基准测试把这些模型放在 3 个英文数据集上,以及同一批语句的 8 种语言版本上,问完全相同的问题,并公开代码和每一条原始预测,方便你核对或复现。
参测模型:TypeSafe Jev 1.13(云端托管)、Kev-0.8B、Von 1.2、Laya(英文版、多语言版,以及它的自动语言路由)和 GLiNER2.5-Decide(英文版和多语言版)。代码和原始结果:GitHub 上的 system-one-benchmark。
基准测试结论速览
- Jev 1.13 在所有任务、所有语言上都处在第一梯队,置信度校准也最好。
- Kev-0.8B 是最强的开源模型。它在 TREC 和 Banking77 上和 Jev 持平,但训练数据包含这两个数据集(见下文“训练数据重叠”)。它在非英文输入上也是开源模型里最好的。
- Laya 多语言版是所有参测模型里最快的,每次请求约 20 毫秒;在非英文输入上,它是小型编码器模型(Laya、Von、GLiNER)里最准的。准确率落后于 Jev 和 Kev。
- Laya 在标签很多时依然偏弱:Banking77 的 77 个意图,默认设置约 36%,按官方文档调大选项预算后为 43%。
- Von 1.2 在英文情感和 Banking77 上接近领先者,但 TREC 较弱,非英文输入也很弱(它的模型卡本来就没说支持其他语言)。
- GLiNER2.5-Decide 在这些通用数据集上落后,它是针对自家业务决策数据集调优的。
英文测试结果
每个数据集 300 条样本。方括号内是 95% 置信区间(Wilson)。
| 模型 | SST-2(2 个标签) | TREC(6 个标签) | Banking77(77 个标签) |
|---|---|---|---|
| Jev 1.13(托管) | 0.963 [0.936–0.979] | 0.927 [0.891–0.951] | 0.813 [0.765–0.853] |
| Kev-0.8B † | 0.920 [0.884–0.946] | 0.953 [0.923–0.972] | 0.823 [0.776–0.862] |
| Von 1.2 | 0.940 [0.907–0.962] | 0.663 [0.608–0.714] | 0.793 [0.744–0.835] |
| Laya(英文) | 0.920 [0.884–0.946] | 0.773 [0.723–0.817] | 0.363 [0.311–0.419] |
| Laya(多语言) | 0.857 [0.812–0.892] | 0.860 [0.816–0.895] | 0.367 [0.314–0.423] |
| GLiNER2.5-Decide | 0.857 [0.812–0.892] | 0.417 [0.362–0.473] | 0.567 [0.510–0.622] |
| 多数类基线 | 0.500 | 0.263 | 0.030 |
† Kev 的模型卡在训练数据里列出了 Banking77、TREC 和 SST-5(与 SST-2 是同一批句子)。我们测的是测试集和验证集里的样本,但这些标签和这类文本 Kev 都见过。
置信区间有重叠时,在这个样本量下不能认定谁更好。Banking77 上,Jev、Kev、Von 在统计上打平。
多语言基准测试结果
取 MASSIVE 测试集里同样的 150 句话,覆盖 8 种语言,分到 18 个场景(闹钟、天气、音乐、外卖等)。MASSIVE 是平行语料,每种语言问的是同样的内容,分数可以直接比较。问题和选项描述统一用英文。没有任何模型把 MASSIVE 列为训练数据。
| 模型 | 英语 | 中文 | 日语 | 韩语 | 西班牙语 | 德语 | 阿拉伯语 | 印地语 | 非英文平均 |
|---|---|---|---|---|---|---|---|---|---|
| Jev 1.13(托管) | 0.91 | 0.87 | 0.91 | 0.86 | 0.87 | 0.91 | 0.81 | 0.89 | 0.872 [0.851–0.891] |
| Kev-0.8B | 0.76 | 0.77 | 0.75 | 0.69 | 0.62 | 0.71 | 0.56 | 0.49 | 0.656 [0.627–0.684] |
| Laya(多语言) | 0.65 | 0.66 | 0.63 | 0.48 | 0.59 | 0.50 | 0.47 | 0.49 | 0.544 [0.514–0.574] |
| Laya Router(自动路由) | 0.69 | 0.66 | 0.63 | 0.48 | 0.54 | 0.46 | 0.44 | 0.49 | 0.528 [0.497–0.558] |
| GLiNER2.5-Decide | 0.77 | 0.61 | 0.65 | 0.43 | 0.65 | 0.65 | 0.29 | 0.13 | 0.488 [0.457–0.518] |
| GLiNER2.5-multi-Decide | 0.55 | 0.46 | 0.50 | 0.46 | 0.45 | 0.56 | 0.40 | 0.09 | 0.416 [0.387–0.446] |
| Laya(英文) | 0.69 | 0.54 | 0.41 | 0.15 | 0.39 | 0.36 | 0.16 | 0.13 | 0.307 [0.280–0.335] |
| Von 1.2 | 0.73 | 0.15 | 0.13 | 0.09 | 0.31 | 0.25 | 0.13 | 0.11 | 0.168 [0.146–0.191] |
18 个场景随机猜测的准确率是 0.056。7 种非英文语言的平均校准误差(ECE):Jev 0.061、Kev 0.133、GLiNER2.5-Decide 0.141、GLiNER2.5-multi-Decide 0.195、Laya 多语言版 0.207、Laya 英文版 0.257、Von 0.803。
几个值得注意的点:
- Jev 换语言几乎不掉分,每种语言都在 0.81–0.91 之间。
- Laya 多语言版跨文字体系都能用。 非英文平均分高于两个 GLiNER 版本和 Von,而且是唯一在阿拉伯语和印地语上仍接近 0.5 的小模型。Laya 英文版在韩语、阿拉伯语、印地语上基本失效,Laya 项目自己也提示过这一点。
- 非英文输入建议直接指定多语言版。 Laya 的自动路由在中文、日语、韩语、印地语上和多语言版完全一样,但在西班牙语、德语、阿拉伯语上低几个点,可能是部分请求被分到了英文版。
- Von 只支持英文,和它模型卡说的一致;在其他语言上答错时依然很自信。
Laya 的大标签设置能救回 Banking77 吗?
Laya 文档说明,77 个选项要共享决策头里固定的 token 预算,并给了两个解决办法。我们在同样的 300 条 Banking77 样本上都试了:
| Laya 设置 | 英文版 | 多语言版 |
|---|---|---|
| 默认 | 0.363 | 0.367 |
调大选项预算(head_max_len=512、max_len=1024) | 0.427 | 0.417 |
先用向量筛出前 20 个候选(predict_shortlist) | 0.280 | 0.300 |
调大预算能提高 5–6 个点,和 Laya 项目公布的 0.425 一致。候选筛选(用模型自身编码器做均值池化向量)在这里反而更差:正确的意图经常没进前 20。换一个更强的向量模型也许会好一些。不管哪种办法,不微调的话 Laya 在这个任务上都远落后于 Jev(0.813)。
置信度校准(ECE)
ECE(期望校准误差)衡量模型的置信度和实际准确率是否一致:模型说 90% 有把握时,应该大约九成是对的。越低越好。我们取最高选项的概率,按 10 个等宽区间计算。
| 模型 | SST-2 | TREC | Banking77 |
|---|---|---|---|
| Jev 1.13 | 0.020 | 0.020 | 0.083 |
| Kev-0.8B † | 0.032 | 0.030 | 0.128 |
| Von 1.2 | 0.075 | 0.210 | 0.170 |
| Laya(英文) | 0.015 | 0.049 | 0.506 |
| Laya(多语言) | 0.101 | 0.062 | 0.439 |
| GLiNER2.5-Decide | 0.059 | 0.146 | 0.246 |
如果你打算“置信度高于某个阈值就自动处理”,校准就很关键。Jev 即使面对 77 个选项、换成其他语言,概率依然可信。Laya 英文版在 SST-2 上校准最好,但标签多时报出的置信度远高于实际准确率,这种场景下不要直接用它的原始概率做自动化判断。Laya 项目也承认发布的 checkpoint 过度自信,建议用自己的数据拟合 temperature。
延迟
单次请求耗时的中位数:逐条发送,先预热 5 次。本地模型运行在一台 Apple M5 Pro 的 Mac 上。
| 模型 | 运行方式 | SST-2 | Banking77 | MASSIVE(中文) |
|---|---|---|---|---|
| Laya(多语言) | 本地,PyTorch MPS | 10.9 ms | 24.5 ms | 20.1 ms |
| Laya(英文) | 本地,PyTorch MPS | 18.5 ms | 54.2 ms | 36.6 ms |
| Von 1.2 | 本地,PyTorch MPS | 17.6 ms | 52.0 ms | 31.8 ms |
| Kev-0.8B | 本地,MLX | 22.6 ms | 68.9 ms | 28.1 ms |
| GLiNER2.5-multi-Decide | 本地,PyTorch MPS | – | – | 36.3 ms |
| GLiNER2.5-Decide | 本地,PyTorch MPS | 26.7 ms | 1,203 ms | 86.3 ms |
| Jev 1.13 | 云端,经 OpenRouter | 410 ms | 409 ms | 375 ms |
Jev 的数字是经过互联网的端到端耗时,包含网络往返。它反映的是实际调用一次远程接口要多久,而不是模型本身的速度。本地模型的耗时随选项数量增加,因为每个选项都要编码。
Laya 适合什么场景
从结果看,Laya 不在榜首,但有清楚的定位:
- 对延迟敏感、调用量大、选项不多的决策。 本地 10–20 毫秒比最后几个点的准确率更重要时。
- 小硬件上处理多种语言。 在我们测的小型编码器模型里,Laya 多语言版是唯一能跨文字体系正常工作的。
- 用自己的数据微调。 Laya 项目报告,微调后的 checkpoint 在它的 typed-decisions 测试上从 0.362 提升到 0.766。上面这些零样本分数只是起点。见微调 Laya。
- 不适合开箱即用的大标签集合。 选项超过 50 个时,用 Jev 或 Kev,或者把问题拆成粗分类和细分类两步。
测试方法
- 英文数据集:SST-2 验证集(影评情感)、TREC 粗粒度测试集(问题类型)、PolyAI 官方的 Banking77 测试集(客服意图)。各抽 300 条,随机种子 42,只抽一次。
- 多语言数据集:MASSIVE 场景分类测试集。先从英文按 ID 抽 150 条,再取同样 ID 的中文(zh-CN)、日语、韩语、西班牙语、德语、阿拉伯语和印地语版本。
- 问题:每个数据集对应一个
choice问题,所有模型、所有语言用的都是同样的英文指令和选项描述。 - 接口:所有模型都用同样的 Jev 风格
POST /v1/systemone请求调用。Laya 通过 laya-serve(两种大标签设置用一个很小的封装),Von 通过von serve,Kev 通过它自带的服务,Jev 通过 OpenRouter 的 System One 接口。GLiNER2.5 没有这种接口,我们写了一个很小的转接层,把请求映射到它的classify_text。 - 我们没做任何调优:没有微调、没有改提示词、没有重新校准,每个模型都用发布时的默认设置(上面单独列出的 Laya 设置除外)。
- 版本:Jev 为 OpenRouter 上的
typesafe/jev-1.13;Kev 为jaredpalmer/kev-0.8b(MLX,bfloat16);Von 1.2(von-sdk 1.2.3);Laya 0.3.20;GLiNER2.5-Decide 和 GLiNER2.5-multi-Decide(gliner2 2.0.0)。测试日期 2026 年 9 月 26 日。
训练数据重叠
如果公开数据集出现在模型的训练数据里,模型在这个数据集上的分数就会偏高。我们查了每个模型公开的文档:
| 模型 | 是否用这些数据集训练过 |
|---|---|
| Kev-0.8B | Banking77、TREC、SST-5:是。MASSIVE 未列出。 |
| Laya | 未列出。上游写明训练数据含 AG News 和 BoolQ,SST-5 未参与训练;它自己公布过 MASSIVE 意图分类的成绩。 |
| Von 1.2 | 模型卡没有列出训练数据。 |
| GLiNER2.5-Decide | 未列出。它用自家的 fast-decisions 数据集评测。 |
| Jev 1.13 | 未公开。 |
“未列出”不等于一定没用过。
局限性
- 样本少:英文每个数据集 300 条、每种语言 150 条,几个百分点的差距在误差范围内。
- 只跑一次、只用一台机器:换硬件,延迟会不同。
- 只测了
choice题型:是非题(noul)和打分题(score)没覆盖。 - 只用了一种英文问法:换一种指令、选项描述,或者用输入的语言来提问,结果都可能变化。
- 只测零样本:微调会改变结果,对 Laya 尤其明显,这里没有测。
- 只测了最小的 Kev:Kev 还有 4B、9B 和 27B 版本。
复现这次基准测试
git clone https://github.com/yanng981/system-one-benchmark
cd system-one-benchmark
python prepare_data.py # 生成固定样本
python bench.py laya von-1.2 kev-0.8b # 英文数据集
python bench.py laya-multilingual kev-0.8b --datasets multilingual
OPENROUTER_API_KEY=... python bench.py jev --datasets multilingual
仓库的 README 写了如何启动每个模型服务。每个模型在每个数据集上的原始预测都在 results/ 目录里。
常见问题
哪个 System One 模型最准?
在这次测试里是 Jev 1.13:每个任务、每种语言的准确率都最稳定,校准也最好。Kev-0.8B 是最强的开源模型。
处理多语言输入,哪个 System One 模型最好?
Jev 遥遥领先,非英文平均 0.87。开源模型里 Kev-0.8B 第一(0.66),其次是 Laya 多语言版(0.54),而且 Laya 多语言版速度最快。
Laya 和 Jev 一样准吗?
不一样。两个标签的情感判断上,Laya 英文版只比 Jev 低几个百分点,本地约 20 毫秒就能出结果;但标签多或者输入不是英文时,Jev 远远领先。Laya 的优势在速度、开放权重、能在自己的硬件上运行,以及可以微调。完整取舍见 Laya vs Jev。
调大 Laya 的选项预算能解决 Banking77 的问题吗?
只能部分解决。head_max_len=512 让 Laya 在 Banking77 的 77 个意图上从约 0.36 提到约 0.43,仍远低于 Jev 的 0.81。
相关页面
- Jev 是什么?:Jev 的原理、价格和 API 调用方式
- System One 模型对比:所有模型并排对比
- Kev 和 Von:模型指南
- Laya vs Jev:开放权重、速度、准确率与取舍
- Laya 基准测试追踪:Laya 的上游与第三方测试结果
测试日期:2026 年 9 月 26 日。