5K Views
November 02, 24
スライド概要
21種類のモデルが中学レベルの確率の問題を解く過程を軽く調べました。
化学・材料・データ・AI・ロボット
大規模言語モデルが 中学数学(確率の問題)を 解く過程を調べるメモ Kan Hatakeyama 1
解かせたい問題 問1: 抽象概念 1の目が出る確率が1/6であるサイコロがあります。 このサイコロの性質について、正しいものを選びなさい。 1. 5回投げて、1の目が1回もで買ったとすれば、次に投げると必ず1の目が出る 2. 6回投げると、そのうち1回は必ず1の目が出る 3. 6回投げると、1から6までの目が必ず1回出る 4. 30回投げると、そのうち1の目は必ず5回出る 5. 3000回投げると、1の目はおよそ500回出る 問2: 組み合わせの列挙 サイコロを2つ振って、目の合計が3以上になる確率 2
問題の位置付けと出典 • 1. 確率の概念理解の問題 • 石橋 一昴 「モデル化の視点からみた中学生の確率の 意味理解に関す る考察」 教育数学研究 2020, 26, 73. より一部改変 • 中学3年生の正答率は50-60%程度 • 2. 場合の数の正確な計算、余事象の活用 • 日本語の対話・作文ベンチマーク(Japanese MT-Bench)より一部改変 • ローカルモデルが躓きやすい問題 3
検証したモデル • 日本語ChatBotArena(α版)で運用 しているモデルと対話して評価 • 注意点 • Temperature=0.7, top_p=1 • 一部モデルは量子化 • Arenaの順位は暫定値 • 評価件数がまだ少ない • Swallowの8B, 70Bの順位 が逆転している点が気に なる • モデルor 評価法の問題? Arenaの 暫定順位 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 位置付け model フロンティア フロンティア 準フロンティア フロンティア 準フロンティア 準フロンティア 準フロンティア オープン(海外) オープン(海外) 準フロンティア オープン(海外) オープン(海外) 国産 準国産 国産 オープン(海外) 国産 オープン(海外) 19 準国産 20 21 国産 オープン(海外) claude-3-5-sonnet-latest gemini-1.5-pro-latest gpt-4o-mini-2024-07-18 gpt-4o-latest mistral-large-latest deepseek-chat gpt-4-turbo-2024-04-09 Qwen/Qwen2.5-72B-Instruct nvidia/Llama-3.1-Nemotron-70B-Instruct gemini-1.5-flash-latest google/gemma-2-27b-it meta-llama/Meta-Llama-3.1-405B-Instruct Tanuki-8x8B-dpo-v1.0-AWQ Llama-3.1-Swallow-8B-Instruct-v0.1-Q8_0 cyberagent/calm3-22b-chat-BitsAndBytes command-r-plus Tanuki-8B-dpo-v1.0-BitsAndBytes NousResearch/Hermes-3-Llama-3.1-405B Llama-3.1-Swallow-70B-Instruct-v0.1BitsAndBytes llm-jp-3-13b-instruct-Q8_0.gguf ibm-granite/granite-3.0-8b-instruct-fp8 4
問1の正否 • 全体の正答率71% • 平均的な中学生よりは上(?) • 国産系モデルで誤答の傾向 • 海外勢との実力差はまだあり Arenaの 暫定順位 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 備考 model フロンティア フロンティア 準フロンティア フロンティア 準フロンティア 準フロンティア 準フロンティア オープン(海外) オープン(海外) 準フロンティア オープン(海外) オープン(海外) 国産 準国産 国産 オープン(海外) 国産 オープン(海外) 19 準国産 20 21 国産 オープン(海外) claude-3-5-sonnet-latest gemini-1.5-pro-latest gpt-4o-mini-2024-07-18 gpt-4o-latest mistral-large-latest deepseek-chat gpt-4-turbo-2024-04-09 Qwen/Qwen2.5-72B-Instruct nvidia/Llama-3.1-Nemotron-70B-Instruct gemini-1.5-flash-latest google/gemma-2-27b-it meta-llama/Meta-Llama-3.1-405B-Instruct Tanuki-8x8B-dpo-v1.0-AWQ Llama-3.1-Swallow-8B-Instruct-v0.1-Q8_0 cyberagent/calm3-22b-chat-BitsAndBytes command-r-plus Tanuki-8B-dpo-v1.0-BitsAndBytes NousResearch/Hermes-3-Llama-3.1-405B Llama-3.1-Swallow-70B-Instruct-v0.1BitsAndBytes llm-jp-3-13b-instruct-Q8_0.gguf ibm-granite/granite-3.0-8b-instruct-fp8 正解(1) or 誤答(0) 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 0 5
問1の誤答例 (calm3-22b) なんとなくあってそうだが、よく見ると間違った回答 (人間の中学生とは異なる間違え方) このサイコロに関する確率の性質についての質問に対して、正しいものを選びます。 1. 5回投げて、1の目が1回もでない場合、次に投げると必ず1の目が出る: これは誤りです。個別の試行が独立してい るため、過去の結果が次に投げる結果に影響を及ぼすことはありません。 2. 6回投げると、そのうち1回は必ず1の目が出る: これは正しいです。確率の基本として、独立した試行を6回行うと、 各試行で1の目が出る確率は1/6なので、少なくとも1回は1の目が出る確率は1 - (5/6)^6 ≈ 0.994で、ほぼ確実に1の目 が1回以上出ます。 3. 6回投げると、1から6までの目が必ず1回出る: これは誤りです。独立した試行である限り、1から6までの目が一度も 出ない可能性も存在します。 4. 30回投げると、そのうち1の目は必ず5回出る:これは誤りです。30回中ちょうど5回1の目が出る確率は、二項分布を 使って計算できますが、これは特定の回数(例えば5回)が出る確率を示しており、確定的にそうなるわけではありませ ん。 5. 3000回投げると、1の目はおよそ500回出る: これは正しいです。二項分布の性質に基づき、3000回中1の目が出る 回数の分布は、平均が1500回(3000回 * 1/6)、標準偏差が約47.4回です。中心極限定理により、3000回の試行ではお およそ495回から505回の範囲に収まることが期待されます。 したがって、正しいものは2、4、そして5です。 6
問2の正否 • 全体の正答率50%程度 • 平均的な中学生よりは上(?) • 海外モデルでも誤答の傾向 • LLMにとっては難題 • 回答のたびに正否が変わる ケースもあり • Gemini-flash, gemma, qwen など Arenaの暫 定順位 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 備考 model フロンティア フロンティア 準フロンティア フロンティア 準フロンティア 準フロンティア 準フロンティア オープン(海外) オープン(海外) 準フロンティア オープン(海外) オープン(海外) 国産 準国産 国産 オープン(海外) 国産 オープン(海外) 19 準国産 20 21 国産 オープン(海外) claude-3-5-sonnet-latest gemini-1.5-pro-latest gpt-4o-mini-2024-07-18 gpt-4o-latest mistral-large-latest deepseek-chat gpt-4-turbo-2024-04-09 Qwen/Qwen2.5-72B-Instruct nvidia/Llama-3.1-Nemotron-70B-Instruct gemini-1.5-flash-latest google/gemma-2-27b-it meta-llama/Meta-Llama-3.1-405B-Instruct Tanuki-8x8B-dpo-v1.0-AWQ Llama-3.1-Swallow-8B-Instruct-v0.1-Q8_0 cyberagent/calm3-22b-chat-BitsAndBytes command-r-plus Tanuki-8B-dpo-v1.0-BitsAndBytes NousResearch/Hermes-3-Llama-3.1-405B Llama-3.1-Swallow-70B-Instruct-v0.1BitsAndBytes llm-jp-3-13b-instruct-Q8_0.gguf ibm-granite/granite-3.0-8b-instruct-fp8 問2 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 7
誤答例 (mistral-large) 愚直に組み合わせを数え上げる過程でミス (→ モデルは精密な情報出力を続けるのが苦手) サイコロを2つ振って、目の合計が3以上になる確率を求めるためには、まず全ての出来事(サイコロの目の組 み合わせ)を考え、その中で目の合計が3以上になる組み合わせを数えます。 サイコロを2つ振ると、各サイコロの目は1から6の間です。したがって、全ての組み合わせの数は (6 ¥times 6 = 36) です。 次に、目の合計が3以上になる組み合わせを数えます。目の合計が3以上になる組み合わせは以下の通りです: •合計が3: (1,2), (2,1) •合計が4: (1,3), (2,2), (3,1) •合計が5: (1,4), (2,3), (3,2), (4,1) •合計が6: (1,5), (2,4), (3,3), (4,2), (5,1) コメント: •合計が7: (1,6), (2,5), (3,4), (4,3), (5,2), (6,1) すべて正しく列挙できているが、 •合計が8: (2,6), (3,5), (4,4), (5,3), (6,2) 最後のカウントに失敗 •合計が9: (3,6), (4,5), (5,4), (6,3) (正しくは35通り) •合計が10: (4,6), (5,5), (6,4) •合計が11: (5,6), (6,5) •合計が12: (6,6) これらの組み合わせを数えると、合計が3以上になる組み合わせは34通りです。 … 8
スマートな回答例 (gemini-pro-1.5) 余事象の概念を使えば、生成トークン数を削減 & ミスを防ぎやすい サイコロ2つを振ったときの目の合計は2から12までの値を取り、それぞれの合計が出る確率は等 しくありません。 合計が3以上になる確率を求めるには、余事象、つまり合計が3未満になる確率を 求めて、1から引くのが簡単です。 合計が3未満になるのは、合計が2の場合のみです。 合計が2になるのは、(1, 1) の1通りだけです。 サイコロ2つを振ったときの場合の数は 6 x 6 = 36 通りです。 よって、合計が2になる確率は 1/36 です。 したがって、合計が3以上になる確率は 1 - (1/36) = 35/36 となります。 答え: 35/36 9
回答の分析: 余事象のテクニックを使ったかどうか? • 回答内容を個別チェック • 結果、正答するモデルの 大半は、余事象の概念を 使用 Arenaの暫 model 備考 定順位 1 claude-3-5-sonnet-latest フロンティア 2 gemini-1.5-pro-latest フロンティア 3 gpt-4o-mini-2024-07-18 準フロンティア 4 gpt-4o-latest フロンティア 5 mistral-large-latest 準フロンティア 6 deepseek-chat 準フロンティア 7 gpt-4-turbo-2024-04-09 準フロンティア 8 Qwen/Qwen2.5-72B-Instruct オープン(海外) 9 オープン(海外) nvidia/Llama-3.1-Nemotron-70B-Instruct 10 gemini-1.5-flash-latest 準フロンティア 11 google/gemma-2-27b-it オープン(海外) 12 オープン(海外) meta-llama/Meta-Llama-3.1-405B-Instruct 13 Tanuki-8x8B-dpo-v1.0-AWQ 国産 14 Llama-3.1-Swallow-8B-Instruct-v0.1-Q8_0 準国産 15 cyberagent/calm3-22b-chat-BitsAndBytes 国産 16 command-r-plus オープン(海外) 17 Tanuki-8B-dpo-v1.0-BitsAndBytes 国産 NousResearch/Hermes-3-Llama-3.118 オープン(海外) 405B Llama-3.1-Swallow-70B-Instruct-v0.119 準国産 BitsAndBytes 20 llm-jp-3-13b-instruct-Q8_0.gguf 国産 21 オープン(海外) ibm-granite/granite-3.0-8b-instruct-fp8 余事象の 利用 問2 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 10
追加検討: 解法を強制するとどうなるか? • 問2a: 余事象を使わせない(愚直にカウントさせる) サイコロを2つ振って、目の合計が3以上になる確率について、ありうる組み 合わせをすべて列挙しながら求めよ。 • 問2b: 余事象を使わせる サイコロを2つ振って、目の合計が3以上になる確率を計算しなさい。 回答には以下の過程を踏みなさい。 1. すべての組み合わせを掛け算で推定する。 2. 目が2になる組み合わせを求める 3. 1の組み合わせから2の組み合わせを引く 11
問2a 余事象を使わないで計算させると正答率が低下 フロンティアレベル以外のモデルでは誤答するケースが増加 Arenaの暫定 順位 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 備考 model フロンティア フロンティア 準フロンティア フロンティア 準フロンティア 準フロンティア 準フロンティア オープン(海外) オープン(海外) 準フロンティア オープン(海外) オープン(海外) 国産 準国産 国産 オープン(海外) 国産 オープン(海外) 準国産 国産 オープン(海外) claude-3-5-sonnet-latest gemini-1.5-pro-latest gpt-4o-mini-2024-07-18 gpt-4o-latest mistral-large-latest deepseek-chat gpt-4-turbo-2024-04-09 Qwen/Qwen2.5-72B-Instruct nvidia/Llama-3.1-Nemotron-70B-Instruct gemini-1.5-flash-latest google/gemma-2-27b-it meta-llama/Meta-Llama-3.1-405B-Instruct Tanuki-8x8B-dpo-v1.0-AWQ Llama-3.1-Swallow-8B-Instruct-v0.1-Q8_0 cyberagent/calm3-22b-chat-BitsAndBytes command-r-plus Tanuki-8B-dpo-v1.0-BitsAndBytes NousResearch/Hermes-3-Llama-3.1-405B Llama-3.1-Swallow-70B-Instruct-v0.1-BitsAndBytes llm-jp-3-13b-instruct-Q8_0.gguf ibm-granite/granite-3.0-8b-instruct-fp8 余事象の 利用 問2 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 問2a 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 12
問2b 余事象の回答テクニックを使わせると正答率が増加 準フロンティア・数十bクラスのモデルで正答率が上昇 Arenaの暫 定順位 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 備考 model フロンティア フロンティア 準フロンティア フロンティア 準フロンティア 準フロンティア 準フロンティア オープン(海外) オープン(海外) 準フロンティア オープン(海外) オープン(海外) 国産 準国産 国産 オープン(海外) 国産 オープン(海外) 19 準国産 20 21 国産 オープン(海外) claude-3-5-sonnet-latest gemini-1.5-pro-latest gpt-4o-mini-2024-07-18 gpt-4o-latest mistral-large-latest deepseek-chat gpt-4-turbo-2024-04-09 Qwen/Qwen2.5-72B-Instruct nvidia/Llama-3.1-Nemotron-70B-Instruct gemini-1.5-flash-latest google/gemma-2-27b-it meta-llama/Meta-Llama-3.1-405B-Instruct Tanuki-8x8B-dpo-v1.0-AWQ Llama-3.1-Swallow-8B-Instruct-v0.1-Q8_0 cyberagent/calm3-22b-chat-BitsAndBytes command-r-plus Tanuki-8B-dpo-v1.0-BitsAndBytes NousResearch/Hermes-3-Llama-3.1-405B Llama-3.1-Swallow-70B-Instruct-v0.1BitsAndBytes llm-jp-3-13b-instruct-Q8_0.gguf ibm-granite/granite-3.0-8b-instruct-fp8 余事象の 利用 問2 問2a 問2b 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 13
問1: 確率の概念の理解 問2:サイコロを2つ振って、目の合計が3以上になる確率の計算 問2a: すべての組み合わせを数え上げる解法の強制 問2b: 余事象を使った解法の強制 結果のまとめ Arenaの 暫定順位 備考 model 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 フロンティア フロンティア 準フロンティア フロンティア 準フロンティア 準フロンティア 準フロンティア オープン(海外) オープン(海外) 準フロンティア オープン(海外) オープン(海外) 国産 準国産 国産 オープン(海外) 国産 オープン(海外) 19 準国産 20 21 国産 オープン(海外) claude-3-5-sonnet-latest gemini-1.5-pro-latest gpt-4o-mini-2024-07-18 gpt-4o-latest mistral-large-latest deepseek-chat gpt-4-turbo-2024-04-09 Qwen/Qwen2.5-72B-Instruct nvidia/Llama-3.1-Nemotron-70B-Instruct gemini-1.5-flash-latest google/gemma-2-27b-it meta-llama/Meta-Llama-3.1-405B-Instruct Tanuki-8x8B-dpo-v1.0-AWQ Llama-3.1-Swallow-8B-Instruct-v0.1-Q8_0 cyberagent/calm3-22b-chat-BitsAndBytes command-r-plus Tanuki-8B-dpo-v1.0-BitsAndBytes NousResearch/Hermes-3-Llama-3.1-405B Llama-3.1-Swallow-70B-Instruct-v0.1BitsAndBytes llm-jp-3-13b-instruct-Q8_0.gguf ibm-granite/granite-3.0-8b-instruct-fp8 問1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 0 問2での 問2 余事象の 問2a 問2b 利用 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1: 正解 0: 不正解 14
モデルの4分類 • 高精度のモデル群 (フロンティア3社、 DeepSeek、 Qwen-72B) • 余事象の概念を使わず、愚直に全ての組み合わせを数え上げても正答 • ただしQwenは一定確率でミスをするケースも多かった • 解法を習得した中精度のモデル群 (GPT-4o-mini, Gemini-1.5-flash, Llama-3.1Nemotron-70b, Gemma-27b) • 計算量を削減するテクニックを習得済み(余事象の活用) • 愚直に組み合わせを数え上げる解法だと、途中で幻覚が生じて誤答 • 解法を知らない中精度のモデル群 (mistral-large, llama-3.1-400B, Swallo-70B) • 余事象のテクニックを教えれば正答 • 低精度のモデル群 (Tanuki-8B, 8x8B, Swallow-8B, Calm3, Comman-r, llm-jp, granite) • 余事象のテクニックを教えても誤答 15
まとめ • 数値を正確かつ安定的に出力し続けられるモデルは一部のフロ ンティアモデルなどに限定される • GPT-4oなど • GPT-4-miniでは厳しい • ローカルモデルで数学の問題を安定的に解かせるためには、回答 テクニック(余事象の活用)などを明示的に教えた方が良さそう • 精密な数値処理を期待するのは、現時点では難しい • 多くのモデルはパターン暗記に基づいて回答している印象 16
(補足) 大規模言語モデルが数学/coding/ 論理思考を習得するのは結構難しい Tanuki-8x8b, 8bは合計で55 Bトークン程度の数学・論理・コーディングに関する合成データを学習したが、 今回の評価では、数学性能が「低精度のモデル群」に留まった。 (関連スライド、関連記事) 学習させたデータセット Tokens (b) logical-wizardlm-7b 28.90 0804calm3-logical-multiturn-pretrain 7.09 logical-wizardlm-7b-ja-0805 5.59 logical-wizardlm-7b-ja 4.23 logical-wizardlm-7b-ja-0730 2.78 SyntheticTextOpenMathInstruct 2.02 logical-wizardlm-7b-ja-0731 1.51 logicaltext-wizardlm8x22b-Ja 0.69 wizardlm8x22b-logical-math-coding-sft 0.51 Synthetic-JP-EN-Coding-Dataset-453k 0.42 wizardlm8x22b-logical-math-coding-sft_additional 0.39 logicaltext-wizardlm8x22b 0.32 wizardlm8x22b-logical-math-coding-sft-ja 0.19 LogicalDatasetsByMixtral8x22b 0.06 wizardlm8x22b-logical-math-coding-sft_addition... 0.06 OpenMathInstruct-ja-phi3 0.05 logicaltext-wizardlm8x22b-api 0.02 モデルが学習した合成データの例 17