Kev 模型(Jared Palmer):型号、部署与 Jev 对比

Jared Palmer 开源的 Kev 决策模型(0.8B–27B),兼容 Jev 接口:运行、微调、与 Jev 的 benchmark 对比及适用边界。

最后更新: 2026/9/25

Kev 是 Jared Palmer 开源的 System One 决策模型系列,基于 Qwen 基座模型微调,采用 Apache 2.0 许可证,并提供与 TypeSafe Jev 相同的 POST /v1/systemone 接口。你给它一个状态和一组结构化问题,它一次前向计算就返回每个选项的概率。

作者Jared Palmer
型号Kev-0.8B、Kev-4B、Kev-9B、Kev-27B
基座模型Qwen3.5 Base(0.8B、4B、9B);Qwen3.8-27B(27B)
许可证Apache 2.0
问题类型choice、noul、score
接口兼容 Jev 的 POST /v1/systemone,TypeSafe SDK 不用改代码
运行环境CUDA、ROCm、Apple Silicon(MLX)

来源:Kev GitHub 仓库和 Hugging Face 上的 Kev 合集。下文数据均为项目方自己的实测。

选哪个 Kev 型号

型号Hugging Face基座模型
Kev-0.8Bjaredpalmer/kev-0.8bQwen3.5-0.8B-Base
Kev-4Bjaredpalmer/kev-4bQwen3.5-4B-Base
Kev-9Bjaredpalmer/kev-9bQwen3.5-9B-Base
Kev-27Bjaredpalmer/kev-27bQwen3.8-27B

项目给出了两端的硬件要求:Kev-0.8B 在任何 Apple Silicon Mac 或 NVIDIA L4 上都能跑;Kev-27B 需要 80 GB 级别的显卡(H100、H200 或 B200),不支持 Mac。

基于 Qwen3 的旧版本(kev-0.6b、kev-8b 和 kev-4b@qwen3)仍然可以下载。

在本地运行 Kev

需要 Python 3.12 或 3.13,以及 uv:

git clone https://github.com/jaredpalmer/kev.git && cd kev
uv sync --extra serve
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b --port 8009

然后发送一个 Jev 格式的请求:

curl -s localhost:8009/v1/systemone -H 'content-type: application/json' -d '{
  "state": "Shoes arrived two weeks late and in the wrong size.",
  "model": "kev-latest",
  "questions": {
    "escalate": {"type": "noul", "instructions": "Urgent?"},
    "frustration": {"type": "score", "instructions": "How frustrated?",
                    "criteria": ["Calm", "Frustrated", "Very angry"]}
  }}'

已有的 TypeSafe SDK 代码只需要改接口地址:

from typesafe_sdk import TypeSafeClient

client = TypeSafeClient(
    api_key="local",
    base_url="http://127.0.0.1:8009",
    model="kev-latest",
)

如果想要托管的接口,仓库里有一个 Modal 部署脚本,空闲时自动缩到零,代价是冷启动约 35 秒。

Kev 与 Jev 的 benchmark 对比

在训练中没见过的题目来源上的准确率(开发集 / 测试集):

模型准确率Brier 分数(越低越好)
Kev-0.8B0.648 / 0.6970.481 / 0.416
Kev-4B0.817 / 0.8380.269 / 0.242
Kev-9B0.822 / 0.8520.286 / 0.237
Kev-27B0.848 / 0.8960.236 / 0.164
Jev(托管版)0.857 / –0.211 / –

依赖知识的题目差距更大:Kev-9B 在 MMLU 上是 0.74,Jev 是 0.90。

每个型号都附带一个在预留数据上拟合的温度参数。以 Kev-9B 为例,它把校准误差从 0.106 降到 0.042,把高置信度下的错误从 8.7% 降到 4.0%。

用自己的数据微调 Kev

Kev 本来就是为微调设计的。训练数据是 JSONL,每个问题带一个 label。建议用 --init_from 从已发布的型号开始训练。项目实测,直接从基座模型训练,在它的评测集上只有 0.33,已发布模型是 0.84。

uv run python -m kev.train --data train.jsonl --base Qwen/Qwen3.5-4B-Base \
    --init_from jaredpalmer/kev-4b --epochs 2 --lr 2e-5 --batch 1 \
    --accum 8 --dtype bf16 --device cuda --out runs/mine

另外还有一个 kev-finetune Agent 技能,能找出你代码里已有的 Jev 问题和标注,然后在 Modal 上完成训练。项目估算成本约为 1 美元的 H100 时长。

Kev 与 Laya 对比

KevLaya
架构微调的解码器大模型(Qwen)编码器(ModernBERT、mmBERT)+ 决策头
大小0.8B 到 27B3.22 亿 / 4.21 亿
兼容 Jev 接口兼容兼容(通过 laya-serve)
CPU 部署不是主要目标;Mac 上需要几百毫秒支持,见 Laya 在 CPU 上多快
语言未说明英文,另有支持 100+ 语言的 checkpoint
更适合有 GPU、追求最高准确率低延迟、低成本,包括只有 CPU 的服务器

什么情况下不适合用 Kev

  • 需要知识的问题。 Kev 根据你给的文本做判断,答案依赖世界知识时,它比 Jev 弱。
  • 长文档。 训练时状态最长 384 个 token。服务端能接收 8,192 个 token,但输入越长准确率越低。
  • 对选项顺序敏感的场景。 调换选项顺序可能改变答案。
  • 在 Mac 上要求低延迟。 Apple Silicon 上每次回答需要几百毫秒,而不是几十毫秒。

常见问题

Kev 能直接替换 Jev 吗?

请求格式上可以:它提供 POST /v1/systemone,TypeSafe SDK 不用改代码。准确率上,按项目自己的测试,Kev-27B 接近 Jev,小型号则是用准确率换速度。

应该先用哪个 Kev 型号?

项目示例默认用 Kev-4B。在 Mac 或小显卡上用 Kev-0.8B;更看重准确率而不是成本时,用 Kev-9B 或 Kev-27B。

Kev 可以商用吗?

代码和权重都采用 Apache 2.0 许可证。部署前也请确认所用 Qwen 基座模型的许可证。

相关阅读

最后对照 Kev 仓库核验:2026 年 9 月 25 日。