そもそも大規模言語モデルとは?
大規模言語モデル(LLM)は、人工知能(AI)技術の中でも特に注目を集める存在だ。ChatGPTやGeminiなどを通じて、一般ユーザーにも広く知られるようになった技術だが、その内部構造は複雑で、開発者でさえ完全には理解できていない部分がある。
LLMの基本的な仕組みを理解するには、「トランスフォーマー」と呼ばれるアーキテクチャを知る必要がある。トランスフォーマーは2017年にグーグルの研究チームが発表した技術で、「自己注意機構(Self-Attention)」を中心に構築されている。この自己注意機構により、AIは文章中の各単語が他の単語とどのように関連しているかを把握し、文脈を理解できるようになった。
トランスフォーマーは主に「エンコーダー」と「デコーダー」という2つの部分で構成される。エンコーダーは入力されたテキストを理解し、特徴を抽出する役割を持つ。一方、デコーダーはエンコーダーから得た情報を基に、最終的な出力を生成する。
この過程で重要なのが、テキストデータの「ベクトル化」だ。これは、言葉や文章をAIが処理できる数値の集まり(ベクトル)に変換することを指す。
たとえば、「cat(猫)」という単語は、[1, 0.9, 0.2, 1]といった数値のベクトルに変換できる。この数値は、「動物である度合い」「ペットとしての度合い」「大きさ」「音を出すかどうか」といった特徴を表現している。
同様に、以下のように他の単語もベクトル化できる。
「dog(犬)」:[1, 1.0, 0.4, 1]
動物:1(犬は動物)
ペット:1.0(非常に一般的なペット)
大きさ:0.4(猫よりは大きい)
音:1(犬は吠える)
「car(車)」:[0, 0, 1.0, 0]
動物:0(車は動物ではない)
ペット:0(ペットではない)
大きさ:1.0(犬や猫よりもはるかに大きい)
音:0(ここでは車が「鳴く」ことはないと仮定)
トークン化のプロセスを経て文章全体もベクトル化することが可能だ。たとえば、「The cat sat on the mat.(猫がマットの上に座った。)」という文は、[1, 0.9, 1.2, 1]のようなベクトルに変換することが可能となる。これは、文中の各単語のベクトルを組み合わせて生成される。
このベクトル化により、AIは単語や文章の意味を数学的に処理できるようになるのだが、実際にLLMが扱う次元数は数千に上り、処理過程が非常に複雑化し、AIの意思決定プロセスが不透明になることが問題視されているのだ。
特に問題となっているのが「ハルシネーション」だろう。これは、AIが存在しない情報を生成してしまう事象を指す。ハルシネーションが起こる主な原因として、トレーニングデータの偏りや不完全さといった外的要因が指摘されるが、モデルの内部表現の不確実性、次元数の制限、推論時の確率的な予測、文脈不足や誤解など内的要因も無視できないものとなっている。
大規模言語モデルに関する課題、層・パラメータ数とブラックボックス化
大規模言語モデル(LLM)の複雑さは、その内部構造を見れば一目瞭然だ。メタが開発したLlama 3の構造を見てみたい。
AI企業CognitiveLabのアディトヤ・S K氏の分析によると、Llama 3は32の層から構成されている。これは、人間の脳の神経層のような役割を果たす複数の処理ステージを意味する。各層には複数の重み行列が存在するが、これらは情報の重要度を調整する数値の集まりだと考えることができる。
パラメータ数も膨大だ。Llama 3の8Bモデルは、約80億3,000万のパラメータを持つ。これは、Llama 2の7Bモデル(約67億3,800万パラメータ)と比べて約19%多い値となる。この増加の主な要因は、語彙サイズの拡大(3万2,000から12万8,256へ)と、MLP(多層パーセプトロン)次元の拡大(1万1,008から1万4,336へ)だという。
これほど複雑で巨大なモデルの内部で何が起きているのかを完全に理解するのは、極めて困難となる。
モデルの複雑さ、層をまたぐ情報の流れ、ニューロンの活性化とその意味、学習プロセスの非線形性、予測の説明困難性など、様々な要因が絡み合って、モデルの内部動作を不透明にしているのだ。
たとえば、ある入力に対してモデルが出力を生成する際、過去に学習した膨大なデータとパターンを基に予測を行うが、そのプロセスは多くの要因が絡み合っており、個々の出力がどのように決定されたかを一つ一つ追跡するのは非常に難しい。
この「ブラックボックス」問題は、AIの安全性と信頼性に関わる重要な課題。現在、多くの企業がこの問題の解決に向け取り組みを加速している。
グーグルの試み「Gemma Scope」
LLMのブラックボックス問題解決に向けた取り組みの1つが、グーグル・ディープマインドの「Gemma Scope」だ。
これはグーグルのオープンソースモデル「Gemma2」の全層と下位層に対して400以上のスパースオートエンコーダー(SAE)を提供する仕組みで、LLMの意思決定プロセスを透明化するツールセットとなる。SAEとは、大量のデータを少数の重要な特徴に圧縮する技術だ。Gemma Scopeは、これにより3,000万以上の学習済み特徴を表現しているという。
SAEの役割をより分かりやすく説明すると、LLMの各層で生成される膨大な数値データ(活性化値)を、人間が理解しやすい形に要約する作業だと言える。たとえば、「猫」という単語に対して、LLMの中で100万個の数値が生成されたとすると、SAEはそれを「毛皮がある」「4本足」「ひげがある」といった数十個の特徴に圧縮する。
言い換えると、LLMが100万語の言葉で「猫」を説明しようとするが、人間にはそれが理解できない。そこで通訳者(SAE)が介入し、その100万語の説明を「毛皮がある」「4本足」「ひげがある」といった、人間が理解できる数十個のキーワードに要約するということだ。これにより、AIがどのような情報に注目して判断を下しているのかを、研究者たちが把握できるようになる。
Gemma Scopeに関する特筆すべき点は、「JumpReLU SAE」と呼ばれる新しいアーキテクチャを採用していることだろう。これは、各特徴の存在を検出しつつ、その強度(重要度)も推定できる仕組み。従来のSAEでは、特徴の検出と強度の推定を同時に行うのが難しかったが、JumpReLUはこの問題を解決し、より精密なAIの解析を可能にしたのだ。
料理の例を使って説明してみたい。
従来のSAEは、料理の材料を見つけることはできても、その量を正確に測ることが難しかった。たとえば、「スープに塩が入っている」ことは分かるが、「どのくらいの量の塩が入っているか」を正確に知るのは困難だった。
JumpReLU SAEは、この問題を解決する。料理でいえば、材料(特徴)を見つけると同時に、その量(強度や重要度)も正確に測れるようになったのだ。つまり、「スープに塩が入っている」だけでなく、「小さじ1杯の塩が入っている」というように、より詳細な情報を得られるようになったのだ。
この進歩は、AIの動作をより深く理解し、その振る舞いを予測したり制御したりする上で、大きな一歩と言えるだろう。
Gemma Scopeの公開により、LLMの挙動研究が加速することが期待されている。モデルのハルシネーション対策や、自律型AIエージェントによる欺瞞や操作のリスク軽減などに貢献する可能性がある。
この領域では、生成AI市場のトッププレイヤーであるOpenAIやAnthropicも独自の研究を進めている。AIモデルのハルシネーション対策や挙動制御などが可能となれば、市場での優勢を確保できるからだ。今後どのようなツールやアプローチが登場するのか、非常に気になるところだ。
文:細谷元(Livit)