【基礎講座】
AIは何を見て、何を捨てるか
(トランスフォーマーの注意機構と抽象)

関連記事

1. 生成AIは「全知全能」ではない

NotebookLMに大量のドキュメントを入れて「これで何でも聞ける」と期待した経験がある方は多いでしょう。

1. 生成AIは「全知全能」ではない

たとえば、社内資料を丸ごと読み込ませれば、必要なときに何でも引き出せる知識ベースができる。
そう考えるのは自然なことです。
ただ、使い続けると期待したほど精度が出ない場面に必ずぶつかります。
その理由が、これから説明するAIの動き方にあります。

検索もクラウドストレージも翻訳も、ユーザーから見れば「情報がどこかにあって、必要なときに出てくる」仕組みに映ります。
しかし、その仕組みの中心にあるAIは、情報を全部持っていて全部出してくる装置ではありません

SFのAI像は「全情報を保持し、計算で答えを弾き出す中枢」です。

しかし、実際の生成AIは構造が違います。
学習データから統計的なパターンを抽出して重みに保持し、回答を生成するときに今の文脈を加えて尤もらしい出力を作ります。
「知っているから返せる」のではなく、学習したパターンと現在の文脈から確率的に回答を組み立てる設計です。

1.1. 大規模なのは学習の揺籃

大規模な計算資源が集中するのは、学習の段階です。

1.1. 大規模なのは学習の揺籃

数千から数万のGPUが連携して未学習のモデルにデータを繰り返し流し込み、重みを更新します。
この処理が終わると、LLMは学習済み重みとして保存されます。
その重みを複製して複数の配備サーバに置き、世界中から届くプロンプトに応答します。
推論にも相応の計算資源は必要ですが、学習ほどの規模ではありません。
「LLMは膨大なデータを抱えた巨大サーバだ」という理解は、学習の揺籃(クレイドル)と配備後のサーバを混同したものです。

2. トランスフォーマーが「考える」とはどういうことか

現代のAIの多くは「トランスフォーマー(Transformer)」と呼ばれるモデルで動いています。

2. トランスフォーマーが「考える」とはどういうことか

言語などの並びを別の並びに変換する機械学習モデルです1
テキストを例にとると、入力された文章を「トークン(token)」という単語や文字の断片に分解し、それまでの文脈を参照しながら「次のトークン」を予測することを繰り返して回答を生成します2

2.1. 考えないことが大事

たとえば、将棋で全ての手を終盤まで読もうとすると、現実的な時間では終わりません。

2.1. 考えないことが大事

どんなに高性能なコンピュータでも、分岐の数が天文学的になるためです。
そこで将棋AIは「ここから先はどう考えても形勢が悪い」と判断した時点で、その先の読みを打ち切ります。
この操作を「プルーニング(pruning、枝刈り)」と呼びます3

考えないことで、限られた計算資源を有望な手筋に集中できます。
AIの賢さは、すべてを等しく処理する精密さにあるのではありません。
捨てるべき候補を早く見つけて、それ以上計算しない判断にあります。

2.2. 抽象化は「何を残すか」の決断

膨大な情報を前にしたとき、AIはその全てを等価に扱うことはできません。

2.2. 抽象化は「何を残すか」の決断

必要な特徴だけを取り出し、残りを捨てる。
この操作を「抽象化(abstraction)」と呼びます4

「情報を減らす」と言うと、単なる圧縮のように聞こえます。
実際には、次の答えを作るために何が必要で何が不要かを見分ける処理です。
答えに関係のない情報をいくら丁寧に保持しても、出力の精度は上がりません。
何を拾い、何を流すかを決めることが、トランスフォーマーの設計の核心にあります。

3. 注意が割り切った計算効率と並列処理

トランスフォーマーより前の主役は、RNN(Recurrent Neural Network)という逐次処理モデルでした。

3. 注意が割り切った計算効率と並列処理

文章を左から右へ一語ずつ読み進め、「隠れ状態」という一本のベクトルに文脈を積み上げていく構造です。
位置1の情報が位置100に届くには、途中を99回経由しなければならず、遠い位置ほど情報が薄まっていきます。
新しい単語が来るたびに黒板の記憶を書き直していくため時間もかかり、文の最初に書いたことほど後から読み返せなくなる構造で、長文を扱う限界がありました。

Self-Attentionはそのバケツリレーをなくしました。
全トークンを一度に並べ、任意の位置間の関係を直接計算します。
全単語を一覧表に並べて、どの単語とどの単語が関係するかを別々の人が担当する構造です。
位置1と位置100の関係も、位置1と位置2の関係も、一回の内積で出ます。
長距離の文脈依存が格段に精度よく扱えるようになった理由はここにあります。

ただし、系列長nに対してSelf-Attentionは全位置ペアを見るためO(n²)のコストを持ちます。
一方で、RNNは系列長に沿ってO(n)回の逐次ステップを避けられません。
Self-Attentionの強みは、計算量が小さいことではなく、この逐次依存を外してGPU上で大規模に並列化できることにあります。

RNNは前のステップが終わらないと次を計算できないため、GPUの並列コアを遊ばせてしまいます。
Self-Attentionは全組み合わせを同時に投げられるので、大規模なGPUクラスタの性能を使い切れます。
計算量は増えたが、ハードウェアを最大限に活用できるようになった。
この割り切りが、大規模データセンターによるスケールアップを可能にしました。

3.1. 2倍の入力が2倍以上重い理由

ここで重要になるのが「コンテキスト長(context length)」、一度に参照できる文脈の長さです。

どんなに大量の情報を保持しているモデルでも、ある瞬間に答えを作るために参照できる範囲には上限があります。
その上限が、AIの実用的な性能を左右します5

トランスフォーマーの中心にある「自己注意機構(Self-Attention)」は、入力の中でどのトークンがどのトークンに関係するかを全組み合わせで計算します。

3.1. 2倍の入力が2倍以上重い理由

入力トークン数をnとすると、計算量はO(n²)になります6

入力が2倍になると、計算量は約4倍です。
「組み合わせが爆発する」という表現はここから来ています。
データを増やせばAIがそのまま賢くなるわけではなく、扱える範囲には物理的な制約があります。
この制約を無視してデータを詰め込もうとすると、処理が破綻します。

3.2. 事前学習とコンテキストは違う

LLMの知識がどこにあるかは、誤解されやすい点です。

3.2. 事前学習とコンテキストは違う

学習で得た知識は、重み(パラメータ)の中に圧縮されています。
コンテキストウィンドウはその外側にある作業台で、今の会話や追加情報を一時的に置く場所です。
事前学習で身につけた知識は、コンテキストを消費しません。

この構造は三層に整理できます。

  • 事前学習で膨大なテキストから言語のパターンや知識を重みに焼き込む。
  • コンテキストウィンドウで、今の問いに必要な文脈を扱う。
  • そして必要な情報がコンテキストに収まりきらない場合、外部データベースから関連情報だけを検索して補充するRAG(Retrieval-Augmented Generation)がある。

コンテキストはO(n²)の制約を受けるため、詰め込むほど計算コストが跳ね上がります。
必要な情報だけに絞りながら、足りない分はRAGで引いてくる。
事前学習・コンテキスト・RAGの三つを別物として扱うことが、現在のLLMを実用的に使いこなす上での基本的な見方です。

3.3. ドキュメントを詰め込むほど薄まる理由

NotebookLMはRAGの実装例の一つです。

アップロードされたドキュメントを検索して関連箇所をコンテキストウィンドウに渡し、その範囲で回答を生成します。

ドキュメントを増やすほど「知識が増える」と感じますが、実際の動きは逆です。
検索で引っかかる候補が増えるほど、コンテキストに渡される断片も増えます。
Self-Attentionはその全体の中から必要な部分を選ぶことになり、関係の薄い情報が混じるほど注意が分散します。

コンテキストはO(n²)の制約を受けるため、量が増えれば計算コストも跳ね上がる。
詰め込んだ量が精度の向上に直結しない理由がここにあります。

NotebookLMを使うなら、ドキュメントの量より範囲の絞り方が先に来ます。
問いに直接関係するものだけを渡す。
それがRAGを機能させる扱い方です。

4. 学習で「傾向」を埋め込む

社内情報そのものを「学習」にさせればよいと考えますが、それは大変です。

トレーニングの段階で、「こういう情報の使い方は良い」「こういう使い方は避けるべきだ」という方向をモデルに教えることができます。

4. 学習で「傾向」を埋め込む

「ファインチューニング(fine-tuning)」や「RLHF(Reinforcement Learning from Human Feedback)」がこれにあたります。
RLHFは、人間の評価者が出力に点数をつけ、その評価を使ってモデルの振る舞いを強化学習で調整する手法です7

全ての情報について正誤を一つずつ判定することは現実的ではありません。
出力例への評価を積み重ねることで、完全な正解表ではなく「望ましい方向への傾向」を植え付けていきます。
AIは正しい答えを格納した辞書ではなく、与えられた傾向の中で答えを作り続ける仕組みです8

4.1. 広い倉庫と狭い作業台

Googleのクラウドは情報を蓄え、検索は膨大な情報から関連のあるものを探します。

4.1. 広い倉庫と狭い作業台

トランスフォーマーは限られた文脈を参照しながら、次の言葉を作ります。
どの段階でも問われているのは「情報があるか」ではなく、「必要な形でどこまで扱えるか」という問いです。

AIを便利に使いこなすには、AIが万能の記憶装置だという前提を外す必要があります。
答えを組み立てる瞬間に使える範囲は限られていて、その範囲で何を選び、何を捨てるかによって出力の質が変わります。
そこに、現在のAIを理解するための実用的な入口があります。

  1. Transformerは2017年にGoogleの研究者らが発表した論文「Attention Is All You Need」で提案された。それまで主流だったRNNやLSTMに依存しない設計で、Self-Attentionのみを使う構造が現在のLLMの基盤となっている。 – Attention Is All You Need
  2. トークンの分割方法はモデルによって異なる。GPT系モデルはBPE(Byte-Pair Encoding)を採用しており、英語では一般的な単語1語がおよそ1トークンに相当する。日本語は文字単位になることが多く、同じ情報量でも英語の約2〜3倍のトークン数が必要になる場合がある。 – How tokenizers work in AI models
  3. ゲームAIでの代表的な実装は「アルファ・ベータ法(Alpha-Beta pruning)」で、ミニマックスアルゴリズムの探索空間を大幅に削減する。最善手順が並んでいる条件では探索量をO(b^d)からO(b^(d/2))程度まで抑えられ、チェス・将棋エンジンの中核技術として長年使われてきた。 – Alpha–beta pruning – Wikipedia
  4. トランスフォーマーにおける抽象化の代表例が「埋め込み(embedding)」だ。単語や文脈を高次元のベクトルに変換することで、意味的に近い概念が空間上でも近い位置に配置される。この表現により、モデルは明示的なルールなしに「類似した文脈では類似した答えを出す」という振る舞いを実現する。 – LLMs: What’s a large language model?
  5. 2026年時点の主要モデルは、GPT-5が40万トークン、Claude Sonnet 4.6が標準20万トークン(ベータ版で100万トークン)、Gemini 2.5 Proが100万トークンのコンテキスト長を持つ。ただしコンテキストが長くなるほど中間部の情報が参照されにくくなる「Lost-in-the-Middle」現象も報告されている。 – Context Length in LLMs: What Is It and Why It Is Important?
  6. このO(n²)問題に対し、2022年にTri Daoらが提案したFlash Attentionがある。GPUのメモリ階層を工夫して計算を組み替えることで、メモリ使用量をO(n²)からO(n)に削減しながら計算精度を維持する手法で、現在の主要LLMに広く採用されている。 – FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness
  7. RLHFが広く知られるようになったのは、OpenAIが2022年に発表したInstructGPTの論文がきっかけ。人間のラベラーが好ましい回答を選択し、その選好を強化学習の報酬信号として使う手法で、ChatGPTの応答品質向上にもこの手法が採用された。 – Training language models to follow instructions with human feedback
  8. このトークン予測の構造は「ハルシネーション(hallucination、幻覚)」の原因でもある。AIは事実のデータベースから検索して答えるのではなく、学習データに基づく統計的確率で生成するため、自信に満ちた誤情報を出力することがある。 – ハルシネーション (人工知能) – Wikipedia