LoCo:「考えすぎ」の段階で推論モデルに締め切りを教える(Think Less, Locally: Local Preference Learning for Reasoning Compression)

思考チェーンの長さを圧縮するための選好学習手法。単に短い回答を報酬として与えるのではなく、モデル自身の推論軌跡から「情報は十分なのに考え続けている」候補状態を特定し、その段階までの推論プレフィックスを固定した上で、同じ状態からより短く検証済みの回答に至る続きを再生成する。これにより「同じ状態で考え続ける vs 締め切る」という選好ペアを作成し、DPOで訓練することで、モデルにいつ停止すべきかを学ばせる。訓練データはすべてモデルが生成した数学推論軌跡から得られる。

思考チェーンの長さを圧縮するための選好学習手法。単に短い回答を報酬として与えるのではなく、モデル自身の推論軌跡から「情報は十分なのに考え続けている」候補状態を特定し、その段階までの推論プレフィックスを固定した上で、同じ状態からより短く検証済みの回答に至る続きを再生成する。これにより「同じ状態で考え続ける vs 締め切る」という選好ペアを作成し、DPOで訓練することで、モデルにいつ停止すべきかを学ばせる。訓練データはすべてモデルが生成した数学推論軌跡から得られる。

いいね 65 · コードスター数 6

理由

  • 著者によると、5つの数学ベンチマークと3つのコードベンチマークにおいて、数学の出力長は 41.7%–45.4%、コードは 23.4%–36.3% 短縮され、精度は同等または向上し、コードベンチマークでのAUCはすべて最高値を記録。数学データのみで訓練してもコードへ転移可能。
  • 重みは公開済み:Hugging Face の MuyaoYuan/LoCo-7B(DeepSeek-R1-Distill-Qwen-7B の圧縮版、MITライセンス)、vLLMで直接読み込み可能。リポジトリにはデータ生成、訓練、評価の全工程が含まれており、コードはMITライセンス。
  • Hugging Faceでの当日のいいね数は第3位(注目度を示すのみ)。「過度に思考している状態のみで選好ペアを作成する」というデータ生成手法はモデルに依存しないため、他の推論モデルへ移植可能。

使い方

  • 直接利用:vLLMで MuyaoYuan/LoCo-7B を読み込む(モデルカードの例では max_model_len=36864、temperature 0.6、top_p 0.95、max_tokens 32768)。プロンプトの末尾で段階的な推論を要求し、回答を \boxed{} に入れる。
  • 自前でデータ生成:ベースモデル DeepSeek-R1-Distill-Qwen-7B と評価モデル Qwen3-30B-A3B-Instruct-2507 をダウンロードし、リポジトリ同梱の math14k 問題セットに対して、construction/ 内の 1_rollout から 6_build_dpo までの6段階スクリプトを実行して out/6_build_dpo/dpo.jsonl を得る。
  • 訓練と評価:bash script/train/run.sh(デフォルトで 4 カード、2 エポック、DeepSpeed ZeRO-2)、python train/merge.py でLoRAをベースモデルにマージ、bash script/eval/run.sh math500 または aime24 aime25 で評価。

リスク

  • 公開されているのは 7B チェックポイントのみで、ベースモデルは比較的古い R1 蒸留モデル。他の推論モデルに適用するには、データ生成と訓練を再実行する必要があり、データ生成には 30B 規模の評価モデルが必要。
  • 開発環境は NVIDIA H20、CUDA 12.8、Python 3.12 で、依存バージョンが厳密に固定されている(vllm 0.23.0、trl 0.29.1 など)。
  • 長さと精度の数値は著者による報告。論文では数学とコードのみを評価しており、オープンエンドな対話で早すぎる締め切りが発生するかについてのデータはない。

開く · コード · Hugging Face論文ページ

Hugging Face Daily Papers

最新の AI ニュースを見る