GitHub 火线榜

GitHub 火线榜 · 仓库档案

TianyuCodings/NanoJev

A nano replica of Jev: parallel decisions, dynamic candidates, and an end-to-end training pipeline. (简介来自仓库自身文档。)

数据截至 10月26日TianyuCodings

最好成绩

#187

潜力榜 · 90 天斜率

2562

累计 Star

264

Fork 总数

4

近 30 天在榜天数

上榜 4 天 · 近 30 天 +3 星 · 日均 +1连续在榜 4 天

项目状态许可证: MIT最近 push: 10月16日Open Issues(含 PR): 9

自 2026-10-25 起采集;未知 = 尚未采集到

把上榜徽章放进你的 README · TianyuCodings/NanoJev[![把上榜徽章放进你的 README](https://git.vaiox.xyz/api/badge/TianyuCodings/NanoJev.svg)](https://git.vaiox.xyz/zh/repo/TianyuCodings/NanoJev)
<a href="https://git.vaiox.xyz/zh/repo/TianyuCodings/NanoJev"><img src="https://git.vaiox.xyz/api/badge/TianyuCodings/NanoJev.svg" alt="把上榜徽章放进你的 README" height="20"></a>

项目文档

NanoJev — A nano replica of Jev

简体中文 | English

一个 0.6B 并行决策模型:输入状态与问题,直接得到完整概率分布,无需生成答案 token。

新论文:System1-Arena: Which Decisions Can Be Left to System 1? — 目前最全面的 Jev 类模型基准:近 10 万道题目,涵盖分类任务与智能体(agentic)任务。排行榜 · 代码 · 数据集

新项目:JevHarness — 让 LLM 围绕 Jev 编写面向具体任务的决策程序,并可利用奖励与执行轨迹进一步优化。附有可交互的 Pokémon 演示。

体验 ViZDoom · Maze 与 Snake · 模型 · 数据集

现在支持 ViZDoom: 同一个 checkpoint 完成 Basic 的瞄准射击、Predict Position 的移动目标火箭射击,同时支持 Maze 和 Snake。

4 项任务 · 每种数据版本 18,760 条决策问题 · 896 局 Predict Position 专家轨迹

更新内容

2026 年 9 月 20 日:一个模型,四款游戏。

  • ViZDoom Basic: 测试成功 128/128,对比 Jev 的 56/128。
  • ViZDoom Predict Position: 测试成功数从本轮训练前的 11/128 提升至 27/128;同条件 Jev 为 11/128。策略学习何时转向、等待并向移动目标发射火箭。
  • 16,333 条 ViZDoom 问题: 每种目标版本共 18,760 条混合任务问题,覆盖 train、dev、calibration、test 和 OOD 五个分区。
  • 一个模型,四款游戏: 同一个 step-400 checkpoint 用 225 次行动完成 50×50 迷宫,并在完整存活 256 步的 Snake 对局中吃到 30 个食物。

三个模型,并排回放

Jev、NanoJev 和未微调 Qwen 的真实网页回放。下方动图自动循环,点击即可进入交互播放器。四款演示使用同一个当前 NanoJev checkpoint。交互开发站目前需要访问权限;也可按下方命令在本地播放所有录制案例。

ViZDoom Basic · 瞄准,再开火

NanoJev 调整位置后一枪消灭目标,Jev 和未微调 Qwen 未能消灭目标,三组按同一游戏时钟并排播放

移动到位,对准目标,再开火。NanoJev 在 1.40 秒内一枪消灭目标;Jev 和未微调 Qwen 各开 19 枪,直到时限结束仍未消灭目标。三栏按同一游戏时钟同步播放,展示原始画面与动作概率。

找到出口 · 50×50 Maze

Jev、当前 NanoJev 与未微调 Qwen 在网页三栏播放器中探索同一张 50×50 迷宫

NanoJev 用 225 次行动到达出口,Jev 用 2,738 次,未微调 Qwen 用 4,726 次。三组都通过局部安全概率驱动相同探索代码,并记住已经走通的路径。

打开 Snake · 打开 Predict Position

核心能力

  • 并行决策: 将独立状态、问题和候选路径放入同一次 backbone 前向计算。
  • 动态候选: Choice 通过共享评分头,返回所提供的 2–255 个候选的完整分布。
  • 布尔与等级问题: 输出一个命题成立的概率,或 2–10 个有序等级的分布及期望。
  • 直接输出概率: 可用于排序、贪心选择或采样,无需生成答案 token。
  • 轻量统一底座: Qwen3-0.6B 加决策头,支持四款游戏及持久推理服务。

每个请求包含状态、问题和候选集合。模型编码候选路径,再由共享决策头输出概率。Choice 使用集合注意力与 softmax,Boolean 使用 sigmoid,Score 返回等级的概率加权期望。

完整测试结果

以下为 274 个测试案例的成功数。各系统使用相同观察接口、候选动作和固定随机种子的 epsilon-greedy 控制器:

模型 Maze Snake Basic Predict Position
NanoJev 4/10 8/8 128/128 27/128
Jev 7/10 8/8 56/128 11/128
未微调 Qwen3-0.6B 2/10 0/8 56/128 11/128

测试与 OOD 合计为每个模型 548 个案例,全部评测轨迹均通过独立模拟器重放。上方大规模导航演示使用页面标明的局部问题与代码规划设置。

完整测试及 OOD 结果 · 训练流程

数据规模与模型

每种目标版本包含 18,760 条决策问题,其中 16,333 条来自 ViZDoom。 hard-target 与 soft-target 两种版本覆盖相同问题,均划分为 train、dev、calibration、test 和 OOD 五个分区。

任务 五个分区合计 训练分区
ViZDoom Predict Position 11,173 6,788
ViZDoom Basic 5,160 3,054
Maze 1,469 653
Snake 958 403
每种版本合计 18,760 10,898

专家游戏轨迹: 数据包包含 896 局 Predict Position、17,498 个决策步骤,其中 512 局分配给训练。还包括原始混合任务输入、hard/soft 目标、评测轨迹和重放检查记录。

训练分区保存的 10,898 条问题中,10,893 条通过目标有效性检查。原有 Maze、Snake 和 Basic 分区保持一致。

发布版本与训练实验

unified-games-v1 打包的是 hard_lr1e5 训练实验的第 400 步 checkpoint。 两个名称对应同一份选定模型,四款演示均使用该模型。

名称 含义 使用场景
unified-games-v1 Hugging Face 发布标签,固定对应的模型与数据快照。 下载时填写 revision="unified-games-v1"。
hard_lr1e5 训练实验名:Predict Position 使用 one-hot 硬动作目标,backbone 学习率为 1e-5,决策头学习率为 1e-4。 查看训练配置、日志与实验对比。

共享模型使用完整问题交叉熵训练。每次更新按 1/3、1/3、1/6、1/6 的权重混合 Maze、Snake、Basic 和 Predict Position。

Hugging Face 发布完成: 模型与完整数据均已上传并通过校验,版本为 unified-games-v1。两个发布标签均固定到对应快照,所有上传文件均通过远端内容校验。

模型与数据集均为公开版本,无需登录即可下载。

快速开始

git clone https://github.com/TianyuCodings/NanoJev.git
cd NanoJev
python -m pip install -r requirements-toy.txt huggingface_hub

下载当前 checkpoint 与数据:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="C-Tianyu/NanoJev",
    revision="unified-games-v1",
    local_dir="checkpoints/NanoJev-unified",
    allow_patterns=["best.safetensors", "config.json", "tokenizer/*", "backbone_config/*"],
)
snapshot_download(
    repo_id="C-Tianyu/NanoJev-Data",
    repo_type="dataset",
    revision="unified-games-v1",
    local_dir="data/NanoJev-unified",
)

在 CUDA 环境启动推理服务:

python scripts/serve_decisions.py \
  --checkpoint-dir checkpoints/NanoJev-unified \
  --web-root web --port 8765 --disable-native-triton

模型只加载一次。向 POST http://127.0.0.1:8765/api/evaluate 发送状态与问题批次即可调用。

本地体验真实游戏回放:

python3 -m http.server 8080 --bind 127.0.0.1 --directory web

打开 http://127.0.0.1:8080/dev/?autoplay=1 体验 ViZDoom Basic,或打开 http://127.0.0.1:8080/dev/side-by-side.html?autoplay=1#maze 体验迷宫。

开发文档

发布内容与复现方法 · 输入契约 · 统一环境 · 原子判断与规划 · Predict Position 回放 · 射击回放

路线图

  • 一个统一 checkpoint 支持 Maze、Snake 和两款射击任务。
  • 50×50 迷宫、长局 Snake 与三模型同步网页回放。
  • 混合任务 SFT、可复现的数据划分与独立重放评测。
  • 面向更多长程任务的 RLCD 后训练。
  • 共享前缀推理与更大的候选批次。
  • 更多射击场景与结构化输入支持。

当前上榜

  • 187

    潜力榜 · 90 天斜率

    2562 星 · 264 fork · 星 / 天

    潜力 →

近 30 天势头

累计 Star 走势

名次走势

每日新增 Star

同榜竞速 · 名次近邻 · 潜力

← 回到榜单