⚡
Transformer
Self-Attentionベースの並列処理アーキテクチャ
Transformerは2017年のGoogleの論文「Attention Is All You Need」で提案されたアーキテクチャです。従来のRNN/LSTMはシーケンスを順番に処理する必要があり、並列化が困難で長文では情報が失われていました。TransformerはSelf-Attentionでシーケンスの全位置を同時に参照することでこの問題を解決しました。Query、Key、Valueベクトルで各トークンが他のトークンとの関連性(attention score)を計算し、位置情報はPositional Encodingで補完します。GPT(デコーダのみ)、BERT(エンコーダのみ)、T5(エンコーダ+デコーダ)など現代LLMの基盤です。
キーコンセプト
1
入力テキストをトークンに分割 → 各トークンを埋め込みベクトルに変換
2
Positional Encodingを追加 — トークンの位置情報をベクトルに加算
3
各トークンからQuery(Q)、Key(K)、Value(V)ベクトルを生成
4
Attention Scoreを計算: softmax(QK^T / √d) × V — 各トークンが他のトークンにどれだけ注目するかを決定
5
Multi-Head Attention: 複数のattentionを並列実行 → 多様な関係パターンを捕捉
6
Feed-Forward Network + Layer Normalization + Residual Connectionで最終出力を生成
メリット
- ✓ 完全な並列処理が可能 → GPU活用を最大化
- ✓ 長いシーケンスでも情報損失なし(Self-Attention)
- ✓ 多様なタスクに汎用的に適用
- ✓ スケーリング則(モデルが大きいほど性能向上)
デメリット
- ✗ O(n²)メモリ — シーケンス長の二乗に比例するメモリ使用
- ✗ 大規模学習に膨大なGPU/TPUが必要
- ✗ 位置情報を別途エンコードする必要がある
- ✗ 学習データの偏りをそのまま反映
ユースケース
GPTシリーズ(GPT-4、GPT-4o)
Claude(Anthropic)
BERT / RoBERTa(文章理解)
T5 / BART(翻訳、要約)
Vision Transformer(ViT)