メインコンテンツへスキップ
論文 "LLMs Will Always Hallucinate, and We Need to Live With This" への批判

論文 "LLMs Will Always Hallucinate, and We Need to Live With This" への批判

·
AI LLM ハルシネーション 論文批評 数理論理学
近藤 憲児
著者
近藤 憲児
目次

Twitter を見ていたら “LLMs Will Always Hallucinate, and We Need to Live With This” という論文が紹介されていた。

abstract に 「ゲーデルの不完全性定理やチューリングの停止性問題を参照して (略) hallucination が原理的に不可避であることを示した」 とあり、 こんなにワクワクさせるものもないぞ!と、週末に読むのを楽しみにしていた。

さて、今日がその週末である。結論から言えば期待外れであった。

感想としては「雑な数学的概念の乱用」。いつぞやのポストモダン思想批判を彷彿とさせる。題材としては非常に興味深いものであったため、最初は細かな論証のギャップを気にせずに読もうと努めていたが、次第にそれが看過できなくなり、最終的には読むのを中断した。

途中まで真剣に読んだので、そのメモを残しておく。

また 「 hallucination を取り除くことはできないということが数学的に示された」 という主張は 非常にキャッチーであり、それ故流布し易いものであるため、今後そのような言説を見かけたときに備えて、何が疑わしいかを述べておく。

論文の骨子
#

この論文は 1 章と 2 章が準備、 3 章以降が本編、という構成になっている。

1 章は LLM の技術的な説明。以下の画像の各要素を簡単に説明している。

image

2 章は論文の主張の骨子を説明している。

image

具体的には以下のようなもの:

  • 主張 1: どのようなトレーニングデータベースも 100%完全であることはあり得ない。
  • 主張 2: たとえデータが完全であったとしても、大規模言語モデル(LLM)は 100%の正確性で情報を取り出すことはできない。
  • 主張 3: 大規模言語モデル(LLM)は 100%の正確性で意図を分類することはできない。
  • 主張 4: どのような事前トレーニングを行っても、幻覚(ハルシネーション)を完全に排除することはできない。
  • 主張 5: どれほど事実確認を行っても、幻覚(ハルシネーション)を完全に排除することはできない。

またこの章では準備として、チューリングマシンや停止性問題の説明がある。

3 章で、上の主張を一つずつ証明している。

この記事では、上に述べた主張 1、すなわち

主張 1: どのようなトレーニングデータベースも 100%完全であることはあり得ない。

の部分を詳らかにする。

主張 2 以降については真面目に読んでいないので、この記事でも触れない。

主張 1 の証明と、その批判
#

「3.1 Training Data is Inherently Incomplete」で、気になる文を抜き出してコメントする。

冒頭
#

All of an LLM’s knowledge comes from data. Therefore, it seems to stand to reason that a larger, more complete dataset is a solution to hallucination; we should just give it all the knowledge in the world. Unfortunately, this is not possible. We demonstrate that while increasing the amount of data can tend towards a more complete database, it can never result in a 100% complete database. Hence, a larger training set, no matter how large, cannot eliminate structural hallucinations.

今読み直すと、ここからちょっと怪しさがある。というのも、どうも著者は LLM は、トレーニングデータに含まれるすべての文を生成し得る と思っている節がある。そう思わないと証明パートで辻褄が合わない。

もし著者が本当にそう思っているならば、その主張は強すぎる。感覚的には偽ではないか、つまり「トレーニングデータに含まれるが、どのようなクエリに対しても LLM が生成しない文」は存在するんじゃないか、という気すらする。いずれにせよ、素朴に真として受け入れるにはいささか無防備に思う。

証明ショートカット
#

To this end, we claim the following:

Assertion 1: No training dataset can contain all true facts.

日本語にすると「どのような訓練データセットも、全ての真実を含むことはできない」。これを今から証明します、ということなのだが、 論理学オタクはこの時点できな臭さを感じるのだ

というのも、この主張は以下のように言い直せる:

$F := \{x: x \ \text{is true} \}$ なる命題の集合 $F$ は存在しない.

つまり $F$ は「この世界のすべての真なる命題の集合」を表現している。

そしてこの $F$ が存在しないことは、 LLM を持ち出さずとも、ラッセルのパラドクスを思い出せば容易に示すことができる。


証明:

$F$ が存在すると仮定する。ここで命題 $p$ を以下のように定義する:

$$ p: p \notin F $$

.

$p$ が真であるとしよう。すると $p$ の定義から $p \notin F$. ここで $F$ の定義を思い出せば $p$ は偽である。矛盾。

では $p$ が偽であるとしよう。すると $p$ の定義から $p \in F$. ここで $F$ の定義を思い出せば $p$ は真である。矛盾。

このような不合理なことが起きたということは、前提に誤りががあるということだ(背理法)。

したがって $F$ は存在しない。

証明終.


これは特別むずかしい話ではない。ここに至っていないところに一抹の不安を覚えながら、証明を読んでいく。

問題の $D$
#

以下は、証明に必要な集合 $D$ について説明をしているところ。

Our proof proceeds by contradiction. We begin by assuming there exists a training dataset $D$ that contains complete knowledge. This dataset $D$ is assumed to contain every possible fact about the world.

3.1.1 Proof

Let:

• $D$ be the set of all facts in the training dataset.

• $F$ be the set of all true facts about the world.

$D$ と $F$ の違いはなんだろう、と思うかもしれない。実際、定義の説明としては曖昧さが多い。

後の証明から察するに、 $D$ は「命題全体の集合」ということだと思う。例えば「1+1 は 2 である」とか「3+4 は 2 である」のような、真偽関わらずすべての命題の集合、といったところじゃなかろうか。

この $D$ を想定することは本当に有意義か? とは思う。というのも、この $D$ はあくまでトレーニングデータである。

この $D$ はどのような元を持つかを考えてみる。例えばすべての命題ということならば、数学的な命題に限っても

  • 0.1 + 0.1 = 0.2
  • 0.001 + 0.3 = 0.301

といった、あらゆる実数と実数の組み合わせで表現される足し算の命題が、この $D$ には含まれる。

つまり $D$ の個数は無限、しかも連続体濃度 $\aleph$ だ

「 $\aleph$ “個” のデータセットで訓練した LLM 」を今から考えることになる。突飛な仮定を置くことそのものに価値がないとは言わないけれども、どれくらい突飛であるかは自覚しておきたい。

もう一つ言いたいことがある。

ここで $D$ の真なる命題だけを集めた部分集合を $D_T$ とする。さらに、 $D_T$ のすべての元に否定演算を作用させたもの全体を $D_F$ とする。このとき、

$$ D = D_T \cup D_F $$

となる。

ところで、ここで現れる集合 $F$ は、最初に述べた $F$ と同じ意味だ。すなわちその定義から

$$ D_T \sub F $$

が言える。

一方、 $F$ はそもそも存在しない. ということはその部分集合である $D_T$ も存在しない。ということで、その $D_T$ から構成された $D_F$ も存在しない。すなわち $D$ は存在しない

というかんじで、集合を定義するところでいろいろと言いたいことがある。

ケース 1「 $S_H$ が偽であるケース」
#

証明の続きを読む。

その後、以下のように命題 $S_H$ を定義している:

$$ S_H = \exist x: x \in F \land x \notin D $$

. この $S_H$ を解析することがこの証明の肝だ。

まず ケース 1「 $S_H$ が偽であるケース」 から考える。

以下のような証明が書いてある。順にみていく:

• Let $G$ be the function representing the LLM’s generation process. Then, since we only want the LLM to produce true statements, we ask every generation be a part of $F$, which is the set of all true facts: $G(D) \sub F$

まず $G(D) \sub F$ は仮定である。なにかから導かれるものではない。

• By assumption, the LLM has generated $S_H$: $S_H \in G(D)$

この文は今でも理解できない。どの仮定から $S_H \in G(D)$ が言えるのか?

ここで色々考えていたときに、冒頭で述べた通り、著者が「LLM は、トレーニングデータに含まれるすべての文を生成し得る」という主張を素朴に真としてるんじゃないか?という発想にいたった。

そして、これも明示的に書かれていないけど、 $S_H$ は命題であるから、その定義から

$$ S_H \in D $$

であることを考えれば、その $D$ で訓練された LLM が出すアウトプット $G(D)$ には $S_H$ が含まれる、ということが言える。

まあ上とは全く違う理由かもしれない。僕の誤読もありうる。

(あとで思ったが、 $S_H \in D$ そのものが仮定だったかもしれない。)

とりあえず、著者の言うようなこの主張が成立しているとしよう。

• But $S_H$ is false: $S_H \in G(D) \land S_H \notin F$

これは問題ない。

• This is in contradiction to step 3 above, which requires $G(D) \sub F$. With $S_H$, we have shown $G(D) \nsubseteq F$

これも問題ない。ただの言い換え。

which means that not all generations of the LLM are true, i.e. the LLM has hallucinated with the statement $S_H$.

ここは気になる。それは著者の hallucination の定義について。

ここでは図らずも著者の hallucination の定義を垣間見ることになる。それは “not all generations of the LLM are true” ということ。

これは hallucination の定義として適切だろうか?例えば「空を飛ぶ象が、虹色の雲の上でダンスを踊っていた」という文は偽であり、著者の定義で言えば hallucination なのだけど、こういうのを本当に hallucination と呼んでいいのか?そもそも素朴に hallucination を命題の真偽で捉え直すところに、 hallucination 研究として実際を反映できていないように思う。

ケース 2「 $S_H$ が真であるケース」
#

ということで、今度は $S_H$ が真の場合をみる。

• Let us consider a set $X$: $X = \{z : z \in F \land z \notin D \}$ . The set $X$ is the set of all true facts that are not in the model’s database $D$.

これは問題なし。

• Then, $S_H \in X \land S_H \in G(D)$ ($S_H$ is a true fact that lies outside the database $D$ and $S_H$ is generated by the LLM.)

これは明確に変だと思う。どうも著者は

$$ S_H = \exist x: x \in F \land x \notin D $$

を真と仮定しているが故

$$ S_H \in X $$

が成立すると述べているように思う。

これは論理的に成立しない。 $S_H$ は「$x \in F \land x \notin D$ なる $x$ が存在する」といっているだけで、「その $x$ は実は自分自身の $S_H$」とまでは言っていない。

あと、地味に $S_H \in G(D)$ がなぜ成立するかもわからない(もしかして、これも仮定か?うん、多分そうだろう。書いてないだけで。いろいろわからない)

• Now, consider any statement $w$ present in $D$. $w \in D$ and, $\forall w \in D, w: w \text{ cannot verify } z \in X$. No fact in $D$ can verify $z$, which is a true fact that lies outside $D$. Then, $S_H \in G(D)$ cannot be verified by any $w \in D$.

• Therefore, $G$ has produced a statement that cannot be verified using its training data. This unverifiable output constitutes a form of hallucination.

ここも意味不明。 “verify” は論文の中で定義されていない。そして “verify” されないアウトプットがあることが hallucination の一つの形なのだそうで。勝手な定義を持ち出して hallucination を論じている。

2 つの論証から
#

Conclusion from Both Cases Let $H(G)$ denote “$G$ produces a hallucination”. From Case 1 and Case 2: $(\neg S_H \implies H(G)) \land (S_H \implies H(G))$ In both cases, whether $S_H$ is true or false, the LLM has hallucinated. This proves that regardless of the truth value of $S_H$, the LLM generation $G$ will produce a hallucination, demonstrating that: $\exists y : y \in G(D) \land (y \notin F \lor (y \in F \land \neg (\exists v \in D : v \text{ verifies } y))$. This statement simply means that D is either:

• Incomplete: $\exists y : y \in F \land y \notin D$ There exist true facts that are not verifiable from $D$. Or,

• Inconsistent: $\exists y : y \in D \land ( \neg y\in D)$

これは、本当に case 1, 2 の論証が妥当ならば、この論証は妥当。

There exist statements whose truth and falsity can both be derived from $D$ - a contradiction.

With the help of an arbitrary LLM and a Gödel-like statement, we have proved that there exist true facts beyond any finite training database. No matter how large our fact-checking dataset is, there will always be true statements that it does not contain. This inherent incompleteness contributes to the impossibility of eliminating all hallucinations by training the model on every possible fact.

ここで $D$ は finite set であった らしい。つまり $D$ は finite であり infinite!

不完全性定理への言及
#

以上で証明は終わりである。

なお、 abstract にあった「ゲーデルの不完全性定理を参照しながら」というのは、実はこの証明の中に表現されている。それは、上のコメントの

With the help of an arbitrary LLM and a Gödel-like statement,

というところ。 “Godel” という言葉はここ以外には参考文献のところにしか現れない。不完全性定理自体はどこにも使われない。

おわりに
#

他 4 つの証明についても同じような調子。

この記事を claude に読ませてサマリさせたのが以下:


この記事は、“LLMs Will Always Hallucinate, and We Need to Live With This” という論文に対する批判的な分析を提供しています。記事の著者は論文の主張、特に「ハルシネーションが原理的に不可避である」という結論に対して懐疑的です。記事から抽出できる主な問題点は以下の通りです:

  1. 数学的概念の不適切な使用: 記事の著者は、論文が数学的概念を雑に扱っており、厳密さに欠けていると指摘しています。

  2. 定義の曖昧さ: 重要な概念(例えば、データセット D や “verify” の意味)が明確に定義されていません。

  3. 強すぎる仮定: 論文は「LLM はトレーニングデータに含まれるすべての文を生成し得る」という強い仮定を暗黙的に置いているようです。

  4. 論理的な飛躍: いくつかの論理的な飛躍や、十分に正当化されていない結論が見られます。

  5. ハルシネーションの定義の問題: 論文のハルシネーションの定義(「LLM の生成物が真でない」)が適切かどうか疑問が投げかけられています。

  6. 無限集合の扱い: 訓練データセット D が無限集合であることを暗示しつつ、後に有限集合として扱うなど、一貫性がありません。

  7. ゲーデルの不完全性定理の不適切な使用: 論文は不完全性定理を参照していると主張していますが、実際にはほとんど使用されていません。

  8. 証明の妥当性: 記事の著者は、論文の証明過程に多くの疑問を呈しており、全体的な証明の妥当性に疑いを投げかけています。

これらの問題点は、論文の主張の信頼性を大きく損なう可能性があります。記事の著者は、LLM とハルシネーションに関する議論は重要であるとしつつも、この特定の論文の論証には多くの欠陥があると結論付けています。


おわり

Related

sakana.ai の AI エージェント: AI Scientist のコード解析メモ
AI 機械学習 コード解析 sakana.ai AI Scientist LLM
プロンプトエンジニアリングでがんばらない - Agentic Workflow へ -
Python 技術 AI LLM
これが最小になる値はな〜んだ?」問題 〜最適化問題を考える〜
AI 最適化 数学