自己実行シミュレーションがコーディングモデルを改善する

arXiv cs.CL / 2026/4/7

💬 オピニオンSignals & Early TrendsIdeas & Deep AnalysisModels & Research

要点

  • 本論文は、生成されたコードがどのように実行されるかの予測が失敗する問題に対処するため、コーディング用LLMを「プログラム実行」をステップごとに推定しシミュレーションするよう訓練することを提案する。
  • 実行トレースに対する教師あり微調整と、検証可能な報酬を用いる強化学習を組み合わせ、真の実行に基づいて説明を根拠づける。
  • この手法は2つの目的を用いる。すなわち、コードと入力から出力を予測すること、さらに、競技プログラミング問題を解くことを、正解の実行結果または自己予測した実行フィードバックのいずれかを用いて行うこと。
  • 実行をシミュレーションすることで、モデルは複数の候補解に対して自己検証ができ、テスト実行ループを通じて反復的に自己修正できる。
  • 複数の競技プログラミングのベンチマークに対する実験では、標準的な推論アプローチに比べて一貫した改善が見られ、実行シミュレーションの利点と限界の両方を示すアブレーションも併せて確認された。

要旨: LLMが一貫して正しいコードを生成できるようにするための有望な研究方向性は、特にLLMが生成するコードについて、プログラムの実行を適切に見積もることができないという問題に取り組むことにある。本研究では、コードLLMを段階的にプログラム実行をシミュレートするよう訓練でき、その能力を活用して競技プログラミングの性能を向上できることを示す。我々の手法は、実際の実行に基づくテキスト的説明とともに、自然言語の実行トレースに対する教師あり微調整を行い、さらに検証可能な報酬を用いた強化学習を組み合わせる。補完的な2つの目的を導入する。1つは、コードと入力を与えたときの出力予測であり、もう1つは、真の実行フィードバック、または自ら予測した実行フィードバックのいずれかを用いて競技プログラミング課題を解くことである。これらの目的により、モデルは複数の候補解に対して自己検証を行い、テスト実行をシミュレートすることで反復的に自己修正できるようになる。複数の競技プログラミングベンチマークにおいて、本手法は標準的な推論アプローチに対して一貫した改善をもたらす。さらに、実行シミュレーションの役割とその限界を明らかにするためのアブレーションおよび分析も提示する。