Kev-0.8B 模型卡深度解析基于 Qwen3.5 的最小可自训决策模型【免费下载链接】kevtiny Jev-like family of decision models built on top of Qwen3.5 you can train and run on your own项目地址: https://gitcode.com/gh_mirrors/kev2/kevKev-0.8B 是 Kev 决策模型家族中体积最小的一员输入一个文档state与一组类型化问题一次前向传播即输出每个问题上的概率分布全程无文本生成。本文基于 docs/model-cards/kev-0.8b.md 模型卡结合仓库源码与评测套件完整拆解它的架构、数据配方、训练流程、评估协议与部署方式并如实给出其能力边界——适合内存受限、需要本地私有化决策推理的场景。模型定位一次前向传播的“决策模型”Kev-0.8B 不是对话或生成式 LLM而是一个decision model决策模型一段state文本加上一组类型化问题模型只做“预填充”prefill输出每个选项的概率分布不生成任何 token。它的构成是LoRA adapterrankr16约 11.3M 可训练参数Pointer head一个从零训练、将decide隐藏状态与每个选项的/opt隐藏状态做点积打分的读出头见 kev/model.py 的PointerHead实现基础模型Qwen/Qwen3.5-0.8B-Baserevisiondc7cdfe2权重冻结。对外它直接服务于 TypeSafe 的公开/v1/systemone契约——也就是说任何 TypeSafe 兼容客户端无需改动即可接入。README 的 API 一节README.md与 kev/api.py 共同定义了三种问题类型的映射noul二选一回答“是”的概率、choice1–255 个选项输出最可能项、概率与置信度、score2–255 个有序等级输出期望等级与逐级概率。与它替换的前代 Kev-0.6BQwen3相比0.8B 使用同样的数据与配方、换用 Qwen3.5 基座分布内准确率从 0.801 提到 0.825域外从 0.620 提到 0.652更重要的是它成为第一个学会部分规则组合的小尺寸 Kevheld-out 策略对正确率 0.42 vs 0.08。从零训练配方冻结套件decision-v7的三段式数据Kev-0.8B 的完整从零训练在冻结评测套件evals/v7/decision-v7上进行。该套件的 manifestevals/v7/decision-v7/manifest.json记录了版本、各数据集 revision、训练/开发/测试分区及所有依赖代码的 SHA-256 哈希。训练数据由三部分构成10,000 条公共数据集记录每源 1,000 条来自 manifest 中列出的十个源legacy-datasets/banking77、google/boolq、fancyzhx/ag_news、nyu-mll/multi_nli、SetFit/sst5、Yelp/yelp_review_full、CogComp/trec、fancyzhx/dbpedia_14、SetFit/amazon_reviews_multi_en、stanfordnlp/imdb896 条策略最小对minimal-pair记录覆盖 9 个策略模板族如退货窗口、消费门槛、年龄资格、数量限制、SLA 响应等见 manifest 的legacy_families_trainable1,680 条来自 60 个随机生成规则结构的记录以 4 种渲染风格呈现manifest 的protocol字段train_shapes含 8 种逻辑形态另有 8 个被排除的特定结构确保开发/测试集出现新结构。超参模型卡 README.md 训练命令交叉印证参数值Epochs / Batch2 / 8LoRA rank / alpha16 / 32LoRA 作用域attention、MLP 与 DeltaNet 投影损失选项分布上的交叉熵pointer head 从零训练学习率1e-4OneCycle 调度精度bf16 autocast 前向 fp32 master weights数据增强选项置换、插入“以上皆非”none选项、干扰项、对 25% 的 Choice 记录额外生成 none 最小对训练时长单张 H100 约 20 分钟可复现命令来自 README.mduv run python -m kev.train --suite evals/v7/decision-v7 --base Qwen/Qwen3.5-0.8B-Base \ --base_revision dc7cdfe2ee4154fa7e30f5b51ca41bfa40174e68 \ --epochs 2 --lr 1e-4 --batch 8 --dtype bf16 --p_none_pair 0.25 --device cuda --out runs/kev-0.8b从源码结构可以推断kev/train.py训练器会依据套件 manifest 校验基础模型 revision、训练集上下文上限MAX_STATE384、MAX_BRANCH1024、打包上限 2048 token见 kev/model.py并将--p_none_pair之类的增强参数直接作用到每 epoch 的样本上。Delta 微调9 分钟的第二次训练与 Kev-4B、Kev-9B 一致发布版 Kev-0.8B 在基座配方seed 2按开发集准确率选出之后追加了一次delta 微调uv run python -m kev.train --init_from jaredpalmer/kev-0.8bv7-base \ --data evals/night2/dates_unknowable.jsonl --replay 2000 --lr 4e-5 --epochs 1数据1,425 条生成记录evals/night2/manifest.json 中dates_unknowable.jsonl 900 条日期策略案例 525 条无证据案例混合 2,000 条回放replay的原始训练记录防止遗忘时长9 分钟--init_from从发布检查点v7-base热启动 LoRA 与 pointer head保持域内能力的同时适配新域kev/train.py 会逐字段校验 base、revision、LoRA rank、head 尺寸一致后才加载权重。从日期策略案例的实际格式可见该数据的形态evals/night2/dates_unknowable.jsonl{state: {policy: Returns are accepted only if the return request is submitted within 14 days of the purchase date., case: The return request was submitted on May 9, 2026. Kofi bought a wireless keyboard on May 7, 2026. ..., date_facts: May 7, 2026 is 2 days before May 9, 2026.}, questions: {decision: {type: noul, instructions: Is this return request within the policy window?, label: true, src: contrastive_return_window}}, _meta: {source: night2_dates, family: return_window, ...}}注意date_facts字段正是KEV_DATE_FACTS1时由 kev/api.py 的with_date_facts自动追加的“天数事实”它把“日期相减”问题转换为“读现成的天数”而模型确实不擅长自行做日期减法。效果数据同冻结条目下的家族对比模型卡给出与 Kev-0.6B、Kev-4B、Kev-9B、Jev 在同一批冻结评测项上的完整对比decision-v7开发集 1,204 条、transfer-v4开发集 764 条指标Kev-0.6B (Qwen3)Kev-0.8BKev-4BKev-9BJev分布内准确率decision-v7 dev0.8010.8250.8720.8720.845域外准确率transfer-v4 dev0.6200.6520.7970.8220.857域外 Brier0.5360.4990.2990.2860.211域外自信错误p≥0.9 且错误10.8%9.9%6.9%8.7%3.7%≤5% 错误预算下的覆盖率–0.230.540.470.70域外策略结构两兄弟项均正确0.080.420.780.830.86选项顺序翻转率0.070.080.080.030.00含 none 选项时的准确率0.800.830.920.90–服务形态内置 T2.41Brier / ECE / 自信错误–0.430 / 0.054 / 0.3%逐源域外准确率Kev-0.8B / Jev最能说明它的强项与短板授权类策略题 0.97 / 1.00、SciQ 0.91 / 0.99、QNLI 0.85 / 0.93但知识类 MMLU 仅 0.42 / 0.90释义类 PAWS 0.55 / 0.793 级日期算术deadline只有 0.38 / 0.93——这是 sub-1B 模型的知识天花板并非训练配方所能弥补。配对统计同一批样本、按记录聚类的 bootstrapdelta 微调之前相对 Kev-0.6B 域外5.7 pp [95% CI 1.2, 10.0]delta 在开发集上再贡献 0.5 pp [−3.2, 3.8]在锁定测试上 2.2 pp。三个基座配方种子的域外成绩为 0.622 / 0.634 /0.643发布检查点为 seed 2。锁定测试每个检查点只读一次in-distribution0.834Brier 0.268ECE 0.100域外0.684Brier 0.460ECE 0.154自信错误 8.7%held-out 策略对 0.45delta 前为 0.827 / 0.668同批测试项上 Kev-0.6B 为 0.808 / 0.642。已知限制与使用边界模型卡明确列出五点选型时务必对照域外仍是 sub-1B 模型。知识MMLU 0.41与释义PAWS 0.59接近未训练基座同样的配方在 4B 上域外可达 0.79、9B 达 0.81。要准确率选 Kev-4B内存把 4B 排除在外时再选 0.8B并务必在自己数据上实测。Mac 上慢。Qwen3.5 的 Gated DeltaNet 层没有 MPS 实现PyTorch 走参考代码5 个问题的请求在 M5 上 bf16 约 0.33 sKev-0.6B 为 0.12 s。CUDA 上配合flash-linear-attention则很快H100 上五问约几十毫秒见 README.md。版本要求transformers 5.17、peft 0.21。日期算术的序数对冲deadline0.38概率向中间等级坍缩KEV_DATE_FACTS1把天数追加进 state对大模型帮助更明显对 0.8B 有限。域外置信度仅作参考原始 logits 的域外自信错误率 9.9%内置温度 T2.41在分布内开发集上按 NLL 最小化拟合、写入head.pt拟合脚本见 scripts/calibrate_checkpoint.py把它降到 0.3%ECE 从 0.179 降到 0.054且不改变任何答案温度只缩放 logits见 kev/model.py 的PointerHead.temperature。设KEV_TEMPERATURE1.0可拿回原始 logits。概率在域内可用域外请视为参考值。评估协议开发集选型锁定测试只读一次模型卡强调的协议在套件结构中有完整落地开发分区选模型decision-v7的开发集1,204 条与transfer-v4的开发集764 条且其 manifest evals/v4/transfer-v4/manifest.json 标注eval_only: truetrain.jsonl为 0 条用于选择与调参锁定测试分区每个候选只读一次防止开发集上的重复读入污染结论每个数字都伴随套件哈希、代码哈希与 git commit 记录在result.json中——manifest 中的code_hashes字段就是对kev/train.py、kev/model.py、kev/benchmark.py等全部相关文件的逐文件 SHA-256 锁定。仓库提供的域外评估入口README.mduv run python -m kev.benchmark --run jaredpalmer/kev-0.8b --suite evals/v4/transfer-v4 --out runs/my-eval基准会输出准确率、Brier、校准误差、5% 错误预算下可自动化决策占比、选项顺序影响与问题隔离等指标实现见 kev/evaluate.py。部署与调用启动本地服务模型卡 Use 一节uv run --extra serve python -m kev.serve --run jaredpalmer/kev-0.8b --port 8008任何 TypeSafe 兼容客户端均可直接接入from typesafe_sdk import TypeSafeClient client TypeSafeClient( api_keylocal, base_urlhttp://127.0.0.1:8008, modelkev-latest, )服务端kev/serve.py暴露/v1/systemone、/v1/systemone/permute、/v1/systemone/separate、/v1/models等端点请求中的对象/数组 state 会被渲染为带标签文本kev/api.py类似分隔符的字符串在分词前被转义非法请求返回 422usage.output_tokens统计的是序列化答案的 token 数没有生成。推理上下文上限为INFER_MAX_STATE INFER_MAX_BRANCH 8192远大于训练的 384/1024。服务默认绑定127.0.0.1且无鉴权仅建议本地使用。架构实现一行一个问题的隔离机制从 kev/model.py 可以看到两个架构细节支撑了模型卡的设计陈述分隔符复用 Qwen 已存在但少用的 5 个特殊 token|fim_prefix|等作为state/q/opt//opt/decide不新增 embedding 行LoRA 负责改写其语义Qwen3.5 是混合架构attention 层 Gated DeltaNet 层DeltaNet 是循环的、不理会 attention mask因此每个问题单独跑成一行state 跟随该问题位置编号接续 state。行与行相互独立隔离是构造性精确的服务端把 state 编码一次用前缀缓存prefix cache按行复用kev/serve.py。纯 attention 基座上打包形式与分行形式在 fp32 下概率差在 4e-6 以内tests/test_v3.py 验证。注意这不等于选项顺序无关——同一问题内选项仍可能互相影响。Licenseadapter 与 head 为 Apache-2.0Qwen3.5 基座同为 Apache-2.0各训练数据集沿用其自身许可。更多家族成员0.5B/0.6B/4B/9B与 Qwen3 前代对比可参阅 docs/model-cards/ 下对应模型卡与 README.md 的家族总览表。【免费下载链接】kevtiny Jev-like family of decision models built on top of Qwen3.5 you can train and run on your own项目地址: https://gitcode.com/gh_mirrors/kev2/kev创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
