Kev 模型(Jared Palmer):型号、部署与 Jev 对比
Jared Palmer 开源的 Kev 决策模型(0.8B–27B),兼容 Jev 接口:运行、微调、与 Jev 的 benchmark 对比及适用边界。
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.8B | jaredpalmer/kev-0.8b | Qwen3.5-0.8B-Base |
| Kev-4B | jaredpalmer/kev-4b | Qwen3.5-4B-Base |
| Kev-9B | jaredpalmer/kev-9b | Qwen3.5-9B-Base |
| Kev-27B | jaredpalmer/kev-27b | Qwen3.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.8B | 0.648 / 0.697 | 0.481 / 0.416 |
| Kev-4B | 0.817 / 0.838 | 0.269 / 0.242 |
| Kev-9B | 0.822 / 0.852 | 0.286 / 0.237 |
| Kev-27B | 0.848 / 0.896 | 0.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 对比
| Kev | Laya | |
|---|---|---|
| 架构 | 微调的解码器大模型(Qwen) | 编码器(ModernBERT、mmBERT)+ 决策头 |
| 大小 | 0.8B 到 27B | 3.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 日。