LLMは世界の知識を内部にどう刻んでいるのか:乾健太郎氏が語る内部機序研究の現在地
国立情報学研究所 - National Institute of InformaticsMBZUAI(アブダビのムハンマド・ビン・ザイード人工知能大学)教授の乾健太郎氏は、国立情報学研究所のサイバーシンポジウムで「LLMは何をどのように記憶しているか」と題して講演した。乾氏は3年前に東北大学からMBZUAIへ移り、東北大学などにも籍を残しながら3拠点で自然言語処理の研究を進めている。講演では、LLMの内部で知識がどのような構造として表現されているかについて研究がどこまで進んでいるかを紹介した。乾氏の立場は、内部に規則的な知識表現が見つかりつつある一方で、それを読み取れることと、制御や信頼性の担保につなげられることの間にはまだ大きな隔たりがある、というものである。
ベンチマークの数字だけでは「理解」は分からない
乾氏は出発点として、LLMが多くのベンチマークで人間並み、あるいは人間を超える性能を示しているという、広く報告されている状況を挙げた。そのうえで、テストに正解できることと実際に理解していることは必ずしも同じではないと指摘する。評価に使ったデータがどこかから漏れていたり、問題と答えの組そのものをモデルが丸覚えしていたりすることが起こり得るからである。乾氏によれば、モデルやデータが大きくなるほど、こうした問題は避けにくくなる。したがって性能評価の数字を見るだけでは、LLMが何をどう理解しているのかは十分に分からない。これが講演の出発点だった。
言葉が分かるとはどういうことか:洗濯物の例
では、言葉が分かるとはどういうことなのか。乾氏は20年来使い続けているという例文「庭に洗濯物を干した途端に雨が降ってきた」を示した。
この文を聞いたとき、人の頭の中では少なくとも3つのことが起きていると乾氏は説明する。1つ目は常識的な知識の想起である。洗濯物を干すのは乾かすためであり、洗濯物が乾くには晴れていなければならない、といった知識が呼び出される。2つ目は、その知識を使った話の再構成である。洗濯物を干したが雨が降ってきたので乾かなかった、だからやり直さなければならない、という道筋を組み立てる。3つ目は行間を読むことである。文には書かれていない「がっかりした」という気持ちまで受け取る。
言語理解にはいろいろな側面があるが、最終的にはこの3つが本質だと多くの人が考えており、自分もそう考えている、と乾氏は述べた。そのうえで、LLMの中に、世界についての知識を持ち、それを使って話を再構成し、シミュレーションや予測を行う仕組みがあるのか、あるとすればどこにどのようにできていて、ボトルネックはどこにあるのかを問う。これを明らかにすることが、言語モデルが言語を、あるいは言語を通じて世界を理解しているのかという問いに答えを与えていく道だ、というのが乾氏の考えである。
生まれ年は内部に「数直線」として並んでいる
最初の問いは、LLMが世界の知識をどこにどのように記憶しているか、である。例として取り上げられたのは有名人の生まれ年だった。LLMはバラク・オバマやアインシュタインが何年に生まれたかを正しく答えることができる。
LLMは入力を内部でベクトルに変換し、その上に計算を重ねていく。研究では、この内部表現のベクトルから生まれ年の情報を読み出すことを試みた。その結果、生まれ年の情報がLLM内部のある構造の中に、いわば数直線のような形できちんと並んで刻まれていることが分かったという。有名人一人ひとりの表現を点として2次元に落とし込むと、生まれ年の古い人から新しい人へ向かって、点が滑らかな1本の線の上に並ぶ様子が見られた。
乾氏によれば、こうした構造は生まれ年に限らない。人口や緯度・経度といった数値属性についても、同様の構造が見つかっている。
構造を書き換えると答えが変わる:介入実験
数値の構造が内部に数直線のような形で存在することは見えた。しかし、その構造がLLMが実際に答えを出すときに使われているかどうかは別の問題である。これを確かめるため、見つかった数直線に沿って内部表現のベクトルを実際に書き換える介入実験を行った。
例として挙げられたのはカール・ポパーである。ポパーの生まれ年は1902年だが、内部の記憶部分を数直線上で生まれ年の方向にずらしていくと、同じ質問に対してモデルが後ろにずれた年を答えるようになった。逆方向にずらすと、1681年のように前の年を答えた。
乾氏はここから、少なくともこの例では、見つかった構造をいじると実際の出力もそれに応じて変わるので、その構造は単なる副産物ではなく、LLMが答えを出す際に使われている、少なくとも関わっていると言える、と述べた。数値属性の知識の少なくとも一部については、内部にきれいな構造があり、それが出力にも関わっていることまで確認できた、というのがここまでの到達点である。
知識の種類ごとに異なる「形」がある
数値以外の知識はどうか。乾氏は、知識の種類によって内部表現の形が異なることが分かってきていると紹介した。点のようにまとまっているもの、先ほどの数直線、曜日のように輪になっているもの、さまざまな関係の対になっているもの、階層になっているものなどである。乾氏は細部には立ち入らず、そのうち2つの例を紹介した。
名前の曖昧さと表記揺れ
1つ目は、名前にまつわる曖昧さと表記の揺れである。「オバマ」と言われたとき、それが誰を指すかは文脈によって変わる。バラク・オバマかもしれないし、別の人物かもしれない。逆に、同じ人物でも「バラク・オバマ」と呼ばれることもあれば、別の呼び方をされることもある。
LLMの内部表現を取り出して調べたところ、人物や組織といったエンティティに関する知識は、比較的少ない次元、つまり簡単な空間の中にうまく埋め込まれていることが分かってきたという。同じ名前の別人はその空間の中で離れた位置にあり、同じ人物の別の呼び方は近くに来るように整理されていた。乾氏はこれを、名前の曖昧さと表記揺れという世界の側にある構造と、LLMの内部表現の構造が、ある程度対応していることを示すものだと説明した。
概念の上位・下位関係
2つ目は概念の階層である。「動物」という上位概念の下に「鳥」や「哺乳類」といった下位概念がある。こうした階層概念を調べると、内部ではやはり規則的な構造を持っていることが分かってきた。具体的には、低次元の線形な部分空間、つまりシンプルな形の空間の中に階層関係がまとまって現れる。さらに乾氏が興味深い点として挙げたのは、場所の階層や人物の階層など、意味の領域が異なる階層が、似たような構造のパターンで表現されていることである。
分かってきたこと、まだほとんど分かっていないこと
乾氏はここまでを整理し、人物や組織のようなエンティティ、単純な事実関係、生まれ年のような数値情報、上位・下位関係のような階層的な分類については、内部の規則的な構造が徐々に見つかってきていると述べた。
一方で、ほとんど分かっていないこともまだたくさんある。乾氏が挙げたのは次のような知識である。
- 「インフルエンザにかかると熱が出る」のような条件・因果関係
- 「〜はドイツの人ではない」のような否定や反事実的な情報
- 「鳥は飛ぶがペンギンは飛べない」のような例外を伴う一般則
- コーヒーの入れ方のような手順や行為についての知識
冒頭の洗濯物の例が示すように、こうした複雑な知識こそが言語の理解や世界の理解に必要だと考えられる。しかし、それらが内部でどう表現され、どう使われているのかはまだほとんど分かっていない、というのが乾氏の示した現状である。
読み取ること(プロービング)と制御すること(ステアリング)の隔たり
乾氏がもう1つの重要な点として強調したのは、内部表現を読むこと(専門的にはプロービングと呼ぶ)は比較的やりやすいが、その表現を使ってモデル全体の振る舞い、例えば答えを制御すること(ステアリング)は、読むこととは別次元で、はるかに難しいということだった。
生まれ年の例のように一部の限られたケースでは制御できるが、乾氏によれば、この単純な例でさえ本当はあまりきれいには制御できていない。逆方向に動かしても、時代がそれほどきれいに遡っていかないという。内部表現を操作してモデルの振る舞いを変えられるところまで内部表現をきちんと理解できている、という段階にはまだ全然達していない、と乾氏は述べた。
「おばあちゃんニューロン」の教訓
ここで乾氏は神経科学の教訓を引いた。初期の神経科学では、1つのニューロンが1つの概念に対応していることを示すような、いわゆる「おばあちゃんニューロン」の結果が数多く報告され、熱狂的に受け止められた。単純で分かりやすく魅力的な考え方だったが、後になって、それは過剰な単純化だったというのが現在のコンセンサスになっている。
乾氏は、LLMの内部機序の研究も同じ罠にはまっているかもしれないと警告する。見つけやすく説明しやすい構造だけを見ている可能性がある、ということである。読み取れることと制御できることは別だ、という点を乾氏は改めて強調した。
内部が少し見えても信頼性は保証できない
これが具体的に何を意味するのか。乾氏の要点は、内部が少し見えてきた程度では信頼性を十分に保証できない、ということである。例えば、内部表現を見て誤った答えを確実に見分けることは、まだ本当に難しいことが分かってきている。内部表現を通じて知識を修正することも難しく、内部表現を操作して安全対策を施すといったこともまだなかなかできていない。
さらに根本的な問題として、内部機序をどこまで理解できれば十分と言えるのかについて、しっかりした理論がまだない。乾氏は、この点について理論的な研究と経験的・記述的な研究の両面を進めていく必要がまだまだあると考えている。
教育の現場への示唆と講演の結論
では、例えば教育の現場でAIについて何をすべきか。乾氏がポイントとして挙げたのは、もっともらしい説明ができることと、モデルが本当に理解しているかどうかは同じではない、ということを改めて確認しておく必要があるという点である。内部機序の研究は、どこでAIを信頼してよく、どこでは出典の確認や人間による検証が必要なのかを明らかにするための基盤を作る研究だと位置づけてほしい、と乾氏は述べた。
乾氏は講演を次のようにまとめた。LLMの内部には規則的に整理された知識表現があり、少なくともその一部は実際に答えを出すために使われている。ただし解明できたのはまだごく一部であり、さらに研究を進める必要がある。そして、内部表現を読み取れることと、それを安定して制御したり信頼性の担保につなげたりすることの間には、まだ大きな隔たりがある。これが講演のメッセージとして示された。
皆さん、こんにちは。今アブダビから接続しております乾と申します。アブダビのMBZUAIという大学、これは人工知能の世界で初めての人工知能の専門の大学に、3年前に東北大から移りまして、今そちらで拠点を置いて活動しております。東北大、理研にも席を残しながら、今3拠点で自然言語処理の研究を進めております。ちょっと待ってください。
本日は「LLMは何をどのように記憶しているか」というタイトルでお話ししたいと思います。副題にありますように、LLMの内部機序の解明が今どこまで進んでいるか、その一部をお話ししたいと思います。どうぞよろしくお願いいたします。
まず、お話の出発点ですけれども、これはいろんな方々が報告されていると思いますが、LLMも今、多くのベンチマークで人間並みあるいは人間を超えるようなパフォーマンスを示していると。こうしたグラフがたくさん生産されています。一方で、テストに正解できるかということと、実際に理解しているかということは、必ずしも同じではないと。評価に使ったデータがどこからか漏れていたり、個体そのものを丸覚えしてしまったりということも起こり得るわけです。モデルが大きくなればなるほど、データが大きくなればなるほど、こうした問題をなかなか避けることができない。つまり性能の評価の数字を見ているだけでは、LLMが何をどう理解しているかということは十分に分からないということであります。これが本日の出発点です。
では、そもそも、例えば言葉で言えば、言葉が分かるということはどういうことなのか、少し具体的な例で考えてみたいと思います。これはもう20年ずっと使っている同じ例なんですけれども、「庭に洗濯物を干した途端に雨が降ってきた」。これを聞いた時に私の頭の中では何が起こっているかと。もちろんいろんなことが起こっていると思うんですけれども、重要なこととして、洗濯物を干すというのはどういうことなのか、それは乾かすためだとか、洗濯物が乾くには晴れていないといけないとか、そうした常識的な知識を色々想起する。それから、そうした知識を使って、話の中身を再構成すると。洗濯物を干した、でも雨が降ってきた、だから乾かなかった、というような、やり直さないといけないというような道筋を再構成すると。そして最後に、実際には語られていない、がっかりしたという気持ちまで、行間として受け取ると。
私たちはこの、知識を思い出して、話を再構成して、行間を読むという3つを、ごく自然にやっている。言語を理解するということはいろんな側面を持っているわけですけれども、最終的に、究極的には、これが本質だという風に多くの人が考えていると思いますし、私も考えております。
では、このLLMは、この1、2、3をやるための何かを実際に持っているのかと、実際こういうことができているのかと。世界についての知識を持って、それを再構成してシミュレーションをする、あるいは予測するというような、そういう仕組みがLLMの中にあるのか、もしあるとすれば、それはどこに、どのようにできていて、あるいはそのボトルネックはどこにあるのか。それを明らかにすることが、最初の、言語モデルが言語を理解しているか、あるいは世界を言語を通じて理解しているのかということに対する答えを与えていくという風に考えています。こうした手がかりで、LLMの内部を少し見ていきたいと思います。
最初の問いは、LLMは世界の知識をどこにどのように記憶しているかということで、例として有名人の生まれ年を取り上げますと、例えばバラク・オバマが何年に生まれたかとか、アインシュタインは何年に生まれたかというような、その有名人について、その生まれ年を正しく答えることができます。それぞれの入力を、LLMは内部でベクトルに変換して、その変換したベクトルに計算を重ねていくわけですけれども、そうした内部表現から生まれ年の情報を読み取る、読み出すということを考えます。内部はベクトルでして、そのベクトルからそれぞれの生まれ年を読み出すような回帰をすると。
そうすると、生まれ年の情報が、このLLMの内部のある構造の中に、いわば数直線のような形で、きちんと並んで刻まれているということが分かりました。この1点1点はそれぞれ有名人の表現なんですけれども、これを今2次元の軸に落とし込んだ時に、生まれ年の古い人から新しい人に向かって、滑らかな1本線に並んでいる様子が分かります。こういうことは、生まれ年の話だけではありません。人口とか標高とか、緯度経度などについても、同様の構造が見つかっております。
数値の構造が、一応数直線のような形で内部にあるということは見えたわけですけれども、その構造が本当にLLMが実際に答えを出す時に使われているのかというのはまた別の問題です。これを確かめるために、例えば先ほど捕まえた内部表現、この数直線を、実際に内部で書き換える、ベクトルをその数直線に沿って書き換えるということをやります。そうした介入実験をやるわけですね。LLMの内部にある先ほどの記憶の部分を、数直線に沿って生まれ年の方向にずらしますと、例えば元々カール・ポパーの生まれ年は1902年なわけですけれども、それがだんだん後ろの方にずれていくと、同じ質問に対して違う答えをモデルが出すようになります。逆の方にずらすと、1681年のように前にずれます。
つまり少なくともこの例では、見つかった構造をいじると、それに応じて実際の出力も変わってくる。このことから、見つかった構造が単なる副産物ではなくて、実際にLLMが答えを出す際に使っている、少なくとも関わっているということが分かります。ここまでで、数値属性の知識については、少なくとも一部については、内部に綺麗な構造があって、それが出力にも実際に関わっているということまで確認できました。
この数値については内部が見えてきたわけですけれども、では他の種類の知識はどうかと。こちらにいくつか例を挙げましたけれども、点のようにまとまっているものとか、先ほどの数直線とか、曜日のように輪になっているようなものとか、様々な関係の対ですね。それから階層になっているようなもの。細かいことは言いませんけれども、それぞれの知識の種類ごとに、それぞれ異なる形というのが見つかってきています。このうち2つの例だけ紹介します。
1つ目は、名前にまつわる曖昧さと表記の揺れの話です。オバマと言われた時に、それが誰を指すかというのは文脈によって変わる。バラク・オバマかもしれないし、他の人物かもしれない。逆に、同じ人物であっても、バラク・オバマと呼ばれることもあれば、別の呼び方をされることもある。これを調べたところ、先ほどのようにLLMの内部表現を取り出して調べていくわけですけれども、こうしたエンティティ、人物とか組織に関する知識は、比較的少ない次元、つまり簡単な空間の中にうまく表現されている、埋め込まれているということが分かってきています。
同じ名前の別人は、その空間の中で離れたところにあって、同じ人物の別の呼び方は近くなるように、内部で整理されているということが分かってきました。つまり名前の曖昧さと表記の揺れという、世界の側にある構造と、LLMの内部表現の構造が、ある程度対応しているということであります。
2つ目は、概念の上位下位のような関係、階層です。動物という上位概念の下に、鳥とか哺乳類といった下位の概念があるわけですけども、こうした階層概念を調べてみますと、内部ではやはり規則的な構造を持っているということが分かってきています。具体的には、低次元の線形な部分空間、つまりシンプルな形の空間の中に階層関係がまとまって現れてくると。さらに興味深いのは、場所についての階層とか、人物についての階層とか、様々な意味の領域が違う階層が、似たような構造のパターンで表現されているということが分かってきています。
ここまでいくつか例を見てきましたけれども、一度整理しますと、分かってきたこととしましては、人物とか組織のようなエンティティ、それから単純な事実関係から、先ほどの生まれ年のような数値情報とか、上位下位関係のような階層的な情報、分類、こうしたものについては、内部に規則的な構造が徐々に見つかってきています。
一方で、ほとんど分かっていないこともまだまだたくさんありまして、例えばインフルエンザにかかると熱が出るというような条件・因果関係。やっぱりはドイツの人でないというような、否定とか反事実的な情報。鳥は飛ぶけれどもペンギンは飛べないというような一般則。それからコーヒーの入れ方のような、手順とか行為についての知識。最初の洗濯物の例のように、こうした複雑な知識が言語の理解あるいは世界の理解に必要だという風に考えられるわけですけれども、こうしたより複雑な知識が内部でどう表現されていて、どう使われているかは、まだほとんど分かっていないというのが現状です。
それからもう1つ重要な点は、内部表現を読む、これを専門的にはプロービングと言いますけれども、これは比較的やりやすいということが分かっています。一方で、その表現を制御する、ステアリングと言いますけれども、その表現を使って、モデル全体の振る舞い、例えば答えを制御するというようなことは、読むこととは別次元で、はるかに難しいということも分かってきています。例えば先ほどの生まれ年のように、一部の限られた例ではできるんですけども、この単純な例でも、本当はあまり綺麗に制御できていないと。逆側に動かしても、そんなに綺麗に時代が遡っていかない。こんな風に、内部表現を操作してモデルの振る舞いが変わるようなところまで、内部表現をきちんと理解しているというところまではまだ全然行っていないということが言えると思います。
ここで、神経科学の1つの教訓が思い出されるわけですけれども、初期の神経科学では、おばあちゃんニューロンのような、1つのニューロンが1つの概念に対応しているということを示すような結果がたくさん報告されて、皆熱狂的に受け止めたわけですけれども、これは非常に単純で魅力的で、分かりやすいんですけれども、後になって、現在は、それは過剰な単純化だったということがもうコンセンサスとして得られています。実は私たちも同じ罠にはまっているかもしれません。つまり見つけやすくて説明しやすい構造だけを見ている可能性があるということです。読み取れることと、制御できることは別だと、この点を強調しておきたいと思います。
では、これが具体的に一体何が問題なのかと。重要なポイントは、内部が少し見えてきたぐらいでは、信頼性を十分に保証できないということです。例えば、誤った答えを内部表現を見て確実に見分けるということは、本当にまだまだ難しいということが分かってきています。知識を内部表現で修正するというようなこともなかなか難しいですし、何か安全対策を、この内部表現をいじってやるというようなことも、まだまだなかなかできていないと。問題は、内部機序をどこまで理解できれば十分と言えるのかということ自体について、まだしっかりした理論がないということで、この辺り、理論的な研究と、経験的、記述的な研究の両面を進めていく必要がまだまだあるんだという風に考えています。
じゃあ私たちは何をすべきかと、例えば教育の現場では何をすべきなのか。実のポイントは、もっともらしい説明ができるということと、モデルが本当に理解しているかどうかということは同じでないということを改めて確認しておく必要があるということであります。内部機序の研究というのは、どこでAIを信頼してよく、どこでは出典の確認とか人間の確認・検証が必要なのかということを明らかにするための基盤を作るような研究なんだ、という位置づけなんだという風に考えていただければ良いかと思っております。
ということで、まとめはこんな感じなんですけれども、1点目は、LLMの内部には規則的に整理された知識表現があるということですが、少なくともその一部は実際に答えを出すために使われているんだと。ただし、解明できたのは本当にまだ一部で、もっとやっていく必要があるということで、読み取れることと、それが安定して制御できたり、あるいは信頼性の担保につながっていくというようなことの間には、まだ大きな隔たりがあるということを、この講演のメッセージとして締めくくりたいと思います。ご清聴いただきありがとうございました。
記事公開
