概要
- Transformer はAI分野を根本から変革したニューラルネットワークアーキテクチャ
- 自己注意機構 により長距離依存関係を効率的に捉える
- テキスト生成だけでなく画像認識や音声生成など幅広い応用
- GPT-2 などのモデルが代表例、原理理解に最適
- モデルの基本構成は Embedding・Transformer Block・出力層
Transformerとは何か
- Transformer は2017年の論文「Attention is All You Need」で初登場したニューラルネットワークアーキテクチャ
- OpenAIのGPT、MetaのLlama、GoogleのGeminiなど多くの生成AIモデルの基盤
- テキスト生成、音声生成、画像認識、タンパク質構造予測、ゲームプレイなど多用途
- テキスト生成モデルは 次トークン予測 を原理とし、与えられたプロンプトの次に来る最も確率の高いトークンを出力
- 自己注意機構(Self-Attention) により従来モデルよりも文脈理解力が高い
Transformerの基本構成
- Embedding層 :入力テキストをトークン単位に分割し、数値ベクトル(埋め込み)に変換
- Transformer Block :自己注意機構とMLP(多層パーセプトロン)から構成
- Attention Layer :トークン間の情報伝達・文脈把握
- MLP Layer :各トークンの表現を独立に洗練
- 出力層 :最終的な埋め込みを確率分布に変換し、次トークンを予測
Embeddingの詳細
- トークナイゼーション :テキストを単語やサブワード単位のトークンに分割
- 例:「Data」「visualization」は独立トークン、「empowers」は2つのトークンに分割
- GPT-2の語彙数は 50,257
- トークン埋め込み :各トークンを768次元ベクトルで表現(GPT-2 smallの場合)
- 類似する意味のトークンは高次元空間で近くに配置
- 位置エンコーディング :トークンの順序情報を追加
- GPT-2は独自の位置エンコーディング行列を学習
- 最終埋め込み :トークン埋め込みと位置エンコーディングを加算して得る
Transformer Blockの仕組み
- 複数のTransformer Block を積み重ねてモデルを構成(GPT-2 smallは12層)
- 各ブロックでトークン表現が進化し、文脈理解が深まる
マルチヘッド自己注意機構
- 自己注意 :各トークンが他の全トークンとの関係性を動的に計算
- Q(Query)、K(Key)、V(Value) ベクトルに変換
- Query:検索語、Key:候補、Value:内容という検索エンジンの比喩で理解
- マルチヘッド :複数の視点で関係性を学習(GPT-2 smallは12ヘッド)
- マスク付き自己注意 :未来のトークン情報を隠して次トークン予測を実現
- Dot Productで関連度スコア計算
- スケーリング・マスク処理後、Softmaxで確率化
- Dropoutによる正則化
MLP(多層パーセプトロン)層
- 自己注意後の出力 をさらに高次元空間へ投射し表現力を強化
- 2層の線形変換+GELU活性化関数を使用
- 768→3072次元に拡張、再び768次元に圧縮
- 各トークンを独立に変換し多様なパターンを学習
出力確率とトークン生成
- 全Transformer Blockを通過した後、 最終線形層 で各トークンのlogit(スコア)を出力
- 語彙数(GPT-2なら50,257)の各トークンに対応
- Softmax関数 で確率分布に変換し、次トークンをサンプリング
- Temperature パラメータで出力の多様性を調整
- 1未満:確定的、1超:ランダム性増加
- top-k、top-pサンプリング で候補トークンを絞り込み、より自然な生成を実現
まとめ
- Transformer は自己注意機構による強力な文脈理解力と拡張性が特長
- Embedding→自己注意→MLP→出力層 というシンプルかつ強力な構成
- テキスト生成モデルの基本原理と仕組み理解に最適なアーキテクチャ
くそ、あのページが俺のChromebookをダウンさせた。こんなの初めてだわ。。