🗂

LLMを利用した人工知能モデルの、簡単な数学的推論の性能評価

2024/10/21に公開

■ はじめに

お疲れ様です。株式会社STAR AI社員のミキです。
日々のエンジニアライフを豊かにするために調べたことをこちらに記載します。

■ 目的と動機

ちょっと前(2024/9/12)にChatGPTの新バージョンであるo1-previewが発表された。評判がいいらしい。
普段私は金を払ってChatGPTとClaudeを利用している。
特に数学やプログラミングに関する疑問が湧いた時、とりあえず投げてみる場所としてClaude 3.5sonnetをまあまあ使っている。
Claude 3.5sonnetは今まで、ChatGPT 4oよりはまともな回答が返ってきていた。
今回ChatGPT o1-previewと会話して良い回答が得られるならば、ありがたく使わせていただきたい。

確認日は2024/10/18。

■ 質問内容

質問の背景

日常で使う性能を確認したいので、日常で湧いた程度の質問にしたい。
今回はalg-dさんのyoutubeチャンネル動画「可換環の局所化」を拝見している時、実際に自分で確認した内容について質問してみる。大学数学の範囲だと思う。
こういう細かい質問をササッと解決してもらえたならば、日々の生活がスムーズになる!ので、大変期待している。

以下の内容に関して具体例を提示してもらう。

  • 「積が定義された集合の上で有理数(割り算)を考えたいとき、有理数同士のイコールをどのように定義すると良いか」に関すること
  • 有理数同士の関係として、1/2 = 2/4 のような同値(=)を次のように定義している。
    • r/st/uが同値」とは、次の条件を満たすようなvが1つでも存在すること。
      • 条件は(r・u - s・t)・v = 0
  • 定義内にvが登場するのは、同値関係に求められる3条件「反射律」「対称律」「推移律」のうち「推移律」がうまく成立するようにするため。

上記から質問文を作り、「vが必要となるような具体的な場面や理由を知りたい」という旨で尋ねてみる。

質問文

ほとんど同じ質問を、キーワード有無で2つ用意する。質問文は共通で以下に提示する。
*各質問冒頭で回答法に関してあれこれ指定している理由は、噂に聞く感じこういうのが良いらしいから。twitter情報なので確実に正しい。

  • 質問1つ目

    突発的にわからない事を質問する機会が多いので、これで伝わってくれるとありがたい。

    可換環の局所化について質問したいです。
    回答には、「考察」「結論」の2部構成にしてください。
    考察部分を先に出力し、そこからまとめる形で結論を部分を改めて書いてください。

    可換環の局所化における「同値」は次のように設定されます。
    「 可換環R、Rの積閉集合Sを用意する。 R×S:={<r,s> | r∈R, s∈S}における同値(〜)を次のように定める。 <r,s>〜<t,u>:= ∃v∈S. (ru-st)v=0 」

    ここで最後の条件「(ru-st)v=0」に関して質問です。
    最後の条件を「(ru-st)=0」としないのはなぜでしょうか?
    具体的にvが必要である理由を教えてください

  • 質問2つ目(キーワードを追加)

    ネタバレ:1つ目の質問ではどのAIからも満足な答えが返ってこなかった。

    可換環の局所化について質問したいです。
    回答には、「考察」「結論」の2部構成にしてください。
    考察部分を先に出力し、そこからまとめる形で結論を部分を改めて書いてください。

    可換環の局所化における「同値」は次のように設定されます。
    「 可換環R、Rの積閉集合Sを用意する。 R×S:={<r,s> | r∈R, s∈S}における同値(〜)を次のように定める。 <r,s>〜<t,u>:= ∃v∈S. (ru-st)v=0 」

    ここで最後の条件「(ru-st)v=0」に関して質問です。
    最後の条件を「(ru-st)=0」としないのはなぜでしょうか?
    推移律に関連して、 具体的にvが必要である理由を教えてください

■ 結論

ChatGPT o1-previewの性能はClaude 3.5sonnetより明らかな計算力があると感じた。
ChatGPT o1-previewを使おう。

- ChatGPT 4o ChatGPT o1-preview Claude 3.5sonnet
質問1 ×
間違い
×
間違い
×
間違い
質問2 ×
質問文に「推移律」あるためか良さそうな初回の回答だった。しかしその後の計算に関する推論は全く出来ない
⚪︎
初回の回答は、雰囲気は正しいが計算ミスをしていた。ミスを具体的に指摘すると正しい回答が得られた
×
初回の回答の結論は正しいが途中が曖昧。具体的な計算を実施はするが失敗し、その後は計算ミスを元に推論し謎結論に着地した。

*具体的な返答結果は長いので後述する

所感

ChatGPT o1-previewはかなり賢い!
ChatGPT 4oは言わずもがなClaudeでできていない計算をChatGPT o1-previewはできた。

ただし、ChatGPT o1-previewも最高の結果ではなかった。
質問2に添付したキーワードからは結構なリーク味を感じるので、このAIを使ったとしても利用者に知識がないと十分でない回答に踊らされることになりそう。

とはいえ、LLMらしい推論パワーが十分に発揮できるよう質問選びができるなら、ChatGPT o1-previewときどきClaude 3.5sonnetで便利に調べ物ができそうだ。

(Claudeは相変わらず自分のミスを元にした謎結論に着地したのだが、それはそれでどういう学習から次の単語を推測しているのだろう。妙な論理的推論を感じてしまう。)

それぞれの質問に対して具体的な返答

- ChatGPT 4o ChatGPT o1-preview Claude 3.5sonnet
質問1 間違い 間違い(具体例でチェックしたい気持ちはわかる) 間違い(具体例でチェックしたい気持ちはわかる)
質問2 間違ってはいないがだいぶ足りない。
↓具体的な計算を要求してみる。↓惜しい計算ミスがあったので指摘するが、結論部分を覚えているだけで過程は計算できない。
計算ミスがあったが
指摘すると正しく計算された。
初めは計算ミスがあった↓ぼんやりした指摘だと↓同じ間違いをしたが↓より具体的に指摘すると正しく計算された。
結論は正しいが具体的な計算がないので↓対象箇所の記述を求める。↓おかしな計算だがまだ結論はブレない。より具体的に指摘すると計算ミスを元に推論し、独自の結論に帰着した。

参考

Discussion