模型介绍
中文整理Chinese Decision 0.8B
中文概率决策模型:一次前向,直接输出候选项概率**
GitHub 代码 ·
测试平台 Decision Studio ·
GGUF 版本 ·
基础模型 Qwen3.5-0.8B ·
训练数据 CJ-Dataset ·
评测集 CJ-Bench
A lightweight Chinese decision model fine-tuned from Qwen3.5-0.8B. Given a context and a fixed set of candidates (2–26 in one question; the serving code splits larger choice sets into grouped rounds through /v1/tournament ), it returns a probability for each candidate in a single forward pass, without generating any tokens. It supports yes/no ( noul ), single-choice ( choice ) and ordinal ( score ) questions in general, medical, legal and finance domains.
模型系列与结果范围
本文保留 **0.8B** 已发布版本的使用方法和既有评测。本次文档更新没有重新运行 0.8B;新增 2B 及其 Q8 0 是独立权重与报告,不能混用其温度或测试数字。
- 8B BF16 · 0.8B Q8 0 · 2B BF16 · 2B Q8 0
各尺寸、部署格式与外部模型对比。2B BF16 与 2B Q8 0 均已公开发布并完成 CJ-Bench 全量评测:2B 整体准确率更高,0.8B 更小更快,部分法律判断与金融评分任务仍是 0.8B 更好。
相关资源
资源 说明 链接
- -- --- ---
代码 训练、评测、GGUF 导出与 HTTP 服务(GPU / CPU) GitHub
测试平台 Decision Studio:决策实验台、场景库、鲁棒性实验室、评测中心与性能压测 GitHub
模型(BF16,本仓库) 合并后的权重与校准温度,transformers 推理 Hugging Face · ModelScope
模型(GGUF Q8 0) llama.cpp 推理,CPU 即可部署,不需要 PyTorch Hugging Face · ModelScope
2B 系列 更大的 2B 版本(CE + RLCD),整体准确率更高;BF16 与 GGUF Q8 0 BF16:Hugging Face · ModelScope;GGUF:Hugging Face · ModelScope
简介
Chinese Decision** 是一个面向中文场景的轻量级**决策模型**。它不聊天、不生成文本,只做一件事:给定上下文和一组固定候选项,返回每个候选项的概率。
意图识别、工单分流、内容审核、数据打标、给模型输出打分、智能体选择下一步动作等任务,本质上都是在有限选项中做判断。用生成式大模型处理这类任务又慢又贵,输出还需要再解析。决策模型直接返回概率分布,程序拿到后按阈值使用即可。
- *一次前向,零输出 token**:读取最后位置上候选字母 A – Z 的 logits,softmax 后即为概率。
- *三种题型**: noul (是/否)、 choice (单选)、 score (有序等级,返回期望分值)。
- *单一模型覆盖四个领域**:通用、医疗、法律、金融混合训练。
- *概率经过校准**:附带在独立校准划分上拟合的温度。
- *轻量**:0.8B 参数,BF16 权重约 1.5 GB。
模型信息
项目 内容
- -- ---
基础模型 Qwen3.5-0.8B(文本主干)
参数量 0.8B,BF16
微调方式 LoRA(r = 32)训练后合并为完整权重,加载时不需要 PEFT
训练数据 CJ-Dataset,13,048,000 条决策,1 个 epoch
发布检查点 step 10000(全程 10,132 步),按验证集分布 NLL 选出
校准温度 T = 1.108(见 decision config.json )
最大输入 16,384 tokens
候选项数 单题 2–26(训练数据覆盖 2–16);类别更多的 choice 问题用服务端 /v1/tournament 分组淘汰
提示版本 hmm-zh-v1
语言 中文
文件说明**
文件 说明
- -- ---
model.safetensors 合并后的模型权重(BF16)
config.json 、 generation config.json 模型配置
tokenizer.json 、 tokenizer config.json 、 chat template.jinja Qwen3.5 分词器与聊天模板
decision config.json 推理参数:校准温度、提示版本、最大长度、最大候选数
training config.json 、 training summary.json 训练配置、数据版本、训练进度、选中的检查点
validation report.json 验证集上温度校准前后的完整指标(含分来源明细)
LICENSE 基础模型 Qwen3.5-0.8B 的 Apache-2.0 许可证原文
assets/ 本说明中的应用案例截图
应用案例
以下截图来自我们的测试平台 Decision Studio,后端运行的就是本模型(step 10000)。这些场景采用同一种设计:**业务规则写在代码里,决策模型只负责给出概率**。
工单分诊台:一次请求,六个判断
每张工单在一次请求里同时问 6 个问题:类别( choice ),严重程度和情绪( score ),是否可复现、是否要求退款、是否有流失风险( noul )。不管后续用不用得上都一并提问,省去多次往返。路由规则写在代码里,根据这些概率决定工单派给哪个队列;类别置信度低于 0.5 时转人工复核。截图中 8 张工单 × 6 个问题共 48 次决策,用时 285 ms。
LLM 护栏:带人工复核区间的安全检查
进出大模型的每句话都先过一道检查。输入侧检查提示注入 / 越狱、隐私信息、辱骂威胁、超出业务范围;输出侧检查泄露系统提示词、越权承诺、回复含隐私、不当内容。每项都是一个是 / 否概率,配两个阈值:低于复核阈值自动放行,高于拦截阈值自动拦截,中间交给人工,复核区间的宽度就是人工审核的预算。截图中的"开发者模式"越狱请求在输入侧就被拦截(85.2%),大模型不会被调用;8 项检查共用时 89.2 ms。
弹幕护卫:直播弹幕实时审核
每条弹幕一次请求,包含一个分类和一个是 / 否判断:辱骂和广告直接拦截,剧透折叠,观众提问高亮推给主播。截图中审核延迟 p50 为 82.2 ms。页面也记录了已知短板:剧透判断容易被"剧透"这个字眼本身带偏(例如"请勿剧透"),也分不清"猜测"和"剧透"。
智能体路由器:按风险分级的置信度门控
智能体收到每句话后,先由决策模型选择工具、判断信息是否完整、评估操作风险,再按风险等级套用不同的置信度门槛:只读操作(天气、搜索、闲聊)40%,写操作(日程、消息、家居)65%,资金操作(转账、支付)85%。截图中"帮我约王总下周二下午聊一下预算"被识别为日程管理(置信度 99%),但缺少关键信息的概率为 71%,超过 70% 的追问门槛,于是先追问"具体是哪天、几点、和谁",用时 81.6 ms。
快速开始
- *GGUF / CPU 部署**:如果不想安装 PyTorch,或者没有 GPU,可以使用 Q8 0 量化的 GGUF 版本(812 MB),用 llama-cpp-python 在 CPU 上运行:Hugging Face · ModelScope。用法与评测见该仓库的说明;下文是 BF16 权重配合 transformers 的用法。
安装依赖
下载模型
Hugging Face:
ModelScope:
使用 transformers 调用
下面的代码不依赖项目仓库,提示格式与训练、评测完全一致:
输出:
decision config.json 中的温度只在 softmax 前缩放 logits,不改变每道题的最高概率选项。如需未校准的原始概率,把 temperature 设为 1 即可。
HTTP 服务
项目仓库提供兼容 hmm / System One 接口的 HTTP 服务,一个请求可以包含多个问题:
接口 说明
- -- ---
POST /v1/systemone 决策接口; ?debug=1 附带每个候选的 logits 和每题 token 数
POST /api/alpha/decisions 同上,兼容 hmm 路由
POST /v1/batch {"requests": [...], "debug": bool} ,一次提交多个请求,单个请求出错不影响其他
POST /v1/compile 只编译提示词并计数 token,不跑模型
POST /v1/tournament 类别更多的 choice 问题:分组淘汰后决赛,每组不超过 16 个候选,返回决赛候选的概率
GET /v1/info 检查点、验证集指标、运行统计
GET /v1/training 训练进度
GET /health 健康检查,返回当前温度、是否已校准及检查点 step
单个请求最多 64 个问题,单题 2–26 个候选项(类别更多时用 /v1/tournament ,示例 examples/tournament.json 有 41 个客服意图),单题输入不超过 16,384 tokens。超长输入不会被截断,而是返回 422 。
GPU 上的生产部署(动态批处理、检查点热更新)使用 scripts/serve gpu.py ,见 deploy/gpu。服务部署好后可以接入测试平台 Decision Studio(决策实验台、场景库、鲁棒性实验室、评测与压测):把服务地址填到平台的 DECISION BASE URL 即可。
输入格式
每道题由 type 、 instructions 和可选的 criteria 组成:
类型 criteria 格式 返回字段
- -- --- ---
noul 可选, {"false": "...", "true": "..."} ,默认“否 / 是” noul :判断为真的概率
choice 对象 {键: 描述} choice :概率最大的键
score 列表,按等级从低到高排列 score :等级下标的概率加权期望(0 到 K−1)
所有题型都会返回完整的 probabilities 和 confidence 。 confidence = (K·p max − 1) / (K − 1) 衡量分布的尖锐程度:均匀分布为 0,完全确定为 1。它**不等于**经验准确率。
每道题会被编译成如下提示,再套用 Qwen 聊天模板(关闭 thinking):
模型只读取最后位置上前 K 个字母的 logits,其余字母被屏蔽。 state 、 instructions 和候选描述既可以是字符串,也可以是 JSON 对象(会被序列化为紧凑 JSON)。
评测结果
验证集(本模型)
在 CJ-Dataset 官方 validation 的分层子集上评测:4 个领域 × 3 种题型,每组 100 条,共 1,200 条。这部分数据在训练中用于模型选择,**不是测试集成绩**。温度在另一个互不重叠的划分(1,993 条硬标签样本)上拟合。
领域 Qwen3.5-0.8B 零样本 ACC step 5000 ACC **本模型 ACC** 本模型 ECE(T = 1) 本模型 ECE(T = 1.108) 本模型 NLL(T = 1.108)
- -- ---: ---: ---: ---: ---: ---:
通用 36.64 74.32 **75.34** 3.69 5.18 0.625
医疗 16.67 82.00 **82.33** 3.51 3.76 0.400
法律 40.67 63.33 **64.33** 8.62 7.47 0.739
金融 44.33 69.67 **71.67** 3.72 3.67 0.638
- *整体** 34.56 72.32 **73.41** 2.53 **1.62** 0.601
题型 step 5000 ACC **本模型 ACC** 本模型 ECE(T = 1) 本模型 ECE(T = 1.108)
- -- ---: ---: ---: ---:
noul 83.25 **85.75** 2.76 3.44
choice 69.25 **72.00** 4.05 2.99
score 64.29 62.24 6.69 5.21
ACC 与 ECE 单位为 %,仅在硬标签样本上计算;NLL 覆盖全部样本(含软标签)。验证集 ECE 使用 10 个等宽分箱(下文 CJ-Bench 使用官方的 15 个)。完整指标(含 Brier 与分来源明细)见 validation report.json 。
与训练中途的 step 5000 相比,四个领域的准确率均有提升,整体准确率提高 1.09 个百分点,验证集分布 NLL 从 0.676 降到 0.602; score 题型准确率下降 2.05 个百分点。
温度校准使整体 ECE 从 2.53% 降到 1.62%。温度是全局单一标量,通用和医疗领域的 ECE 在校准后略有上升;每个领域只有 300 条样本,分领域 ECE 的波动较大。
CJ-Bench 测试集
在 CJ-Bench 全量测试集(307,900 条)上评测本仓库发布的合并权重(Transformers,BF16),概率使用 decision config.json 中的默认温度 T = 1.108。温度在 validation 的独立划分上拟合,没有用测试集标签做任何调整。
- *关于温度 T**:概率按 p = softmax(z / T) 计算,z 为候选字母的 logits。**T = 1** 表示直接对 logits 做 softmax、不做温度校准;T = 1.108 只调整概率的尖锐程度,**不改变选出的答案**,因此准确率不受影响。
基线数字均**直接引自** Chinese-Jev(Wang et al., 2026)论文的 Table 1 和 Table 2,本项目未复现。每列最优结果加粗。
通用领域**
模型 ACC (%) ↑ ECE (%) ↓ 延迟 (ms) ↓
- -- ---: ---: ---:
Qwen3.5-2B 32.95 43.68 280
Open-Jev 52.33 10.54 60
SemIF 44.21 27.27 57
Laya Multilingual 40.22 23.04 **14**
Jev † 68.35 11.45 284
Chinese-Jev General 69.20 3.78 **14**
- *chinese-decision-0.8b(本模型)** **72.26** **1.68** 44 ‡
专业领域**
模型 医疗 ACC ↑ 医疗 ECE ↓ 法律 ACC ↑ 法律 ECE ↓ 金融 ACC ↑ 金融 ECE ↓ 平均 ACC ↑ 平均 ECE ↓
- -- ---: ---: ---: ---: ---: ---: ---: ---:
Qwen3.5-2B 53.88 28.71 31.53 44.82 38.11 49.12 41.17 40.88
Open-Jev 73.08 2.88 44.07 23.15 48.11 10.19 55.09 12.07
SemIF 62.17 10.39 43.07 19.99 47.89 18.45 51.04 16.28
Laya 24.55 43.05 34.72 31.49 38.31 26.18 32.53 33.57
Jev † 84.29 5.70 **68.35** 8.03 **78.39** 2.98 **77.01** 5.57
Chinese-Jev-G 39.77 17.33 38.76 15.37 35.39 14.43 37.97 15.71
Chinese-Jev-S(3 个领域专用模型) 87.65 7.25 60.10 17.45 64.72 11.55 70.82 12.08
- *chinese-decision-0.8b(本模型,单一模型)** **88.85** **1.12** 67.84 **4.05** 74.00 **2.45** 76.90 **2.54**
† Jev 为托管 API,延迟包含网络往返时间。
‡ 本模型在单张 A800 上测得:同一组 25 条 CJ-Bench 输入、单条请求的中位延迟(BF16),不含 HTTP 和网络;论文中其余模型在 H200 上测得,两者不能直接比较。
“平均”为医疗、法律、金融三个领域的等权平均,与论文口径一致。
测试集与论文相同(通用 100,000、医疗 200,000、法律 4,300、金融 3,600 条)。ACC 与 ECE 仅在硬标签样本上计算,ECE 使用 15 个等宽分箱,候选项保持原始顺序,不在测试集上做任何校准。
- *通用领域**:准确率与 ECE 均为表中最优,准确率比 Jev 高 **3.91** 个百分点,比 Chinese-Jev General 高 **3.06** 个百分点。
- *专业领域**:医疗、法律、金融的准确率均超过 Chinese-Jev 的领域专用模型(分别高 **1.20、7.74、9.28** 个百分点),平均 76.90%,与闭源 Jev(77.01%)基本持平。医疗 **88.85%** 为表中最高;法律比 Jev 低 0.51 个百分点,金融低 4.39。
- *校准**:通用 ECE **1.68%**、专业领域平均 ECE **2.54%**,均为表中最低。
同系列更大的 chinese-decision-2b 通用 73.96%、专业平均 78.25%。
分领域与分题型**
领域 样本数 ACC ↑ ECE ↓ NLL ↓ Brier ↓ 对照:T = 1 时 ECE
- -- ---: ---: ---: ---: ---: ---:
通用 100,000 72.26 **1.68** 0.686 0.355 3.03
医疗 200,000 88.85 1.12 0.295 0.152 0.17
法律 4,300 67.84 **4.05** 0.721 0.410 5.70
金融 3,600 74.00 2.45 0.597 0.337 1.50
- *整体(micro)** **307,900** **83.11** **0.27** **0.431** **0.224** 1.07
- *四领域等权平均(macro)** — **75.74** — **0.575** — —
题型 样本数 ACC ↑ ECE ↓ NLL ↓ 期望等级 MAE ↓ 对照:T = 1 时 ECE
- -- ---: ---: ---: ---: ---: ---:
noul 134,577 94.96 **0.19** 0.117 — 0.39
choice 134,577 78.32 **0.58** 0.587 — 1.48
score 38,746 56.45 **1.67** 0.984 0.584 2.35
“T = 1 时 ECE”一列是合并前的 step 10000 checkpoint 直接 softmax 的结果,用于说明温度校准的作用;加粗为校准后改善的 ECE。医疗样本占测试集的 65%,整体 micro 指标主要反映医疗领域,跨领域比较建议看 macro 平均。
- *准确率**:温度不改变每道题的最高概率选项。整体准确率 83.105%,与合并前 checkpoint 的 83.109% 相差不到 0.01 个百分点,差异来自 LoRA 合并的数值误差。
- *整体校准**:相对 T = 1,整体 ECE 从 1.07% 降到 **0.27%**,三种题型的 ECE 全部下降;通用(3.03% → **1.68%**)和法律(5.70% → **4.05%**)改善明显。
- *医疗和金融的 ECE 反而升高**:医疗从 0.17% 升到 1.12%,金融从 1.50% 升到 2.45%。这两个领域在 T = 1 时已接近校准,升温后概率偏保守:医疗的平均最高概率 87.73%,低于准确率 88.85%;金融为 72.23%,低于 74.00%。温度是全局单一标量,无法兼顾每个领域。
推理效率
同一组 25 条 CJ-Bench 输入(92–6,521 tokens),单条请求、预热后各测 3 次:
部署方式 全部输入 p50 短输入 p50( A800 80GB PCIe 与 Xeon Gold 5318Y 共享服务器;只统计已分词输入的前向与概率计算,不含分词、HTTP 和网络。CJ-Bench 平均输入长度 223 tokens。长输入与 Windows 台式机的测量见 GGUF 模型卡。
训练细节
项目 设置
- -- ---
微调方式 LoRA,r = 32,α = 64,dropout = 0.05
LoRA 目标层 全注意力 q/k/v/o proj 、线性注意力 in proj qkv/z/a/b 、 out proj 、MLP gate/up/down proj
损失函数 候选分布交叉熵(软标签;硬标签为其 one-hot 特例),未使用 RLCD
优化器 AdamW,lr = 1e-4,前 100 步线性预热,之后余弦衰减至峰值的 10%
全局 batch 每步至少 1,024 条决策;每个 micro-batch 在 padding 后最多 262,144 tokens
最大长度 16,384 tokens,超长样本被过滤,从不截断
训练量 1 epoch,13,048,000 条决策,10,132 步
精度 BF16,gradient checkpointing
模型选择 每 1,000 步在验证集上评估,以分布 NLL 选出 best(step 10000,NLL 0.600)
温度校准 在 validation 的独立划分上,以硬标签交叉熵拟合单一温度
硬件 4 × GPU,DDP
训练数据构成**(CJ-Dataset,revision a3963a61 )
领域 noul choice score 合计
- -- ---: ---: ---: ---:
通用 3,333,333 3,333,334 3,333,333 10,000,000
医疗 1,792,223 1,194,496 13,281 3,000,000
法律 8,000 8,000 8,000 24,000
金融 8,000 8,000 8,000 24,000
- *合计** 5,141,556 4,543,830 3,362,614 13,048,000
- *软标签**:CJ 的 gold 是候选项上的概率分布,直接作为交叉熵目标。
- *候选项打乱**: choice 在训练时随机打乱候选顺序并同步重排目标,以减弱位置偏差; score 保留等级顺序; noul 固定为 false / true。
- *均衡混合**:按领域、来源、题型重新分片,再按剩余样本量比例交错读取,避免原始文件中的任务顺序导致遗忘。
- *校准不泄漏**:官方 validation 按母记录分组,80% 用于验证与模型选择,另外 20% 仅用于拟合温度。
训练、评测与导出脚本见 GitHub 仓库。
局限性
- *法律与金融较弱**:这两个领域的训练数据各只有 24,000 条(不到总量的 0.2%)。CJ-Bench 上金融准确率比闭源 Jev 低 4.39 个百分点,法律领域的 ECE(4.05%)在四个领域中最高; score 题型整体最弱(CJ-Bench 准确率 56.45%)。
- *单一温度无法兼顾所有领域**:在 CJ-Bench 上,默认温度 T = 1.108 把整体 ECE 从 1.07%(T = 1)降到 0.27%,但医疗(0.17% → 1.12%)和金融(1.50% → 2.45%)的 ECE 反而升高,概率略偏保守。
- * confidence 不是准确率**:它只反映分布的尖锐程度。若要按概率阈值自动执行,请先在自己的数据上验证校准效果。
- *标签含义来自上游任务**:例如医疗匹配类标签表示原任务中的匹配关系,并不代表医学正确性。请勿将模型输出作为医疗、法律或金融决策的唯一依据。
- *不用于文本生成**:模型只在末位候选字母上训练, generate() 的输出没有意义。
- *仅支持中文**,单题输入不超过 16,384 tokens;更长的输入不在训练分布内。
- *延迟高于编码器方案**:0.8B 解码器的单条延迟高于约 322M 的 Chinese-Jev 编码器模型。
本模型是 hmm 方法的中文适配,并不复现 Microsoft Decision、Jev 或 Chinese-Jev 的训练过程。
许可证
- *模型权重**:Apache-2.0,继承自基础模型 Qwen3.5-0.8B( LICENSE 为其原文)。
- *训练数据**:CJ-Dataset 与 CJ-Bench 的许可按数据来源分别适用,其中部分来源为非商业许可。本模型不授予任何数据层面的额外权利,商业使用前请自行评估。
- *代码**:推理、训练与评测代码以 MIT 许可证发布,见 GitHub 仓库。
致谢
Chinese-Jev:CJ-Dataset、CJ-Bench 与对比基线结果。
n4ze3m/hmm:选项字母决策目标、LoRA 流程、候选项格式与 System One 响应约定。
Qwen3.5-0.8B:基础模型。
引用
如果使用了 CJ-Dataset 或 CJ-Bench,请同时引用 Chinese-Jev:
优先采用原作者提供的中文模型卡片;仅有英文说明时由闲社AI翻译整理。重要参数、许可证和商用范围请以原文为准。
你将获得什么
完整仓库方式包含该固定版本中的权重、配置、分词器及说明文件;指定版本方式只下载所选文件或整组分片。多模态模型的投影文件、配置等依赖,请按作者说明配齐。
完整仓库可能包含多个权重格式,因此需要的磁盘空间可能大于单一格式的模型大小。下载文件不等于完成模型部署。
使用前须知
运行模型需要的设备、工具与依赖,以原作者说明为准。
是否允许商用、修改和分发,请查看模型许可证。
闲社提供资料与镜像下载方法,不代表已运行模型或完成安全审计。下载的代码应先检查,再执行。
资料或下载有问题?
登录后可提交反馈。
