Jeff: Jev互換のゼロショット分類用0.8Bおよび2B決定モデル

Jeffは、ゼロショット分類用にファインチューニングされた小型のオープンウェイト言語モデル群です。テキストを生成することなく、単一のフォワードパスを利用して一連の選択肢に対する調整済みの確率を返すことで、Jeffは従来のLLMベースの分類に代わる高速な選択肢を提供します。0.8Bパラメータモデルは、NVIDIA RTX PRO 6000で約22ms、Apple M4 Max(MLX経由)で28msの決定レイテンシを実現します。

高速な意思決定

Jeffの主な価値提案は、極めて高い速度と費用対効果です。トークンを反復処理する生成型LLMとは異なり、Jeffはアプリケーションコードに直接組み込める分類器として機能します。

パフォーマンス指標

モデル パラメータ NVIDIA RTX PRO 6000 Apple M4 Max (MLX) CPU (32スレッド)
Jeff-Qwen3.5-0.8B 0.8B 22 ms 28 ms 463 ms
Jeff-Qwen3.5-2B 2B 24 ms 60 ms 708 ms
Jeff-Gemma4-E2B 2B effective 29 ms N/A 1.0 s

これらの速度により、音声ナビゲーションやゲームAIなど、従来のAPIベースのモデル(Jevなど)ではレイテンシが大きすぎる(例:1コールあたり114〜212ms)ようなリアルタイムの意思決定ループが可能になります。

ゼロショット分類とベンチマーク

Jeffは、ユーザーが状況と選択肢のリストを平易な言葉で説明するゼロショットタスク向けに設計されています。モデルは、その説明に基づいて最も可能性の高い選択肢を選択します。

ベンチマーク結果

5つの公開ベンチマーク全体で、Jeff-Qwen3.5-2Bモデルは83.1%の総合精度を達成し、Jevの公開数値(83.0%)と同等となりました。Jeffは分類やグラウンディングのタスクで優れており、Financial PhraseBank(96.3%対77.0%)やRAGTruth(88.9%対77.3%)でJevを上回っていますが、推論を多用するベンチマークでは遅れをとっています:

  • BBH: 64-68% (Jeff) 対 94.3% (Jev)
  • JudgeBench: 60-64% (Jeff) 対 78.6% (Jev)
  • JevBench Hard: 47-53% (Jeff) 対 73.3% (Jev)

このパフォーマンスの差は、モデルのサイズが小さい(0.8B〜2Bパラメータ)ことを考えれば予想通りであり、これらは多段階の推論者ではなく「システム1」の判断を下すものとして意図されています。

ローカルでのトレーニングと実装

Jeffは完全にローカルハードウェア上で構築されており、RTX PRO 6000ワークステーションGPUを1基使用しました。トレーニングプロセスには、バッチサイズ256、選択肢の文字に対するクロスエントロピーを用いた1エポックのフルウェイト・ファインチューニングが含まれます。

  • 合成データ: トレーニングデータは2基のDGX Sparks上でQwen3.8-Flash-Nextによって生成され、クローズドモデルは品質のスポットチェックにのみ使用されました。
  • トレーニング時間: 0.8Bモデルは約2時間、2Bモデルは約3.5時間でトレーニングされます。
  • ファインチューニング: ドメイン固有のタスクの場合、短いファインチューニングで精度を大幅に向上させることができます。ある例では、音声ナビゲーションタスクにおいて、単一のGPU上で30分以内に精度が31.7%から95.8%に向上しました。

実践的な応用:ゲームテスト

非ベンチマークデータでのゼロショット能力をテストするために、JeffはDoom、Frogger、Pac-Manの3つのゲームをプレイするために使用されました。

  • Doom: Jeff-0.8Bはエピソードあたり6.55キルを達成し、手書きのルールベースボットおよびJevの公開実行結果と同等のパフォーマンスを示しました。
  • Frogger: Jeff-0.8Bは10.3回の横断を達成し、トレーニングされていないベースモデル(1.0)を大幅に上回りました。
  • Pac-Man: Jeff-0.8Bは57個のペレットを回収し、ルールベースボットのパフォーマンスの約60%に達しました。

使用ガイドラインと注意点

Jeffの効果を最大化するために、開発者は以下のガイドラインに従う必要があります:

  • コードで推論し、Jeffで決定する: Jeffをプランナーではなく分類器として使用してください。将来の状態を予測させるのではなく、移動の結果(例:「この動きをすると車にぶつかる」)を提供してください。
  • 言葉選びが重要: 選択肢に対する一貫性のある記述的な言葉選びが不可欠です。目標の記述方法を少し変えるだけで、パフォーマンスが大幅に向上することがあります。
  • オプションキー: レイテンシとトークンのオーバーヘッドを最小限に抑えるために、短いキー(例:{"1": "Refund request"})を使用してください。

コミュニティからのフィードバック

このプロジェクトはローカルファーストのアプローチと速度で称賛されていますが、一部のユーザーからは、ゼロショットの精度がユースケースによって大きく異なる可能性があるとの指摘がありました。あるユーザーは、特定のアプリケーションにおいてJevと比較して精度の大きな差(70%対94%)を報告しており、専門的なタスクにはファインチューニングが重要であることを強調しています。

プロジェクトの歴史とライセンス

Jeffは、Jevスタイルの決定を返すようにモデルをファインチューニングするためのオープンソースレシピであるAutoJevのフォークです。ウェイトはApache 2.0ライセンスの下で公開されており、コードはMITライセンスの下にあります。

Sources

関連