本文へ
ハクソク

世界を動かす技術を、日本語で。

ジーヴス。推論がジェヴ様の意思決定モデルを改善する

元記事: 原文(github.com)

概要

Jeeves は、 Qwen3.5-9B ベースのJevスタイル推論分類器。 CISPO と SFT で訓練し、 diffusion drafter 搭載。 JevやKevを超える精度を JevBench 等で実証。 yes/no・選択肢・スコア 質問を一括処理、API互換。 CUDA対応・高速化設定 も可能。

Jeeves: Reasoning Improves Jev-like Decisions

  • Jeeves は、 Qwen3.5-9B (LoRA・pointer head付き)をベースにした 推論型分類モデル。
  • block-4 diffusion drafter を内蔵し、 全訓練コード・データ も公開。
  • JevBench や テストデータ で、 Kev-9B や Jev より高精度(例: JevBench公開ティアで0.935 vs 0.866)。
  • yes/no(noul)・選択肢(choice)・スコア(score) 形式の質問を 同時リクエスト処理。
  • Jev互換API で運用可能。
  • 思考なし で約0.3秒、 思考あり で中央値3.3秒(H100使用時)。
  • チェーン長を短縮 することで更なる高速化が可能。
  • CUDA(HopperのFP8カーネル) に対応。

Jev系モデルの課題とJeevesの解決策

  • Jev系モデル は 確率校正 は優れるが、 精度が低い。
  • 多くのパイプラインは 推論モデルをフォールバック で利用。
  • Jeeves は CISPO を活用し、「 考えてから決定」する訓練を実施。
  • これにより 未知領域タスク でも高いパフォーマンスを実現。

主な精度比較(抜粋)

  • Test overall (未知・保持アウト):Jeeves 0.889(Kev-9B 0.822、Jev 0.857)
  • JevBench overall (231公開):Jeeves 0.935(Kev-9B 0.715、Jev 0.866)
  • MMLU :Jeeves 0.793、Jev 0.900
  • JevBench hard :Jeeves 0.865、Jev 0.730
  • 思考なし :Jeeves 0.804、 思考あり :0.840(テスト分割)

クイックスタート

  • 要件 :Python 3.12、CUDA GPU
  • インストール :
    • pip install -r requirements.txt
    • モデル重みダウンロード:hf download PostHog/jeeves --local-dir jeeves-weights
    • サーバー起動:python -m inference.serve --model jeeves-weights --drafter jeeves-weights/drafter_k4.safetensors --port 8009
  • 推論リクエスト例 (curl):
    • Jev形式JSONで 複数質問 を同時送信
  • レスポンス例 :
    • 各質問の 推論結果・信頼度・確率 等を返却
    • 使用トークン数・レイテンシ も出力

Python SDK

  • Jev SDK互換 のPythonクライアント(jeeves_sdk)
  • 型安全 なAPIで、 思考プロセスのテキストも取得可能
  • デフォルトで http://127.0.0.1:8009 に接続、APIキー不要

サーバーオプション・設定

  • think :思考を有効化(高速化にはfalse)
  • max_think :推論チェーンの最大トークン数
  • nothink_threshold :信頼度が閾値以上なら思考省略
  • return_reasoning :推論テキストをレスポンスに追加

推論プロセスの仕組み

  • 質問・状態・回答 をQwenチャットテンプレートにロード
  • <state>…<q>…<opt>…</opt>…<think>で 推論チェーン生成
  • <decide>で pointer head が各選択肢をスコアリング
  • 温度付きsoftmax で最終確率算出
  • プロンプト内の特殊トークン利用が性能向上に寄与

学習方法

  • SFT (2エポック、8GPU、19,126問)
  • LoRA r=16 (全プロジェクション+pointer head)
  • CISPO (624ステップ中402で停止、9,992 RL質問、各8ロールアウト)
  • 校正 :devセットで温度最適化
  • 思考チェーンの半分 はベースモデルからサンプリング

Diffusion Drafter

  • Orthrus 着想の diffusion drafter 搭載
  • Gated DeltaNet層 にも対応
  • block 4 設定で複数質問を効率的にバッチ処理
  • 高速化 :block 4で1問176トークン/秒、8問バッチで約960トークン/秒

再現・データ構築

  • prepスクリプト でHugging Faceからデータセット自動取得
  • 各データセットは独自ライセンス下で利用

学習パイプライン

  • 8GPU で全プロセス自動実行(run.sh)
    • SFT→CISPO→テスト→JevBench→エクスポート→drafter訓練

リポジトリ構成

  • model/ :Qwen3.5本体+LoRA+pointer head
  • loader/ :プロンプト形式・トークナイズ・バッチ処理
  • prep/ :データセット構築・合成データ生成
  • trainer.py, train.py :SFT・CISPO・drafter訓練
  • test.py, jevbench.py, calibrate.py :評価・温度最適化
  • export.py :LoRA統合モデル出力
  • drafter/ :drafter本体・チェーンサンプリング
  • inference/ :FP8カーネル・推論サーバー
  • sdk/ :Jev SDK互換クライアント

制限事項

  • 知識系質問 はJevに劣後(MMLU等)
  • 思考チェーン が長い場合、最大17秒程度かかる
  • JevBench外 の比較は同一ソースだがアイテムが異なる
  • 言語一貫性報酬 なしのため、思考チェーンの可読性は限定的

謝辞・参考文献

  • Kev や Jev の設計に着想
  • Qwen3.5-9B、 Gated DeltaNet、 LoRA、 CISPO、 Orthrus 等を活用
  • 論文・実装は GitHub(https://github.com/PostHog/jeeves) で公開

引用推奨:

@software{waltz2026jeeves,
  author = {Waltz, Nicholas P.},
  title = {Jeeves: Reasoning Improves Jev-like Decisions},
  year = {2026},
  url = {https://github.com/PostHog/jeeves},
  note = {Qwen3.5-9B decision model trained with SFT and CISPO, with a block-4 diffusion drafter}
}

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

ちょっと気になったんだけど、「noul」っていう言葉はどこから来たの?/ もう少し掘り下げてみたら…Noulはベルヌーイ試行を行うんだって。つまり、結果が2つ(はいかいいえ)だけの実験なんだけど、どちらかを選ぶんじゃなくて、その文が真である確率(0.0から1.0の範囲)を返すんだ。嫌いだわ :)

└

ベルヌーイ

└

トランジスタで何が起こってるかを超細かく説明したいなら、実はすべてのデジタルブールはこれなんだよね。

└

「幻覚なし」っていう前提はそれに基づいてるよね。確かに、幻覚は見ないけど、結局はユーザーに決めさせるからなんだよね。

└

いいね!短くてはっきりしてるから、原始的なものにはぴったりだと思う。基本的な意味を表していて、ブールとの関連もあるし。

└

ベイズ統計では、それを「信念」って呼ぶんだ。新しい用語を作る必要があったのが不思議だね。

└

ジーヴスは理解してるフリをしてたけど、ジェブが実際にキャリブレーションされてるってデータはあるの?

これが正しい方法っぽいね。パイプラインの一部はjevのように、もう一部は伝統的なLLMになるハイブリッドアプローチ。

Ask Jeeves - 30年かけてようやく元に戻ったね。

└

これが見に来たコメントだよ。

└

一度オークランドで創業者の一人に会ったことがある。すごい人だったよ。

└

笑、俺も全く同じこと考えてたわ。途中でいくつかのMLプロジェクトにJeevesって名前つけたし…

Hacker Newsで議論の続きを見る

同じ出典の記事