大規模言語モデル入門【Transformer:基礎理論A-5】

基礎理論

因果的Attentionマスクと自己回帰型生成:GPTの生成原理

前回は、FFNと活性化関数の役割を学びました。今回は、GPT型モデルがどのようにテキストを生成するのか、その核心である自己回帰型生成 と Causal Attention Mask を解説します。

自己回帰型生成:「未来の情報を見ない」制約

GPT型のモデルは、テキストを 1トークンずつ順番に生成 します(自己回帰型):

各ステップで、未来のトークンはまだ存在しないため、参照できません

学習時の課題

上図のように訓練時には、正解の文全体が既に与えられています:

正解文:「私は学校へ行く」
入力ベクトル:[「私」, 「は」, 「学校」, 「へ」, 「行く」]

⚠️ 問題
もし制約がなければ、「へ」という単語を予測する時に、未来の「行く」という情報も参照でき、『カンニング』してしまいます!これは推論時の挙動と矛盾し、モデルが実際のテキスト生成で失敗します。

Causal Attention Mask:マスキングで未来を隠す

この問題を解決するため、訓練時に Causal(因果的)Attention Mask を適用します。

マスキングの仕組み

Attentionスコア計算後、Softmax を適用する直前に、未来のトークンに対応する要素に『-∞(マイナス無限大)』を加算します。

例:3番目のトークン「学校」のAttention計算時

ステップ位置0位置1位置2位置3位置4
通常のスコア0.50.30.80.20.1
マスク適用後0.50.30.8-∞-∞
Softmax適用0.40.250.3500

結果として、各トークンは「自分自身と過去のトークンのみ」に注意を払い、未来の情報には一切アクセスできなくなります。

マスク行列の可視化

下三角行列の形になり、各位置は自分より前の位置のみを参照できます。


並列学習の実現

Causal Maskのもう1つの大きな利点は、全トークンの損失を同時に計算できることです。

RNN vs Transformer の学習方式

方式処理ステップ数
RNN(順次学習)1トークンずつ順番に処理T ステップ必須
Transformer(並列学習)全位置で同時に予測1 ステップで完了

RNN(順次学習):

Transformer(並列学習):

全ての位置で同時に次トークン予測 → 全損失を並列計算
(T 個のトークンでも 1 ステップで計算完了!)

Causal Maskにより、全トークンの損失(LOSs)を同時に計算できます。

💡 ポイント
この並列性により、Transformerは GPU/TPU の並列計算能力を最大限に活用 でき、学習時間が劇的に短縮されました。

なぜ「因果的」と呼ぶのか

「Causal(因果的)」という名前は、因果関係 の概念に由来します:

  • 原因(過去)→ 結果(未来) という時間の流れを尊重
  • 未来の情報が過去に影響を与えることはない(因果律)
  • テキスト生成でも、前の単語が後の単語に影響を与える

テキスト生成において時間の流れと因果律を数学的に保つためのマスクなので、「因果的 Attention マスク」と呼ばれます。

まとめ

この記事では、自己回帰型生成とCausal Attention Maskを解説しました。

項目内容
自己回帰型生成1トークンずつ順番に生成
学習時の課題未来の情報でカンニングしてしまう
Causal Mask未来のトークンを-∞でマスク
効果過去のみ参照 + 並列学習が可能

次回は、基礎用語集と確認問題でこれまでの内容を復習します。



📖 参考文献

主要論文

  1. Holtzman, A., Butz, D., Cohan, A., Fine, S., & Turian, J. (2020): “The Curious Case of Neural Text Degeneration”, ICLR 2020
  2. Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2019): “BERT: Pre-training of Deep Bidirectional Transformers”, NAACL 2019

補足資料

3. Sennrich, R., Haddow, B., & Birch, A. (2016): “Neural Machine Translation of Rare Words with Subword Units”, ACL 2016


📚 シリーズ案内

この記事は「LLM事前学習シリーズ」の一部です。

次に読む

コメント

タイトルとURLをコピーしました