概要
Qwen3.5 および Gemma 4 を微調整したJeffモデルは、 ゼロショット分類 に特化した小型・高速な意思決定モデル。 Jev と同じリクエスト形式で、状況説明と選択肢をテキストで与えるだけで、各選択肢の 確率分布 を即座に返却。 22〜28ms という圧倒的な高速処理、ローカル環境での学習・推論が可能。 ファインチューニング により精度大幅向上も実現。 独立プロジェクト として、全てのコード・重みをオープンソースで提供。
Jeff: Qwen3.5・Gemma 4ベースのゼロショット分類モデル
- Qwen3.5 および Gemma 4 の小型モデルをベースにした 高速分類器
- ゼロショット対応 :選択肢やカテゴリが訓練データに存在しなくても、説明文だけで判別可能
- リクエスト形式 は Jev と互換、API設計の手間削減
- 生成テキストなし :1回のフォワードパスで各選択肢の 校正済み確率 を返却
- 用途例
- サポート窓口の振り分け
- ユーザー意図判定
- モデレーションラベル付与
- 音声コマンド分類
- ゲームの行動選択
特徴とベンチマーク
- 超小型・高速 :
- 0.8Bパラメータ(1.7GB)、2Bパラメータ(4.2GB)、Gemma4 E2B(9.3GB)
- RTX PRO 6000で 22〜29ms、Apple M4 Maxで 28〜60ms
- Jev(API経由)は 114〜212ms と比較して圧倒的な高速性
- 分類精度 :
- 公開ベンチマーク(BBH、Financial PhraseBank等)で Jevに匹敵または上回る 結果
- 理詰め問題(BBH, JudgeBenchなど)は大規模モデルに劣るが、分類・グラウンディングは同等
- ゲームテスト :
- Doom・Frogger・Pac-Manで ゼロショット性能 を評価
- ハンドコードbotと同等の成績を示す場面も
- 複数質問一括処理 :1リクエストで複数分類タスクを同時解決
ファインチューニングと運用
- ゼロショット精度が足りない場合、少量の自前データで 短時間ファインチューニング が可能
- 例:音声ナビゲーションで31.7%→95.8%(GPU1台・30分未満)
- AutoJevレシピ をベースにした全自動パイプライン
- ローカルGPUのみで学習・推論
- 合成データ生成も全てオープンモデル利用
- 学習レシピ:1エポック、バッチ256、クロスエントロピー、温度校正
- プロンプト設計が重要 :選択肢説明は一貫性・簡潔性を重視
利用方法(クイックスタート)
- Hugging Face からモデルダウンロード
- Jeff-Qwen3.5-0.8B
- Jeff-Qwen3.5-2B
- Jeff-Gemma4-E2B
- NVIDIA GPU/CPU
- uv sync
- uv run hf download mstrasser/Jeff-Qwen3.5-0.8B --local-dir checkpoints/jeff-0.8b
- JEFF_CHECKPOINT=checkpoints/jeff-0.8b PORT=8765 uv run jeff-serve
- Apple Silicon (MLX対応, Qwenのみ)
- uv sync --extra mac
- JEFF_BACKEND=mlx JEFF_CHECKPOINT=checkpoints/jeff-0.8b PORT=8765 uv run jeff-serve
- API例 (curlでのリクエスト)
- 状況説明+選択肢をJSONで送信
- 各選択肢ごとに確率・選択結果・信頼度を返却
モデルの設計思想と制約
- 小型モデルは推論力に限界 :多段階推論や計画は苦手
- 0.8Bモデルの方が2Bよりゲームでは好成績 :2Bはリスク回避傾向が強くなりやすい
- ベンチマークスコアと実際のゲーム性能が一致しない場合も
- 英語・テキストのみ対応
- 独立プロジェクト :TypeSafeやJevとは無関係、AutoJevのMITライセンスを継承
ライセンス・公開情報
- コード :MITライセンス(AutoJev含む)
- モデル重み :Apache 2.0
- 学習データ :各ソースのライセンスを遵守(公開は重みとコードのみ、一部CC BY-SA)
- 全パイプライン・合成データ生成・学習スクリプトも公開
- Doomテスト用コードもMITライセンスで提供
このプロジェクト、めっちゃ役立ちそうだね。Jevには色々話題があったけど、ローカルで動いて微調整できるモデルがあるのは超助かる。