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)