Mapika/decider
A family of System One-style models fine-tuned from Qwen3.5, designed for one-pass typed decisions with calibrated probabilities.
decider – 单次传递的类型化决策,带有校准概率
它是什么 – decider 是一系列语言模型检查点,不生成自由形式的文本。相反,它们接受一个状态(纯文本或 JSON)和一个类型化问题列表,并在单次前向传播中为每个问题输出概率分布。支持的问题类型有:
- 选择 – 从 2-255 个候选项中选择一个。
- 评分 – 为一个小的有序等级集(2-10)分配概率。
- 是否 – 给出答案为“是”的概率。
由于模型永远不需要解码超出固定标签 token 集的 token,推理速度快,且概率是校准的(在一个小的基于 RL 的微调阶段后,模型的置信度与观察到的准确率匹配)。
主要能力
| 功能 | 重要性 |
|---|---|
| 单次传递推理 | 所有问题一起回答;无需迭代提示或思维链。 |
| 类型化输出 | 保证答案始终是预定义选项之一 – 无需后处理。 |
| 校准感知 RL (v10) | 改善置信度分数与真实正确性之间的匹配,特别是在决策任务上。 |
| 多种模型大小 | 0.8 B、2 B、4 B(密集)和 35 B 混合专家,加上 2 B 视觉语言变体。 |
| 硬件灵活性 | 可在 CUDA(bf16,可选 FP8)、Apple Silicon(通过 MPS/MLX)和 CPU(eager 模式)上运行。 |
| HTTP 服务器 | 简单的 POST /v1/systemone(TypeSafe 线格式)或 POST /decide 端点;对重复的 schema 进行 schema 缓存以加速重复调用。 |
| 开源训练流程 | 下载约 95 个公共决策数据集、建立混合数据集并微调 Qwen 基础模型的脚本。 |
典型使用案例
- 客户服务路由 – 输入工单和政策文本,询问“哪个部门应该处理这个?”并获得带有置信度的校准选择。
- 风险评分 – 询问“用户有多沮丧?”或“欺诈的可能性是多少?”并获得每个评分等级的概率。
- 游戏代理 – 存储库包含示范,模型在文本游戏、Atari Pong(从 RAM 衍生的文本)和 Super Mario Bros 中决定动作,每个动作只需单次前向传播。
- 视觉问答 –
decider-2b-vision检查点可以回答基于图像的查询,返回每个选项的概率。 - 批次分类流程 – HTTP 服务器的 schema 缓存使得对多条记录运行相同的问题集成本低廉。
快速开始(Python)
pip install decider-ai # 或:pip install -e .[serve,train]
from decider.infer import Decider
# 加载检查点(首次使用时从 Hugging Face 下载)
model = Decider("Mapika/decider-2b")
state = {
"ticket": {"messages": [{"from": "customer", "text": "I was charged twice for order A‑104."}]},
"refund_policy": "Duplicate charges are eligible for a refund."
}
questions = {
"department": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"returns": "Exchanges, refunds, wrong or damaged items",
"billing": {"what": "Charges, invoices", "not_for": "delivery"},
"other": None}},
"refund_requested": {"type": "noul", "instructions": "Does the ticket request a refund?"},
"frustration": {"type": "score", "instructions": "How frustrated is the customer?",
"criteria": ["calm", "frustrated", "very frustrated"]}
}
result = model.system_one(state, questions)
print(result)
输出包含每个类型化问题的概率分布,例如一个 choice 带有置信度和完整的选项概率向量。
通过 HTTP 提供服务
scripts/serve.sh Mapika/decider-2b 8000
POST /v1/systemone– 与 TypeSafe AI SDK 兼容。POST /decide– README 示例中使用的纯 JSON 格式。- 服务器自动选择最佳设备(CUDA → MPS → CPU),在 CUDA 上,为每个(批次,长度)形状捕获 CUDA 图,以实现零运行时编译开销。
训练自己的模型
存储库包含完整的数据构建和微调代码:
scripts/train.sh full构建公共混合数据集(约 1.5 M 示例,455 M tokens)并在 Qwen-3.5 基础上运行一个 epoch。scripts/train.sh delta <existing-ckpt>从检查点继续训练,适用于添加决策数据集。- 可选的 RL 阶段(v8 → v10)使用实时 MiniWoB++ 浏览器任务进一步校准概率;RL 循环位于单独的研究存储库中,但 README 链接到所需环境。
已知限制(如存储库所述)
- 无多步骤推理 – 模型无法执行链式算术或多跳推理;将此类问题拆分为单独的问题。
- 困难项目标定下降 – 特别是在知识密集型多选题(例如 GPQA、GSM8K)上。2 B 模型在最困难的基准项目上表现出明显的过度自信。
- 仅英文 – 所有训练数据和评估均为英文;其他语言的性能未记录。
- Schema 缓存以准确性换取速度 – 启用缓存可能会降低某些 schema 的答案质量。
- 视觉变体仍在开发中 –
decider-2b-vision使用较旧的文本权重,正在重新训练。 - 教师偏差 – 自定义问题数据由 27 B 教师模型标记,这引入了某种偏差(与其自身标签的约 72% 一致性)。
更多信息
- Hugging Face 上的模型卡:
Mapika/decider-2b、decider-4b、decider-35b-a3b等。 - 详细基准表:
docs/RESULTS.md。 - 变更日志和 RL 详细信息:
docs/CHANGELOG.md、docs/RL.md。 - 演示笔记本和示例程序:
examples/。
底线 – decider 提供了一个实用、开源的替代方案,取代传统的文本生成 LLM,当您需要在固定选项集上进行快速、校准的决策时。它特别适用于路由、评分和简单的游戏任务,并且可以在 GPU、Apple Silicon 甚至 CPU 上运行。
相关
- 项目
- 项目
- 项目
- 项目