Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI Mathematical Olympiad Progress Prize 2 解法共有

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for YuanfanWang YuanfanWang
June 12, 2025
14

AI Mathematical Olympiad Progress Prize 2 解法共有

【DeNA】Kaggle振り返り会 vol3 -LLM系コンペ (AIMO2&kprize) の登壇資料
AI Mathematical Olympiad Progress Prize 2 の 11th place solution

Avatar for YuanfanWang

YuanfanWang

June 12, 2025

Transcript

  1. © DeNA Co., Ltd. 1 AI Mathematical Olympiad Progress Prize

    2 解法共有 王 遠帆 株式会社ディー・エヌ・エー
  2. © DeNA Co., Ltd. 3 1 自己紹介 王 遠帆 (Wang

    Yuanfan) • 25卒 AI Specialist • Kaggle Master • 新卒研修中
  3. © DeNA Co., Ltd. 6 2 • ホスト ◦ XTX

    Market AIを使って株式、債券、暗号資産などの金融商品に対する価格予測 慈善活動の一環として数学と科学の教育と研究に重点を置いている • 目的 ◦ 数学的な推論能力はAIにとって重要なマイルストーンである ◦ エンジニアリングから金融モデルまで複雑な課題に対する基盤となる • 概要
  4. © DeNA Co., Ltd. 7 2 • 問題 ◦ Latex形式で記述された数学オリンピック級の問題

    ◦ 代数、組合せ論、幾何学、数論に関する 110 問 ◦ sample 10, public LB 50, private LB 50 問に分割される ◦ AIにとって難しい(?)ように設計 ルール説明
  5. © DeNA Co., Ltd. 8 2 • 解の範囲 : 0

    ~ 999 (mod 1000) • 回答形式 : 1問ずつ答えて、答えたら次へ。時間が来たら終了 • リソース : L4 GPU x 4 • 制限時間 : 50問 / 5h • 評価指標 : 正答数 ルール説明
  6. © DeNA Co., Ltd. 9 2 • AIMO1 ◦ AIMO2

    の起源 ◦ AIMO2とルールは同じ ◦ 高校中級レベルの数学問題 起源
  7. © DeNA Co., Ltd. 11 3 Pipeline LLM Math Question

    Python REPL Python Code 10 20 10 10 10 5 10 10 Pythonのコードを1行ずつ対話的に実行できる環境
  8. © DeNA Co., Ltd. 12 3 LLM LLM Math Question

    Python REPL Python Code 10 20 10 10 10 5 10 10
  9. © DeNA Co., Ltd. 13 3 LLM • casperhansen/deepseek-r1-distill-qwen-14b-awq ◦

    考えを文章(途中式)にしながら推論するので、出力がとても長い ◦ DeepSeek R1 を教師として Qwen14B に知識を蒸留 ◦ AWQ 量子化 ◦ AutoAWQの作者 CasperHansen 氏が公開 • vLLM で高速化
  10. © DeNA Co., Ltd. 14 3 LLM • 精度:7B <

    14B < 32B • 時間:7B > 14B > 32B • 14B は精度と速度のバランスがよかった • Solution を公開した金圏の全チームが 14B を利用していた
  11. © DeNA Co., Ltd. 15 3 Prompt LLM Math Question

    Python REPL Python Code 10 20 10 10 10 5 10 10
  12. © DeNA Co., Ltd. 16 3 Prompt - Control あなたは

    Python コードアシスタントです。 これから整数解をもつ数学の問題が与えられます。 この複雑な数学問題を Python コードに落とし込んでください。 Python Code は以下の形式に従って出力してください。
  13. © DeNA Co., Ltd. 17 3 Prompt - Control •

    Python Code を出力して欲しい • 簡素な指示は無視され数学的導出に走る • Python Code を適切に出力させるには強いプロンプト制御が必要
  14. © DeNA Co., Ltd. 18 3 Prompt - Avility 膨大な計算はすべて

    Python に任せましょう! 数学的導出だけでなく、全探索、再帰、動的計画法、二分探索、 貪欲法、グラフ理論など、さまざまな解法が考えられます。
  15. © DeNA Co., Ltd. 19 3 Prompt - Avility 膨大な計算はすべて

    Python に任せましょう! 数学的導出だけでなく、全探索、再帰、動的計画法、二分探索、 貪欲法、グラフ理論など、さまざまな解法が考えられます。
  16. © DeNA Co., Ltd. 20 3 Prompt - Avility 膨大な計算はすべて

    Python に任せましょう! この問題には様々な解法がありますが、 最も効果的な方法を見つけてください。 精度変わらず速度UP
  17. © DeNA Co., Ltd. 21 3 Prompt - Avility •

    解法の多様性を広げる • 適切なアルゴリズムを選択し、解ける問題を見逃さない (ID: 057f8a) ↑ 「AI にとって難しい」の意図はこのあたり?
  18. © DeNA Co., Ltd. 22 3 Prompt - One-Shot ドドラ島からは、3社の航空会社が運航しています。

    それぞれの航空会社の出発スケジュールは異なっており、 • 最初の会社は100日ごとに出発、 • 2社目は120日ごと、 • 3社目は150日ごとに出発します。 これらの出発スケジュールの開始時刻(初便の日)は会社ごとに異なる可能性があります。 どのような出発タイミングであっても必ず発生する、連続して飛行機が出発しない最大の日数は いくつか?  ↑ 全探索で解けるのでは? ID: 057f8a
  19. © DeNA Co., Ltd. 23 3 Prompt - One-Shot •

    o1-preview に全探索というヒントを与えると解けた • 別問題を用意し全探索を One-Shot すると、 DeepSeek もたまに 057f8a が解けるようになった
  20. © DeNA Co., Ltd. 24 3 SC-TIR Self-Consistency with Tool-Integrated

    reasoning LLM Math Question Python REPL Python Code 10 20 10 10 10 5 10 10
  21. © DeNA Co., Ltd. 25 3 SC-TIR • Self-Consistency ◦

    自己整合性(要は多数決) ◦ Google Research が有効性を示した • Tool-Integrated Reasoning ◦ 拡張能力として、計算力を高める Dataset CoT + temp=0 CoT + Self-Consistency ( x40 ) GSM8K (算数) 56.5% 74.4% ( +17.9% ) SVAMP (文章問題) 79.0% 86.6% ( +7.6% )
  22. © DeNA Co., Ltd. 26 3 SC-TIR • AIMO1 の

    1st place solution では SC-TIR が用いられた • Public Notebook では SC が主流だったが SC-TIR の方が精度が良かった
  23. © DeNA Co., Ltd. 27 3 Evaluation • LBが不安定 •

    AIME 直近 100 問 ◦ アメリカの数学オリンピックの問題 (American Invitational Mathematics Examination) ◦ Public LB と相関あり ◦ 序盤は sample 10 で評価 ◦ 中盤から AIME 100 で厳密に評価 (AIME2025では足りないのでは) ◦ 終盤では AIME 100 x 3 の平均値でさらに厳密に評価
  24. © DeNA Co., Ltd. 28 3 vLLM Parameter • gpu_memory_utilization

    : 0.99 • enable_prefix_caching: true ← 同じプロンプトの先頭部分 (prefix) を複数回使うとき、 最初に計算した hidden states を キャッシュし高速化 • max_model_len: 8192 * 2 (public notebook: 8192 * 1 ~ 1.5) • temperature: 0.9 • top_p: 0.99 • min_p: 0.01 • top_k: 90
  25. © DeNA Co., Ltd. 29 3 Score 60 70 80

    65 70 74 AIME100 Public LB 30 20 23 27 25 SC (public notebook) DeepSeek 14B SC + TIR SC + TIR + Prompt Tuning
  26. © DeNA Co., Ltd. 32 4 改善案 1. 推論の精度をあげる? a.

    GPTQ, AWQ, 様々なデータセットで量子化は効果なし (結局 casperhansen/deepseek-r1-distill-qwen-14b-awq が最も良い) b. GRPO (Group Relative Policy Optimization) はマシンリソースが足りない (より優れた応答を導くようLLMの生成方針を強化学習で最適化する手法) 2. 推論を高速化する?
  27. © DeNA Co., Ltd. 33 4 改善案 1. 推論の精度をあげる a.

    GPTQ, AWQ, 様々なデータセットで量子化は効果なし (結局 casperhansen/deepseek-r1-distill-qwen-14b-awq が最も良い) b. GRPO (Group Relative Policy Optimization) はマシンリソースが足りない (より優れた応答を導くようLLMの生成方針を強化学習で最適化する手法) 2. 推論を高速化する
  28. © DeNA Co., Ltd. 34 4 vLLM LLM Math Question

    Python REPL Python Code 10 20 10 10 10 5 10 10 10 5 20 1 5 1 vLLMは指定した数だけ並列生成し、 すべての出力が揃うまで待つ
  29. © DeNA Co., Ltd. 35 4 Difficult Python REPL Python

    Code 10 20 20 20 10 5 10 10? 10 3 20 3 5 1 SCに自信がない
  30. © DeNA Co., Ltd. 36 4 Difficult 10! Python Code

    10 20 20 20 10 5 10 10 20 10 10 5 10 10 10 8 20 4 5 2 増やせばよいが、 毎回は無理 Python REPL
  31. © DeNA Co., Ltd. 37 4 Very difficult 1 Python

    Code 10 16 37 51 25 78 93 ? おや?解が発散している Python REPL
  32. © DeNA Co., Ltd. 38 4 Very difficult 2 Python

    Code -1 -1 5 -1 -1 10 -1 ? max token に達し、解に辿りつけない Python REPL
  33. © DeNA Co., Ltd. 39 4 Very difficult Python Code

    10 16 37 51 25 78 93 ? 諦めて早期終了 -1 -1 5 -1 -1 10 -1 Python REPL
  34. © DeNA Co., Ltd. 40 4 Easy Python Code 10

    10 10 10 10 10 10 10!!! 10 7 20 0 5 0 解が明白 Python REPL
  35. © DeNA Co., Ltd. 41 4 Easy Python Code 10

    10 10 10 10! 10 4 20 0 5 0 早期終了 Python REPL
  36. © DeNA Co., Ltd. 42 4 Faster vLLM - Rule

    • 簡単な問題には時間をかけない • 難しすぎる問題にも時間をかけない • 解ける可能性のある問題に集中する
  37. © DeNA Co., Ltd. 43 4 Faster vLLM - Rule

    停止カテゴリ 条件 閾値 時間制限 経過時間 4時間57分 を超えたら停止 無効回答が多すぎる場合 総回答 5-7件 無効回答が 5件以上 で停止 総回答 8-11件 無効回答が 4件以上 で停止 総回答 12-16件 無効回答が 6件以上 で停止 回答が発散している場合 総回答 8件以上 有効回答が 6種類以上 で停止 勝者が決まった場合 (上位2票差で判定) 総回答 4-7件 票差 3以上 総回答 8-11件 票差 2以上 総回答 12-16件 票差 1以上 総回答 16件 最多票からランダムに選択
  38. © DeNA Co., Ltd. 44 4 Score 60 70 80

    65 70 74 78 AIME100 Public LB 30 20 23 29 27 25 SC (public notebook) DeepSeek 14B SC + TIR SC + TIR + Prompt Tuning SC + TIR + Prompt Tuning + Faster vLLM