ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

NanoJev架构深度剖析:Qwen3-0.6B骨干+集合注意力+决策头,如何一次前向完成批量决策

NanoJev架构深度剖析:Qwen3-0.6B骨干+集合注意力+决策头,如何一次前向完成批量决策 NanoJev架构深度剖析Qwen3-0.6B骨干集合注意力决策头如何一次前向完成批量决策【免费下载链接】NanoJevA nano replica of Jev: parallel decisions, dynamic candidates, and an end-to-end training pipeline.项目地址: https://gitcode.com/gh_mirrors/na/NanoJevNanoJev 是一个 0.6B 参数的并行决策模型输入游戏状态与候选动作一次 Qwen3-0.6B 骨干前向就直接输出完整概率分布零输出 token 解码。本文拆解它的核心三件套——Qwen3-0.6B 骨干、集合注意力头与标量决策头看看它如何一次前向完成批量决策并用同一检查点打赢迷宫、贪吃蛇和两款射击游戏。 NanoJev 是什么不生成文字、直接输出概率的决策模型传统大模型做决策的方式是生成逐 token 吐出文字答案再解析出动作。NanoJev 反其道而行——它不调用generate()不生成任何回答文本而是把每个候选动作编码成一条 token 路径一次性喂进骨干网络直接在读出位置打分。这意味着并行决策一批状态、一批问题、2–255 个候选路径共享同一次骨干前向直出概率每个候选拿到的是 0–1 的概率可以直接排序、选择或采样无需解析文本一个小骨干走天下同一个 Qwen3-0.6B 决策头检查点同时支撑迷宫Maze、贪吃蛇Snake、ViZDoom Basic 和 ViZDoom Predict Position 四个游戏任务。下面是 NanoJev 与两个对照模型在同一游戏时钟下的同屏回放三列面板共享原始帧与动作概率输出 架构总览一次前向、批量决策的三步流水线NanoJev 的前向可以概括成三步拼路径把「状态 State → 问题 Question → 候选 Candidate 读出后缀」拼成一条完整 token 路径一次前向整批候选路径padding 对齐后一次性过 Qwen3-0.6B 骨干取每条路径最后一个 token 的隐藏状态决策头打分共享的标量读出把隐藏状态压成一个分数zChoice 类问题再经过集合注意力头做候选间交互最后按问题类型做 softmax / sigmoid 归一化得到完整概率分布。整个模型没有词表投影、没有思维链、没有逐候选循环这就是批量决策的成本优势来源。⚡ 骨干网络Qwen3-0.6B 只取隐藏状态不做词表解码骨干选用Qwen3-0.6Bd_model1024、28 层、16 个 Q 头 / 8 个 KV 头的 GQA 结构。关键取舍是加载Qwen3Model而不是Qwen3ForCausalLM——后者会额外做整张词表的投影输出形状[B, N, V]而决策任务只需要 hidden state 上的一个标量分数。这样做有两层好处省计算不构造、不投影完整词表输出只保留输入 embedding 与 28 层 Transformer 主干省解码推理时不需要自回归循环一次前向拿到所有候选的分数延迟与候选数量呈近乎线性的关系而不是每个候选跑一遍生成。骨干的官方 RoPE、QK 归一化与 GQA 实现原样保留NanoJev 只是换了出口从词表分类器换成了下面这个轻量的决策头。 决策头详解一个标量读出如何给每个候选打分决策头的本体非常简洁见 scripts/train_toy_decisions.pynn.LayerNorm(1024)对读出位置的隐藏状态做归一化nn.Linear(1024, 1)压成单个标量分数z权重采用非零随机初始化避免第一步死梯度。每条候选路径的隐藏状态都流经同一个标量头于是每个候选得到一个可比的分数。之后按问题类型做概率后处理完整输入契约见 docs/TYPESAFE_CONTRACT.mdChoice选择题2–255 个候选p softmax(z)每个问题的分布独立归一化不跨题、不跨状态Boolean真假判断只有一条语义路径等价于p_true sigmoid(z)Score2–10 个有序等级p softmax(z)最终分数是概率加权的期望等级score Σ k·p_k。每个等级/候选的文本都是独立编码的不注入序号或相邻等级信息——这正是它能把判断当作原子操作复用的原因。 集合注意力头让候选们看见彼此单独打分有一个结构性弱点候选之间互不可见即 IIA 限制。比如选最接近均值的那个数这类问题加入新候选后原候选的相对排序应该翻转而孤立打分做不到。NanoJev 为此给 Choice 类问题加了一个集合注意力头见 scripts/train_toy_decisions.py投影把每个候选的隐藏状态与log K候选总数的对数拼接后投影到 128 维——加入候选数信息使打分对候选规模敏感候选间自注意力4 头MultiheadAttention在同一题的所有候选上双向交互带key_padding_mask屏蔽无效项残差修正delta Linear(128,1)(tanh(u mixed))直接加到标量分数上最终投影层零初始化训练初期退化为纯标量打分逐步学出集合交互。关键细节集合注意力只作用于 Choice 题Score 分支保持等级隔离不会为了灵活性破坏逐等级独立评估的接口语义。这套设计同时保证了对候选排列的置换等变性——候选换顺序输出跟着等变置换不会引入顺序偏差。 树形注意力共享前缀如何省下重复计算批量前向的朴素做法是扁平展开10 个候选路径重复粘贴 10 份状态前缀。NanoJev 的优化版把一批请求组织成前缀树——状态S是根节点各问题Q是子节点各候选C R是叶子实现与数值核验见 scripts/check_tree_attention.py 与 scripts/check_qwen_tree.py可见性规则tokeni只能读取严格祖先节点或同节点内更靠前位置的 token。不同问题、不同候选、不同状态之间零 token 边保证各题输出严格隔离祖先判定节点做 DFS 编号tin/tout祖先关系只需区间比较不需要N²的 token 级布尔表位置编码position 取从根到该 token 的路径深度而非张量列号——同一状态下的兄弟候选可以共享相同 position ID因为 attention mask 已经隔离了它们。成本上扁平展开的 token 数是Σ(sqc)树形只算Σs Σq Σc——候选越多、状态越长省下的重复前缀越多。更完整的实现规格、梯度等价条件与 FlexAttention 加速路线可阅读架构审计文档 research/algorithm_architecture_audit_zh.md。 18,760 题混合训练一个检查点四款游戏这套架构的训练数据是每个目标变体 18,760 道决策问题其中 16,333 题来自 ViZDoom任务五个 split 合计训练 splitViZDoom Predict Position11,1736,788ViZDoom Basic5,1603,054Maze1,469653Snake958403合计18,76010,898训练采用完整问题交叉熵四个任务按 1/3、1/3、1/6、1/6 的权重混合采样配置与训练脚本见 scripts/train_unified_games.py。最终的unified-games-v1检查点第 400 步骨干学习率 1e-5、决策头 1e-4在 274 例完整测试集上的成绩模型MazeSnakeBasicPredict PositionNanoJev4/108/8128/12827/128对照模型 Jev7/108/856/12811/128未微调 Qwen3-0.6B2/100/856/12811/128值得注意的对比50×50 迷宫探索中NanoJev 用 225 次尝试找到出口而对照模型需要 2,738 次未微调骨干则要 4,726 次。所有评测轨迹都通过了独立模拟器回放校验详见 docs/UNIFIED_GAMES.md。 关键源码与文档清单想深入阅读按以下路径入手模型定义与决策头/集合注意力头scripts/train_toy_decisions.py树形注意力纯 Python 数值核验scripts/check_tree_attention.pyQwen3 骨干上的树 vs 扁平等价性测试scripts/check_qwen_tree.py本地推理服务模型加载一次批量提交 state/questionscripts/serve_decisions.py输入契约与三种问题类型语义docs/TYPESAFE_CONTRACT.md完整实现规格与成本模型research/algorithm_architecture_audit_zh.md训练配置样例configs/unified_td_v1.json、configs/sonic_unified_sft_v1.json一句话总结NanoJev 证明了决策不必等于生成Qwen3-0.6B 骨干负责编码标量决策头负责打分集合注意力头负责候选间交互三者组合让一次前向就能返回 2–255 个候选的完整概率分布——小模型、快推理、零解码这正是 System-1 式概率决策模型的最小可行形态。【免费下载链接】NanoJevA nano replica of Jev: parallel decisions, dynamic candidates, and an end-to-end training pipeline.项目地址: https://gitcode.com/gh_mirrors/na/NanoJev创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表