解释一下这个项目是干什么的,它的架构是什么 https://huggingface.co/ilovemugi/mugi-decision

群友 4864 我看了它的模型说明、配置和核心实现。简单说:这是把 Qwen 改造成“选择题评分器”的项目,不是聊天机器人,也不是完整的 Agent。 一、它是干什么的 你给它“问题描述+几个候选选项”,它给每个选项打分,选出最高分。 例如,你提供: 问题:代码修改完成后,下一步应该做什么? 选项:运行相关测试、直接发布、删除测试文件。 它输出各选项的分数、相对概率和最终选择,不会像聊天模型一样生成一段解释。 因此,它可以用来研究选择题、候选排序、动态分类。在 Agent 系统里,也可以尝试担任“候选动作的选择器”,但候选从哪里来、选中后怎么执行,仍需要外部系统负责。 它是作者基于 Qwen 的独立改造,不是 Qwen 官方模型。 二、核心架构:保留理解能力,替换输出方式 普通生成式模型的输出大致是: 输入文本 → 模型骨干 → 词表预测头 → 逐个生成 token 这个项目则是: 问题+全部候选+当前候选 → 模型骨干 → 共享评分头 → 当前候选的一个分数 这里有三个关键部分。 第一,Qwen 的文本骨干。 基于 Qwen3.5-0.8B 改造,文本部分约 7.52 亿参数,共 24 层,隐藏向量维度为 1024。 配置显示,它不是每层都用全注意力,而是重复六组: 3 层 DeltaNet 线性注意力 → 1 层全注意力 也就是 18 层 DeltaNet,加 6 层全注意力。 可以粗略理解为:DeltaNet 用持续更新的状态保留历史信息;全注意力则让当前位置直接关注前面的各个位置。模型把两种机制混合使用。 第二,专门设计的输入格式。 每道题先构造公共前缀: 问题描述+完整候选列表 然后为每个候选建立一个分支: 公共前缀+当前候选文本 这些内容通过六个专用标记划分边界,不使用普通聊天模板。 注意,每个分支都能看到完整候选列表,而不只是“问题+自己的选项”。所以同一个选项放进不同候选集合,得到的分数可能不同。 第三,一个共享评分头。 每个分支处理完后,取最后一个有效 token 的 1024 维隐藏向量,通过同一个线性层,压成一个标量分数。 最后,把同一道题的所有候选分数做 softmax,得到候选之间的相对概率。 整体可以画成: 公共前缀:问题+候选 A、B、C ↓ 同一个 Qwen 文本骨干 ↓ 分别接着处理“当前候选 A/B/C” ↓ 各自取末尾隐藏向量 ↓ 同一个评分头分别打分 ↓ 比较三个分数,选出最高项 这些分支不是三个独立模型,也不是三个 Agent。 三、为什么它支持不固定数量的候选 普通三分类模型,最后通常固定输出三个类别分数。 它不是这样:评分头每次只负责回答“这个候选得几分”。 有三个候选,就评三个;有十个,就评十个。候选数量变了,不需要修改输出层。 但这不意味着候选再多也没有代价:候选越多,公共列表越长,需要处理的分支也越多。 四、推理优化:公共部分只计算一次 假设问题很长,有六个选项。直接分别跑六遍完整输入,会重复处理相同的问题和候选列表。 它的优化是: 先计算一次公共前缀。 保存处理完前缀后的模型状态。 为各个候选复制状态,再分批并行处理各自的后缀。 因为骨干同时有全注意力和 DeltaNet,缓存不能只保存常见的 K/V,还必须包含 DeltaNet 的循环状态和卷积历史。 这是实现里很重要的细节:少复制一种状态,分支结果就可能出错。 另外,它节省的是公共前缀的重复计算,不是让所有分支完全共享同一份缓存显存;实现中仍会复制缓存。 修改问题或候选列表后,公共前缀变了,就必须重新计算。 五、图片是怎么接进来的 它还接回了原版 Qwen 的视觉编码器和视觉特征合并模块,视觉部分约 1.01 亿参数。 图文流程是: 图片 → 视觉编码器 → 特征合并模块 → 放进问题描述的前部 ↓ 与问题文字、完整候选列表组成公共前缀 ↓ 继续走同样的候选分支评分流程 所以,图片改变的是输入,最后仍然输出候选分数,不生成图片描述。 目前支持“一张描述图片+文字选项”,不支持图片作为候选,也没有实现视频输入。 一个重要限制是:作者只是接回原版视觉模块,没有新增图文训练。因此,“支持输入图片”不等于“图文决策效果已经充分验证”。 六、它是怎么训练出来的 发布版本使用了 40 万道去重文本题,通过 LoRA 微调骨干中的相关模块,同时训练专用标记的 embedding 和评分头。 训练目标不是预测下一个字,而是让正确候选在这一组候选里得分更高,使用候选分数上的交叉熵损失。 训练时使用完整分支序列,保留梯度,不使用推理阶段那种分离梯度的前缀缓存。发布权重已经合并 LoRA。 最后要注意两个边界: softmax 显示“80%”,只代表它在当前候选里的相对偏好,不代表答案有 80% 的可靠正确率。 它只能在你给出的选项里做比较,不会自行创造更好的选项,也不能仅凭“决策模型”这个名字就认为它具备长期规划能力。 这个项目最核心的设计,就是“生成式骨干+可变候选分支+共享标量评分头”,再用混合状态缓存减少重复计算。 项目原文: https://huggingface.co/ilovemugi/mugi-decision