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 の候補から 1 つを選択します。
  • スコア – 小さな順序付きレベルセット(2〜10)に確率を割り当てます。
  • ノウル – 答えが「はい」である確率を与えます。

モデルは固定ラベルトークンセットを超えてトークンをデコードする必要がないため、推論は高速で、確率は校正されています(小さな RL ベースの微調整段階の後、モデルの信頼度は観測された精度と一致します)。


主な機能

機能 重要性
単一パス推論 すべての質問が一緒に回答されます。反復的なプロンプトや思考連鎖は不要です。
型付き出力 答えが常に事前定義されたオプションの 1 つであることを保証します – 後処理は不要です。
校正認識 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 エンドポイント。繰り返しのスキーマに対するスキーマキャッシュにより、繰り返し呼び出しが高速化されます。
オープンソーストレーニングパイプライン 約 95 の公開決定データセットをダウンロードし、混合データセットを構築し、Qwen ベースのバックボーンを微調整するスクリプト。

典型的なユースケース

  • カスタマーサービスルーティング – チケットとポリシーテキストを入力し、「どの部門がこれを処理すべきか?」と尋ね、信頼度付きの校正された選択を得ます。
  • リスクスコアリング – 「ユーザーはどの程度フラストレーションを感じていますか?」または「不正の可能性はどのくらいですか?」と尋ね、スコアレベルごとの確率を受け取ります。
  • ゲームプレイエージェント – リポジトリには、モデルがテキストベースのゲーム、Atari Pong(RAM 由来のテキストから)、Super Mario Bros で動きを決定するデモが含まれており、各動きは単一のフォワードパスで行われます。
  • 視覚質問応答 – decider-2b-vision チェックポイントは画像ベースのクエリに回答し、各オプションの確率を返します。
  • バッチ分類パイプライン – HTTP サーバーのスキーマキャッシュにより、多数のレコードに対して同じ質問セットを実行するコストが低くなります。

クイックスタート(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 グラフをキャプチャして、実行時コンパイルのオーバーヘッドをゼロにします。

独自のモデルのトレーニング

リポジトリには、完全なデータ構築と微調整コードが含まれています。

  1. scripts/train.sh full は公開混合データセット(約 1.5 M 例、455 M トークン)を構築し、Qwen-3.5 ベースで 1 エポック実行します。
  2. scripts/train.sh delta <existing-ckpt> はチェックポイントからトレーニングを継続し、新しい決定データセットの追加に役立ちます。
  3. オプションの RL 段階(v8 → v10)は、ライブ MiniWoB++ ブラウザタスクを使用して確率をさらに校正します。RL ループは別の研究リポジトリにありますが、README は必要な環境にリンクしています。

既知の制限(リポジトリに記載されているとおり)

  • マルチステップ推論なし – モデルは連鎖的な算術やマルチホップ推論を実行できません。そのような問題は別々の質問に分割してください。
  • 難しい項目での校正の低下 – 特に知識集約型の多肢選択(GPQA、GSM8K など)で顕著です。2 B モデルは、最も難しいベンチマーク項目で顕著な過信を示します。
  • 英語のみ – すべてのトレーニングデータと評価は英語です。他の言語でのパフォーマンスは文書化されていません。
  • スキーマキャッシュは速度と引き換えに精度を犠牲にする – キャッシュを有効にすると、一部のスキーマで回答品質が低下する可能性があります。
  • 視覚バリアントはまだ開発中 – 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 でも実行できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト