ベンチマーク
FrontierMath Tiers 1-3 (v1, old)
原文:FrontierMath Tiers 1-3 (v1, old)
専門家が書いた数学問題。学部上級からキャリア初期の研究者までのレベルを扱う。更新(2026-06-12):v2を公開した。このページは今後更新しない。
各モデルの得点の表・グラフは 原文のページ(英語・操作可能) で閲覧できます。
概要
FrontierMathは、専門家である数学者が作成・検証した、独自の非常に難しい数学問題数百問からなるベンチマークである。問題は現代数学の主要な分野の大半にわたり、数論や実解析の計算量の多い問題から、代数幾何学や圏論の抽象的な問題まで含む。典型的な問題を解くには、その分野の研究者でも数時間の努力が必要で、難度の高い問題では数日かかる。
FrontierMathの全データセットは350問からなる。これは、Tiers 1-3と呼ぶ300問の基本セットと、Tier 4と呼ぶ、非常に難しい50問の拡張セットに分かれる。Tiers 1-3のうち10問を公開しており、これをfrontiermath-2025-02-28-publicと呼んでいる。残りの290問がfrontiermath-2025-02-28-privateを構成する。同様に、Tier 4のうち2問を公開してfrontiermath-tier-4-2025-07-01-publicと呼び、残りの48問がfrontiermath-tier-4-2025-07-01-privateを構成する。特に断りのない限り、このハブの数値はすべて非公開セットでの評価である。公開している問題についての詳しい情報はこちら。
FrontierMathはOpenAIの資金提供を受けて開発され、OpenAIはベンチマークの一部に独占的にアクセスできる。詳しくは利益相反に関する声明を参照のこと。
方法論
FrontierMathの評価設定を理解するには、公開問題のログビューアーを使うのが最もよい方法として勧める(例:推論努力をhighにしたo4-mini-2025-04-16のログはこちら)。
FrontierMathの各問題で、モデルは答えを返すPython関数answer()を提出しなければならない。答えはPythonのオブジェクトで、多くの場合(常にではないが)整数かsympyのオブジェクトである。私たちの実装では、モデルは推論し、Pythonコードを実行できる。
モデルが使える手段を指定した、次のプロンプトを使っている。
これから難しい数学の問題を解いてもらう。進め方は次のとおり。
できること:
- 考えを書き出しながら問題を探る
- pythonツールを使って任意のPythonコードを実行する
- 答えに自信が持てたら、submit_answerツールを使って答えを提出する。
トークンの上限:
- 1,000,000トークンという絶対的な上限がある。これを超えると、(答えを提出していなくても)会話はただちに終了する。
- 660,000トークンに達すると(ただし絶対的な上限の1,000,000未満)、次のメッセージでsubmit_answerツールを使うことが強制される。この強制提出の段階は、絶対的な上限に達する前に答えを提出できる見込みをできるだけ高めるためのものである。ただし保証ではない。絶対的な上限に達しないようにするのは、引き続きあなたの責任である。
- 入力トークンと出力トークンの両方が上限に数えられる。
採点:
- 答えが正しければ1点を得る。誤っている場合や、答えを提出しなかった場合は0点になる。
答えを提出する前に、推論を私に説明すること。
ヒント
- まず、問題にどう取り組むかの大まかな計画を立てることを強く勧める。可能なら、問題を解くのに使えそうな、異なるアプローチを考えること。脱線しないように、重要な発見を定期的にまとめ、必要なら計画を見直すこと。
- 提出する前に、答えが問題の要件をすべて満たしているか確認すること。今の答えが正しくないと分かったら、別のアプローチを試す価値があるかもしれない。
submit_answerツールの使い方:
- 次の条件を満たす、‘answer’という名前のPython関数のコードを渡す。
- 引数を取らない
- 答えを{answer_type}として返す
- 何も出力しない
- コードコメントを含まない
- 答えの採点時、answer関数の最大実行時間は30秒である。コードは、その年の一般的な汎用ハードウェアで実行される
pythonツールの使い方:
- ツールはstdout(とstderr)だけを返すので、結果を見るには必ずprint()を使うこと。pythonツールの呼び出しで何も出力が得られなかった場合は、おそらくprintを忘れている。
- 例: x = 5 * 12 print(“The result is”, x) この例では、print文を必ず含めること。そうしないと、xの値は見えない。
- ツールは状態をまったく保持せず、何も事前にインポートされていない。これは非常に重要である。モジュール(math、sympyなど)が必要なら、毎回インポートしなければならない。以前のpythonの呼び出しで定義した変数にはアクセスできないので、必要なものは呼び出しのたびに定義し直さなければならない。
- 標準ライブラリと、次のライブラリ(requirements.txtの形式で表記)が使える。
- galois==0.4.4
- gmpy2==2.2.1
- mpmath==1.3.0
- networkx==3.4.2
- numpy==2.1.3
- pyadic==0.2.3
- scipy==1.15.2
- sympy==1.13.3
- pythonツールを使って答えを提出しないこと。提出の準備ができたら、submit_answerツールを使う。
- pythonツールの呼び出しの最大実行時間は30秒である。コードは、2025年の一般的な汎用ハードウェアで実行される。
解くべき問題は次のとおりである。答えの型は{answer type}である。
{question}
この実装は、論文で予備的な評価を行ったときのコードとは異なる。また、o3やo3-miniのモデルなどで、OpenAIが自社で行ったFrontierMathの評価の方法とも異なる。私たちはこれらの評価の実施には関わっていない。私たちの結果とOpenAIの結果の違いは、OpenAIがより強力な社内のスキャフォールドで評価したこと、テスト時の計算量を多く使ったこと、あるいはFrontierMathの別のサブセット(frontiermath-2025-02-28-privateの290問に対し、frontiermath-2024-11-26の180問)で評価したことによるのかもしれない。
変更履歴
2026年1月23日 Tier 4の2問に、以前のスコアに影響する不具合が見つかった。1問は採点プログラムの不具合だったので、以前の実行でモデルが出した解答を採点し直すことができた。この問題に正解したモデルは、GPT-5.2 Pro、GPT-5.2 (xhigh)、GPT-5.2 (high)、GPT-5.2 (medium)、GPT-5 Proだった。もう1問は、問題文そのものの不具合だった。こちらは、Tier 4で10%を超えるスコアを出したすべてのモデルを、この1問について再実行した。修正後の問題に正解したのは、GPT-5.2 ProとGPT-5.2 (high)だけだった。これらのモデルすべてのスコアを、それに応じて調整した。
また、FrontierMath-2025-02-28-Publicの公開問題PLD1の問題文の誤りを修正した。実は、誤って記述された問題に対しても、いくつかのモデルは正しい答え(281718171540)を出していた。この問題セットは説明のためだけのものなので、ハブ上の該当するスコアは更新していない。
これらの修正を反映して、ベンチマークのバージョン番号を1.1.4に上げた。
2026年1月22日 依存しているInspectをアップグレードし、ベンチマークのバージョン番号を1.1.3に上げた。
2025年12月5日 依存しているInspectをアップグレードし、ベンチマークのバージョン番号を1.1.2に上げた。
2025年11月19日 既定の設定を変更し、1回の実行でサンプルの2%までが失敗しても、実行全体は失敗としないようにした。これは通常、標準誤差の範囲に十分収まり、より実用的であることが分かった。バージョン番号を1.1.1に上げた。
2025年11月13日 モデルに与えるトークン予算を10倍にした。モデルがトークン予算の上限を超えることが増えているのを受けたものである。この変更に伴い、ベンチマークのバージョン番号を1.1.0に上げた。最近の高性能なモデルをいくつか選び、この新しいバージョンで再実行した。
特定のモデルの評価についての注記
DeepSeek-V3.2 (Thinking)
データセキュリティのため、このモデルはFireworks上で実行した。公開ベンチマークで実行したところ、このモデルはFireworks上でも、開発元がホストする場合(つまりDeepSeek APIを使う場合)と同等の性能を示したが、FireworksはAPIのエラー率が非常に高いことが分かった。そこで、FrontierMath Tiers 1-3から100問を無作為に抽出し、完了するまで再試行した。このモデルのスコアの標準誤差が大きいのはこのためである。
Gemini 2.5 ProとGemini 3 Pro
これらのモデルを公開後すぐにベンチマークしようとしたところ、異常に多くのAPIエラーが発生した。APIエラーでサンプルが完了しなかった場合は、少なくとも10回再試行した。すべての再試行が失敗した場合は、そのサンプルを不正解とした。このサイトの以前の版ではこの表にgemini-2.5.-proを載せていたが、その後の再実行(上に記したバージョン1.1.0への変更によるもの)では問題が起きなかったため、その行を削除した。
下の表は、このように不正解とされたサンプルの数を示す。
| モデル | ベンチマーク | 正答率 | 再試行後に不正解とされたサンプル |
|---|---|---|---|
| gemini-2.5-pro-preview-06-05 | FrontierMath-2025-02-28-Private | 10% (±2%) | 21/290 = 7% |
| gemini-3-pro-preview | FrontierMath-2025-02-28-Private | 38% (±3%) | 10/290=3% |
| gemini-3-pro-preview | FrontierMath-Tier-4-2025-02-28-Private | 19% (±6%) | 3/48=6% |
Grok 4
grok-4-0709では、2025年7月にAPIの利用中にタイムアウトとネットワークエラーが発生した。
そのため2025年7月時点では、Grok 4を特別な採点ルールで評価した。
FrontierMath-2025-02-28-Privateは標準の設定で評価した。記録IDはgda5UeWrA8HcbDCRuLJ56Hである。ストリーミングAPIを使った。290問のうち1問は、サーバーから応答がまったく返らなかったため採点されなかった(サンプルの1%までは、採点されないまま失敗してもよいことにしている)。
FrontierMath-Tier-4-2025-07-01-Privateでは、xAIの推奨に従い、リクエストあたりの最大出力長を128,000トークンとした(既定では上限なし)。ネットワークエラーやタイムアウトで失敗したリクエストがあれば、該当するサンプルを評価の採点段階に直接移した(その場合、通常は不正解と判定される)。評価の時間的な制約が非常に厳しかったためである。
| ベンチマーク | 正答率 | APIエラーが出たサンプル | 実行ID |
|---|---|---|---|
| FrontierMath-Tier-4-2025-07-01-Private | 2% (±2%) | 48のうち8(16%) | QxtNUmV2L34UyrySmBLTbv |
xAIはこの評価に対して私たちに報酬を支払い、計算資源のクレジットを提供した。私たちは秘密保持契約(NDA)を結んでおらず、編集上の独立性を完全に保っている。成績にかかわらず、すべての結果を公開している。
私たちの実装に使ったコードはこちらで公開している。