| llama.cpp に、皆さんが長い間待ち望んでいた、もうひとつの素晴らしくワクワクする機能、推論予算の本格的サポートが追加されたことを嬉しくお知らせします! これまで、`--reasoning-budget` は基本的にダミーで、その唯一の機能はテンプレートに `enable_thinking=false` を渡して思考を無効化するために 0 に設定することでした。しかし今、サンプラー機構を介して本格的な推論予算設定を導入します。推論が開始されると、トークン数をカウントし、与えられた推論トークン数に達したときには推論を強制終了します。 しかし: これを「そのまま」やると、モデルに良くない影響を及ぼす可能性があります。実際、Qwen3 9B で試したとき(HumanEval でのテスト)、推論予算を適用するとパフォーマンスが大幅に落ちました。推論版で 94%、非推論版で 88% から、推論予算を強制した結果 78% というひどい結果になりました。これが理由で、別のフラグを追加しました:`--reasoning-budget-message`。これは推論の終わり直前にメッセージを挿入して移行を和らげます。私が「... thinking budget exceeded, let's answer now.」というメッセージを使ったとき、スコアは戻り、部分的な推論からのリターンが見え始めましたが、それほど大きくはありませんでした。推論予算 1000 の場合の HumanEval スコアは 89% でした。 この機能を試してみてください。おそらく、異なるモデルに対して素敵な設定を見つけられるでしょう。デフォルトで強く推論を行うモデル(例: StepFun 3.5)を推論を制限させるよう強制することもできますが、そのようなモデルで --reasoning-budget 0 を使うと、推論をサンプラー経由で None に制限するため、挙動がかなり不安定で悪くなることがあります(例えば、二つ目の推論ブロックを開こうとします)。 [リンク] [コメント] |
Llama.cpp が真の推論予算を搭載しました!
Reddit r/LocalLLaMA / 2026/3/12
📰 ニュースDeveloper Stack & InfrastructureTools & Practical Usage
要点
- llama.cpp はトークンを数えて予算に達した時点で推論を終了する、サンプラー機構を介して実装された実際の推論予算をサポートします。
- 新しいフラグ --reasoning-budget-message は、予算を超えたときの移行を容易にするため、推論の終盤直前にメッセージを挿入します。
- 初期のテストでは、推論予算を適用すると性能が大幅に低下することが示されました(例: Qwen3 9B の HumanEval スコアが 94% から 78% へ低下)。ただし、メッセージオプションを使用すると、1000 トークンの予算でスコアを約 89% まで回復できます。
- ユーザーには、異なるモデルや設定を試すことを推奨します。デフォルトで強く思考してしまうモデル(例: StepFun 3.5)に --reasoning-budget 0 を適用すると、挙動がかなり不安定になることがあります。例えば、二つ目の推論ブロックを開こうとする場合があります。




