ESC
开源 2 分钟阅读

NanoJev:Jev 的纳米级复刻——并行决策、动态候选与端到端训练流程

开发者开源 NanoJev,即 Jev 的纳米级复刻:基于 Qwen3-0.6B 的 0.6B 并行决策模型,单次前向传播即可处理多个状态与问题,输出完整概率分布,无需输出 token 解码。支持 2–255 个动态候选、布尔决策与有序评分,附迷宫与贪吃蛇并排演示、公开模型与数据集及完整端到端训练管线。

来源:GitHub

NanoJev — Jev 的纳米级复刻

English | 简体中文

一个 0.6B 并行决策模型。输入状态与问题,输出完整概率分布——零输出 token 解码。

模型 · 数据集

打开在线并排演示 →

三个模型,同一游戏

Jev、NanoJev 与未调优 Qwen 并排探索迷宫

下载迷宫视频 (MP4) · 27 秒 · 1440 × 1120 · 30 fps

玩贪吃蛇 · 探索 50×50 迷宫 · 录制来源与回放校验

独立的 ChatGPT Sites 演示在三个面板中呈现 Jev、NanoJev 与未调优 Qwen。播放时各面板按相同的环境步推进;已完成的运行会停在其真实最终状态。概率条显示产生当前画面状态的最后一次决策。共享代码规划仍是每个系统的一部分。

新的迷宫基线是原始 Qwen3-0.6B:4,726 次尝试、2,044 次碰撞、到达终点。下方的旧迷宫视频保留其原始的 Starting NanoJev 对比及录制结果。

录制的展示运行

观看模型判断与共享代码规划如何协同工作。每个游戏在三个系统中使用相同的控制器代码;录制保留了真实的动作、概率和最终结果。

找到出口:50×50 迷宫

NanoJev 在 50×50 迷宫中找到出口,并附录制对比结果

观看 MP4 · 交互式回放

模型对四个局部方向进行判断。代码记忆碰撞、探索未尝试的边,并通过已验证的开放路径重新定位。

系统尝试次数碰撞次数结果
NanoJev24436到达终点
Jev2,7381,044到达终点
Starting NanoJev17143到达终点

Starting NanoJev 是较早训练的 NanoJev 检查点。新的 NanoJev 模型使用了匹配的局部安全训练。

持续成长:12×12 贪吃蛇

NanoJev 完成完整贪吃蛇运行,并附录制对比结果

观看 MP4 · 交互式回放

通用规划器过滤即时碰撞并寻找通往可见食物的静态路径。模型在剩余动作之间进行决胜;仅剩单个动作时为代码强制移动。随机种子:61005。控制器:贪心。

系统收集食物步数结果
NanoJev27256在时限内存活
Jev30256在时限内存活
未调优 Qwen3-0.6B25211被困

未调优 Qwen 使用其原始预训练权重和原生语言模型头,以提供的 A–D 答案 token 为条件。

录制案例与回放验证 · 八案例控制器对比

特性

  • 0.6B LLM 骨干。 Qwen3-0.6B 配备用于结构化输出的决策头。
  • 一次前向处理多个状态与问题。 将独立决策批量处理。
  • 动态选择。 提供 2–255 个候选,获得每个候选的概率。
  • 布尔决策。 获得完整命题为真的概率。
  • 有序评分。 提供 2–10 个等级,获得等级分布和期望分数。
  • 完整分布。 同一输出可用于排序、贪心选择或概率采样。
  • 零输出解码。 直接从一次前向传播读取决策。
  • 持久化服务。 加载一次检查点,跨请求复用。

在运行中的服务中实测:6 个状态 · 18 个问题 · 44 条候选路径 · 1 次骨干前向。

更大的游戏与校准决策

  • 全尺寸环境: 8×8、16×16、32×32 和 50×50 迷宫,四种拓扑,每个地图多个位置,以及可配置的更大尺寸。
  • 局部判断 + 代码规划: 匹配的 5×5 观测、四个并行安全判断、移动记忆和模型引导的探索。
  • 贪吃蛇动态: 可复现的食物生成、身体增长、碰撞规则、尾部移动、动态动作候选和安全问题。
  • 概率学习: 观测事件数据集、CE/Brier 训练、成对适当奖励学习、精确梯度检查,以及已完成的 Qwen3-0.6B 运行。
  • 经验证的评估: 地图分离的数据、冻结的游戏队列、真实模型执行和独立的轨迹回放。

