LLMの綴りの問題と不均一な知能?Andrej KarpathyによるLLMの詳細解説(Part 7)


スペルの難問

大規模言語モデル(LLM)の能力について議論するとき、私たちはしばしば、それらが数学、論理的推論、さらには執筆においても卓越したパフォーマンスを発揮することに驚嘆します。しかし、スペリングに関連するタスクにおいて、LLMは意外にもあまり理想的な結果を出せません。これはモデルの世界は「tokens」(トークン)で構成されており、個々の文字ではないためですこれにより、スペルタスクを処理する能力に影響します。

1. なぜLLMはスペルが苦手なのか?

LLM 人間のように直接文字を見ることはありませんその入力はtokensつまり、テキストが分割される単位です大きなテキストブロック。モデルが訓練される際、学習するのはトークンレベルの言語構造であり、単語の綴りを文字ごとに学習するわけではありません。

例えば、単語“ubiquitous” LLMにおいては、それが分割される可能性があります複数のトークンに、ではなく、個々の文字ごとではありません:

したがって、モデルに要求するとき特定の文字を抽出する(例えば、3つおきの文字を選ぶ場合)そのパフォーマンスは非常に悪くなるでしょう。なぜなら、それは単語の個々の文字を見ているのではなく、連結されたトークンを見ているからです

2. 具体事例:綴字タスクの失敗

大規模言語モデル(LLM)に次のようなタスクを設定したと仮定します:

「ubiquitous」の最初の文字から始まる每隔三文字を表示してください。

私たちは次を得ることを期待します:

U Q T S

しかし、LLM の答えは通常間違っています。これは、タスクが文字レベルで処理されるのではなく、トークン操作に基づいているためです。

なぜ失敗するのでしょうか?

✅ 人間が見るのは文字です、指定された文字を簡単に抽出できます。
❌ LLM が見るのはトークンです、個々の文字ではなく、そのため文字レベルの操作を正確に実行できません。

3. クラシックな誤例:LLM は「R」を数えられない?

LLMにおけるよく知られた綴りの問題は:

「strawberry」にはいくつ R が含まれていますか?

✅ 正解は3
❌ 多くの初期のLLM(GPT-3を含む)は誤って2

これにより、広範な議論が引き起こされました。なぜオリンピック数学の問題を解けるAIが、文字を正確に統計処理できないのでしょうか?その根本的な原因は二つあります:

  1. LLMが認識するのはtokensであり、文字自体ではありませんそのため、一つ一つの文字を処理して綴りのタスクを行うことができません。
  2. LLM自体が数え .これは、文字数をカウントするのをさらに困難にします。

4. LLMに正しい綴りを実行させるにはどうすればよいですか?

LLMが信頼して文字レベルのタスクを処理できない場合私たちはコードインタプリタ(Code Interpreter)を使用してこの問題を解決します。例えば、モデルにPythonを呼び出させることができます:

例:Pythonを使用して問題を解決する

私たちはLLMに要求できます:

Python コードを使用して次の文字列から"ubiquitous"每隔て三个字符の字母を抽出してください。

LLM が生成した Python コード:

word = "ubiquitous"
result = word[::3]
print(result)

出力結果:

U Q T S

なぜコードは LLM 自体よりも信頼性が高いのですか?

✅ Pythonコードは文字単位で操作できます、一方、大規模言語モデル(LLM)はトークンを処理するため、個々の文字に直接アクセスできません。
✅ コードツールを使用することで、AIは正確に文字レベルのタスクを実行できます、トークナイゼーションによる問題を引き起こすことなくです。


不均衡な知能

AI オリンピック数学レベルの数学問題を解き、博士レベルの物理、化学、生物学の質問に答えられるのに、最も基本的な問題で頻繁に失敗するこれがまさにAIの不均等な知能(Jagged Intelligence)の典型的な表現です。

1. AIが簡単な問題で犯す「とんでもない」間違い

混乱を招くケースを見てみましょう:

9.11は9.9より大きいですか?

✅ 正しい答えはいいえ(9.9 > 9.11)しかし、LLMは以下の誤った答えを出す可能性があります:

9.11は9.9よりも大きいです。

さらには、それが数学的な論理を使って誤った結論を説明しようとする、または多次にわたる質問後に前後が不一致で、時々正しい時があり、時々間違っている

なぜAIは複雑な問題を処理するのに優れているのに、簡単な問題では間違いやすいのでしょうか?

特定の状況下では、AIはさえオリンピック級の数学問題を解くことができますが、簡単な数値の比較間違いを犯すのは、完全に不合理に見える。しかし、詳しく調べた後、研究者たちは驚くべき現象を見つけた。

(1) モデルは「非数学的要因」の影響を受けている可能性がある

研究チームは、モデルが9.11と9.9の大小関係を計算するとき活性化したニューロンは、聖書に関連するテキストパターンと非常に類似しています

  • 聖書において、章番号通常は9:11のように表記されます(例:ヨハネの福音書9:11)
  • この形式では、9:11 は確実に 9:9 の後に現れます
  • したがって、モデルの記憶は誤導される可能性があります数学的な論理に基づいた数値比較ではなく、9.11 が 9.9 より大きいと判断するかもしれません。

(2) LLM の統計的パターン vs. 論理的推論

LLM 主に統計的なパターンマッチングに依存しており、真正的な論理的推論ではない

  • モデルが看到するとき“9.11 vs 9.9”それは誤って関連付けされるかもしれません聖書の章番号に関連するテキストパターン数学的な演算を実行する代わりに
  • モデルは数学的なコンテキストとテキストパターンを区別できませんこれにより、非数学的な判断を行います。

(3) 大規模言語モデル(LLM)は完璧な数学ツールではありません

  • 言語モデルの本質は次の最も可能性の高いトークンを予測することです数学的な規則を厳密に従うことではなく、
  • 複雑な数学の問題通常、より体系的な推理ステップに依存しますが、簡単な計算逆に影響を受けやすいです。訓練データにおけるノイズの干渉

3. 解決策:LLMの計算信頼性を向上させるには?

✅ AIの数学的推論能力を完全に信頼しないでください

  • LLM の特性上テキストパターンの干渉を受けやすい可能性があります、その計算結果は追加の確認が必要です
  • 提案:外部計算ツール(例: Python コードインタプリタ)を使用して確認すること、AIの「頭の中で行う計算」に完全に依存する代わりに

✅ AIを最終的な答えではなく、一つのツールとして扱うこと

  • AIは「確率システム」であり、絶対に正しい推理機ではありません
  • AIを使用して問題を解決する際には、AIが生成した答えを無闇にコピーすべきではありません、そして文脈やツールを組み合わせて検証するべきです