FindStatBench: Evaluating Large Language Models on Combinatorial Code Synthesis
本論文は、組合せ的なコード合成における大規模言語モデルを評価するための厳格な実行ベースのベンチマークであるFindStatBenchを紹介し、トップモデルの性能は収束しているものの、長いプロンプト、特定のタスクにおける例示による直感に反する負の影響、および統計合成と比較した際のマップ合成固有の困難さによって、その精度が著しく阻害されていることを明らかにしている。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
あなたはロボットに数学者としての方法を教えようとしていると想像してください。単に数字についてチャットさせたいのではなく、パズルを解くための実際のコードを書かせたいのです。これは**組合せ論的コード合成(combinatorial code synthesis)**の世界です。「組合せ論」とは、ブロックをどのように積み上げるか、トランプの束をどのようにシャッフルするか、あるいは隣り合うマップの色が同じにならないようにするにはどう塗るかといった、物事の並べ方、シャッフル、あるいは数え方を研究することだと考えてください。「コード合成」とは、単にAIが数学を行うためのコンピュータプログラムを書く行為のことです。
長い間、私たちは一般的なコーディングタスク(「名前のリストをソートする関数を書いて」や「このウェブサイトのバグを修正して」など)でAIをテストしてきました。しかし、これらのテストは、シェフに玉ねぎの切り方を教えるようなものです。それらはシェフがナイフの持ち方を知っているかどうかを示すだけで、ゼロから新しいレシピを考案できるかどうかは示しません。この論文は、より難しい問いを投げかけます。もし、厳格で抽象的な数学的ルールといくつかの例を与えられたとき、AIは、見たことがない入力に対しても、そのルールに従って完璧なプログラムを書くことができるでしょうか?それは、レシピに従うことができるロボットと、料理の化学を理解して存在しない料理を考内で発明できるロボットの違いのようなものです。
数学コードの偉大な挑戦:FindStatBench
FindStatBenchの登場です。これは、AIモデルのための、非常に過酷なトレーニングジムです。Scale AIの研究者によって作成されたこのベンチマークは、純粋な数学的記述を動作するPythonコードに変換する能力を、大規模言語モデル(LLM)にストレス・テストするために設計されました。研究者は、AIに単純なスクリプトを書かせるのではなく、2,329個の異なる数学パズルを与えました。これらのパズルは、置換(リストのシャッフル)、グラフ(点と線のネットワーク)、分割(数を和に分解すること)などのための「数学的レシピ」のライブラリである、FindStatという実世界のデータベースから来ています。
ゲームのルールは厳格で、「クローズドブック(持ち込み禁止)」形式でした。AIには数学問題の説明と、最大5つの入出力例が与えられました。AIは、例として示されたものだけでなく、あらゆるオブジェクトを扱える単一のPython関数solve(obj)を書かなければなりません。AIは計算機を使ったり、インターネットで検索したり、助けを求めたりすることはできません。一度の試行で正解を出さなければなりません。AIが単に答えを暗記していないことを確認するために、研究者は552万件の隠されたテストケース、つまりAIが一度も見ることのない何百万もの数学の問題に対して、コードをテストしました。コードがこれら隠されたテストのどれか一つでも失敗した場合、それは間違いと見なされました。
結果:驚きのタイと、いくつかの奇妙な不具合
結果が出たとき、それは非常に興味深く、かつ少し直感に反するものでした。
1. 「大型」と「小型」のモデルが互角である
最も高価で強力な「クローズプソース(非公開)」モデル(企業にお金を払って使用するもの)が、オープンソースのモデル(誰でもダウンロードして実行できるもの)を圧倒すると予想されるかもしれません。しかし、この数学重視の領域では、そうはなりませんでした。最高のオープンソースモデルであるgpt-oss-120bは、最高のクローズドソースモデルであるClaude Sonnet 4.6とほぼ同じスコアを記録しました。両者の差は1パーセント未満でした。それはマラソンにおける二人のランナーのようなものです。一人は豪華なチームを持つ大企業にスポンサーされており、もう一人は手作りの靴を履いた地元のヒーローです。彼らは全く同時にゴールラインを駆け抜けました。
さらに驚くべきことに、テストされた全11モデルのベストな回答を組み合わせても、合計スコアは約10%しか向上しませんでした。これは、すべてのモデルが同様の「能力の天井」に突き当たっていることを示唆しています。彼らは皆、パズルの同じ難しい部分で苦戦しているのです。
2. 例が増えると、かえって悪化することがある
ここからが奇妙なところです。ほとんどのAIテストでは、モデルにより多くの例を与えることは学習を助けます。しかし、FindStatBenchでは、「全単射(bijections)」(洗練された方法で言えば「完璧なマッチングのルール」)と呼ばれる特定のタイプの数学パズルにおいて、モデルに5つの例を与えると、0個の例を与えた場合よりもパフォーマンスが悪化しました。
あなたが学生に折り紙の鶴の折り方を教えていると想像してください。単に「紙をこのように折ってください」と言えば、彼らは古典的で完璧な折り方を覚えるかもしれません。しかし、もしあなたが、誰かが少し乱れた折り方をした5つの例を見せたら、学生は混乱して、完璧なルールを忘れてしまい、その乱れた折り方を真似しようとするかもしれません。この論文では、いくつかの古典的な数学ルールにおいて、例がAIの内部知識を「押し出し(crowded out)」、示された例にさえ失敗する壊れたコードを書かせてしまうことが分かりました。これは「情報が多すぎて、理解が足りない」というケースです。
3. 「思考」の罠
もう一つの大きな発見は、特に「話す前に考える」ように設計されたモデルが、しばしばスペース不足に陥るということでした。これらのモデルには、生成できるテキストの制限があります。時として、彼らは自身の内部的な推論(思考プロセス)を書き出すことに全予算を使い果たし、実際のコードを書き終えることができませんでした。それは、試験中に「テストがいかに難しいか」についての日記を書き続け、結局問題を解くための時間がなくなってしまう学生のようなものです。研究者は、これらのモデルに思考(およびコード)を書くためのスペースを単に増やすだけで、これらの失敗の多くが解決されることを発見しました。
4. 難しいものは依然として難しい
AIはいくつかのタスク(物のカウントや単純な図形の操作など)については上手くなっていますが、他のタスクでは完全に失敗しました。「集合の分割(set partitions)」(あらゆる方法でアイテムをグループ化すること)や「二分木(binary trees)」(階層構造)を含むタスクについては、オープンソースかクローズドソースかを問わず、すべてのモデルにおいて精度がほぼゼロでした。モデルがどれほど大きく、どれほどのコストがかかっていようとも、これらの特定の構造的なパズルは、現在の彼らの手の届かないところにあるようです。
これが意味すること
この論文は、AIが「もっともらしい」数学コードを書くことには非常に長けているものの、正確で記号的なルールに関しては依然として脆い(brittle)と結論付けています。モデルは正しい答えを推測することは多いですが、複雑な構造に対して完璧なロジックを一貫して導き出すことには苦労しています。
最大の教訓は何でしょうか? コストが必ずしも能力と一致するわけではないということです。この特定のテストにおいて、安価なオープンソースモデルは、最も高価なプロプライエタリ(独占的)なモデルと同等の性能を発揮しました。そして、時にはAIに多くの例を与えたり、より多くの「思考時間」を与えたりすることが、必ずしも助けにはならず、むしろ混乱を招くこともあります。研究者は、AIが真に数学をマスターするためには、単に動きを暗記するのではなく、ゲームの「ルール」を理解することに長けている必要があると示唆しています。今のところ、AIは指示にはよく従えるものの、新しい種類の幾何学を考案するように求められると道に迷ってしまう、才能ある見習いのような存在です。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。