局部安全模型在测试问题上达到 77.84% 准确率,在 50×50 OOD 问题上达到 76.56%。概率学习试点的成对适当奖励分支达到 0.11844 测试 / 0.06202 OOD 分布误差,以与模拟器事件概率的平方差之和衡量。

原子规划 · 扩展游戏管线 · RLCD 实现与结果 · 输入契约 · 游戏结果

此前的 40 地图导航基准

控制器:T=1 概率采样。 完整基准包含 20 张测试地图和 20 张 OOD 地图。

系统4×4 测试6×6 OOD
NanoJev19/20 — 95%18/20 — 90%
Jev20/20 — 100%19/20 — 95%
未调优 Qwen3-0.6B7/20 — 35%3/20 — 15%

早期对比查看器 · 完整基准结果

工作原理

每个决策由一个状态、一个问题及其候选集定义。每条候选路径将相关输入送入骨干网络。共享的决策头返回针对该问题所提供候选的分布。

选择使用共享标量头和集合注意力。布尔使用单路径 sigmoid。评分评估其有序等级描述并返回其概率加权期望。

  1. 构建查询。 生成状态、问题、候选描述和目标分布。
  2. 组织数据。 将相关地图、规则及其变体保留在同一划分中。
  3. 训练。 初始化 Qwen3-0.6B,预热决策头,并以完整问题分布损失进行训练。
  4. 评估。 衡量概率质量,并通过录制的动作执行游戏控制器。
  5. 服务与可视化。 复用持久化模型端点,并在浏览器中回放完整轨迹。

完整管线命令

快速开始:并排回放

交互式回放使用 Python 内置 HTTP 服务器运行:

git clone https://github.com/TianyuCodings/NanoJev.git
cd NanoJev
python3 -m http.server 8080 --bind 127.0.0.1 --directory web

打开 http://127.0.0.1:8080/side-by-side.html 查看三面板贪吃蛇与迷宫对比。暗色街机模式保留在 http://127.0.0.1:8080/arcade.html,早期基准查看器位于 http://127.0.0.1:8080/comparison.html。

下载展示模型

用途C-Tianyu/NanoJev 中的检查点
50×50 迷宫演示variants/local_atomic_seed17
贪吃蛇演示variants/games_gold_seed17
全地图对比variants/games_api_seed17
校准决策实验variants/events_ce_seed17、variants/events_brier_seed17、variants/events_paired_seed17
from pathlib import Path
from huggingface_hub import snapshot_download

variant = "local_atomic_seed17"  # 贪吃蛇请选择 "games_gold_seed17"。
snapshot = snapshot_download(
    repo_id="C-Tianyu/NanoJev",
    allow_patterns=[f"variants/{variant}/*"],
)
checkpoint_dir = Path(snapshot) / "variants" / variant

游戏数据包 包含对应的训练划分、冻结的评估输入以及全部六段贪吃蛇控制器录制。下载、验证并复现游戏。

下载并运行模型

模型 和数据集 均已公开。准备一个配备录制所用 Python 依赖 的 CUDA 环境:

python -m pip install -r requirements-toy.txt

下载基础发布检查点和数据集。根检查点是初始化模型和早期导航基线:

from huggingface_hub import snapshot_download

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

启动持久化服务:

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

打开 http://127.0.0.1:8765。该服务只加载一次模型,并通过 POST /api/evaluate 接受重复批次。

管线手册 涵盖数据生成、训练、评估、检查点创建,以及从下载的模型和数据继续训练。

路线图

  • 扩大数据规模 — 增加更大的迷宫、贪吃蛇、原子问题和观测事件数据集。
  • 校准奖励原型 — 实现并测试成对适当奖励学习,辅以 CE/Brier 对照。
  • RLCD 扩展 — 增加更广泛的语义任务、随机长时程事件和更多模型种子。
  • 结构化输入支持 — 为结构化指令、标准和原生 Noul 界面版本化编码器。