ESC
开源 2 分钟阅读

Jeff:兼容 Jev 的 0.8B 决策模型,在家训练,约 30 毫秒出结果

独立开源项目 Jeff 发布兼容 Jev 请求格式的 0.8B 级决策模型:训练完全基于本地硬件,单张 RTX PRO 6000 约 2 小时训完 0.8B,全部合成数据由开源模型 Qwen3.8-Flash-Next 生成,不含闭源模型输出。权重已上架 Hugging Face,支持 choice/noul/score 三类问题,在 M4 Max 上单次决策仅 29–49 毫秒,并可通过玩游戏测

来源:Hacker News

完全基于本地硬件构建。 训练在一块 RTX PRO 6000 工作站 GPU 上完成(0.8B 模型约 2 小时训完,2B 约 3.5 小时),全部合成训练数据由开源模型(Qwen3.8-Flash-Next)在两台 DGX Sparks 上生成,测试则在 MacBook 上进行。不使用云 GPU,训练数据中不含任何闭源模型的输出;闭源模型仅用于抽检部分合成数据的质量。

独立项目。 Jeff 使用与 Jev 相同的请求格式,但它与 Jev 的开发商 TypeSafe 无任何隶属关系,也未获其背书。我们的训练代码以开源的 AutoJev 方案为起点。

Hugging Face 上的模型: Jeff-Qwen3.5-0.8B · Jeff-Qwen3.5-2B · Jeff-Gemma4-E2B

uv sync
uv run hf download mstrasser/Jeff-Qwen3.5-0.8B --local-dir checkpoints/jeff-0.8b

# NVIDIA GPU 或 CPU(PyTorch)
JEFF_CHECKPOINT=checkpoints/jeff-0.8b PORT=8765 uv run jeff-serve
# Apple 芯片(MLX,在 Mac 上快得多;仅支持 Qwen 模型)
uv sync --extra mac
JEFF_BACKEND=mlx JEFF_CHECKPOINT=checkpoints/jeff-0.8b PORT=8765 uv run jeff-serve
curl -s localhost:8765/v1/systemone -H 'content-type: application/json' -d '{
 "model": "jeff-latest",
 "state": "Refund request: the customer says the parcel arrived crushed and wants their money back.",
 "questions": {
 "route": {"type": "choice", "instructions": "Which team should handle this?",
 "criteria": {"1": "Refunds and payments", "2": "Damaged or lost parcels", "3": "Account and login problems"}},
 "angry": {"type": "noul", "instructions": "Is the customer angry?"}
 }
}'

每个答案包含每个选项的概率、所选选项及置信度。支持三种问题类型:choice(从最多 255 个选项中选一个)、noul(是/否,以概率形式返回)和 score(按你描述的量纲给出一个分值)。一次请求中的多个独立问题会被一并作答。

来自五个公开基准的 4,599 道题,外加 JevBench 公开的困难档(105 题,单独计分):

粗体: 每一行中 Jeff 与 Jev 对比的获胜方。粗斜体: AutoJev-27B 在该行所有模型中表现最佳时标注(在 RAGTruth 上与 Jeff-Qwen3.5-2B 并列);由于正面对比的对象是 Jev,它仅作参考展示。总分来自分类与 grounding(接地)两类任务,在这些任务上它持平甚至超越大模型;而在偏重推理的基准(BBH、JudgeBench、JevBench)上则明显落后于大模型——以这个体量来看,也在意料之中。

为了测试 Jeff 在与基准题目完全不同的任务上的零样本能力,我们让它玩了三款游戏。游戏并非理想的零样本测试——游戏状态并不是典型的非结构化数据——但这是测试 System 1 模型常见且有趣的方式。每一回合,代码用文字描述局面与合法走法,由模型选择其一。选项只说明每步的后果(Frogger:“你会被车撞到并损失一条命”;Doom:“最近的怪物在你左侧一点”),但从不提示哪一步是对的。每组结果为 20 局,随机种子 1234;▶ 可打开该轮首局的视频。

Jeff-Qwen3.5-0.8B 零样本游玩画面(下表中的粗体行;点击片段可观看完整视频):

Jeff-0.8B 在 M4 Max 上每步决策仅需 29–49 毫秒;Jev 的两项耗时并非在同一硬件上测得。想自己上手试试:

uv sync –extra games uv run python -m jeff.games –game doom –player jeff –criteria situation –url http://127.0.0.1:8765 –video –out runs/games/doom.json uv run python -m jeff.games –game frogger –player jeff –criteria outcomes –url http://127.0.0.1:8765 –out runs/games/frogger.json uv run python -m jeff.games –game pacman –player rule –out runs/games/pacman-rule.json

速度与规模

在同样的 200 道基准题(每题约 200 个输入 token)上、逐题测量、从原始文本到概率输出的每次决策中位耗时: