Transformerが変えた自然言語処理
2017年にGoogleが発表した論文「Attention is All You Need」は、自然言語処理(NLP)の世界を一変させた。それ以前の主流だったRNN(再帰型ニューラルネットワーク)に代わり、Transformerというアーキテクチャが登場し、GPT・BERT・Claudeをはじめとする現代の大規模言語モデルはすべてTransformerを基盤としている。
Transformerの核心にあるのが「アテンションメカニズム」だ。これを理解することで、なぜ大規模言語モデルが文脈を把握した自然な文章を生成できるのかが見えてくる。
Self-Attentionの直感的な理解
「どの単語に注目するか」を学習する
Self-Attentionを一言で言えば、「文中の各単語が他のどの単語と強く関係しているかを計算する仕組み」だ。
例えば「銀行に行って預金を引き出した」という文を考える。「引き出した」という動詞は、「銀行」と「預金」と深く関係している。一方「行って」という動詞は「銀行」とより強く結びついている。Self-Attentionはこのような関係の強さを数値(アテンションスコア)として計算する。
Q・K・Vの3つのベクトル
Self-Attentionの計算には、各単語から作られる3種類のベクトルが登場する。
- Query(Q): 「私はどんな情報を探しているか」を表すベクトル
- Key(K): 「私はどんな情報を持っているか」を表すベクトル
- Value(V): 「実際に渡す情報の中身」を表すベクトル
図書館の検索システムに例えると、Queryは「検索キーワード」、Keyは「本のインデックス情報」、Valueは「本の実際の内容」に相当する。検索キーワードとインデックスの一致度(アテンションスコア)が高い本の内容(Value)を、重み付きで取り出す——それがSelf-Attentionの本質だ。
アテンションスコアの計算
具体的な計算手順は次の通りだ。まず、ある単語のQと他のすべての単語のKの内積を計算し、類似度を求める。次に、その値をベクトルの次元数の平方根で割って正規化し、Softmax関数で確率分布に変換する。最後に、その確率でVを重み付き平均して出力ベクトルを得る。
この計算を全単語間で並列に実行できることが、RNNに対するTransformerの大きな優位点だ。RNNは単語を順番に処理するため長文は苦手だったが、Transformerは全単語の関係を一度に計算できる。
Positional Encodingの役割
順序を忘れる問題
Self-Attentionは全単語の関係を並列に計算するため、単語の「順序」情報が失われてしまう。「猫が犬を追った」と「犬が猫を追った」は単語の組み合わせが同じで、意味はまったく異なるが、単純なSelf-Attentionでは区別できない。
位置情報を埋め込む
この問題を解決するのがPositional Encodingだ。各単語の埋め込みベクトルに、その単語の文中での位置を表す信号を加算する。この位置情報は、異なる周波数のサイン波・コサイン波を組み合わせた数学的な方法で生成されることが多い。
Positional Encodingにより、同じ単語でも文中の位置が違えば異なるベクトルとして扱われ、語順の情報がモデルに伝わる。
Multi-Head Attentionとは何か
複数の視点で同時に注目する
Self-Attentionを1セットだけ使うのではなく、複数セット並列に実行するのがMulti-Head Attentionだ。各「ヘッド」は異なるQ・K・V行列を持ち、文の異なる側面に注目する。
あるヘッドは文法的な関係(主語と動詞など)に注目し、別のヘッドは意味的な関係(同義語や反意語)に注目するといった具合だ。人間が文を読むとき、文法・意味・文脈など複数の観点で同時に理解するのと似ている。
ヘッドを統合する
各ヘッドの出力を連結し、線形変換で一つのベクトルに統合する。この統合されたベクトルが、文の多面的な情報を捉えた豊かな表現になる。GPT-4では96個のアテンションヘッドが使われていると報告されており、各ヘッドが異なる言語パターンを分担して学習している。
TransformerがGPT・Claudeでどう使われているか
デコーダー専用のアーキテクチャ
GPT・Claude・Llamaなどのテキスト生成モデルはTransformerの「デコーダー」部分を積み重ねた構造を取る。入力トークンから次のトークンを予測する自己回帰的な生成を、数十〜数百層のデコーダーブロックで繰り返すことで、流暢なテキストを生成する。
Causal Attentionによる制約
テキスト生成では「まだ生成していない未来のトークンを参照してはいけない」というルールがある。これを実現するのが「Causal Attention(因果アテンション)」で、アテンションマスクを使って未来方向へのアテンションをゼロにする。
これにより、モデルは常に「これまでに生成したトークン」だけを参照して次のトークンを予測するため、左から右への自然な文章生成が実現する。
まとめ
Transformerのアテンションメカニズムは、「各単語が文中の他の単語にどれだけ注目すべきか」を数値化する仕組みだ。Q・K・Vという3つのベクトルを使ったスコア計算、順序情報を補うPositional Encoding、複数視点で並列に注目するMulti-Head Attentionが組み合わさることで、文脈を深く理解した言語処理が実現する。GPTもClaudeもこのアーキテクチャを基盤としており、現代AIの性能を支える根幹技術だ。