PyTorchを用いて、大規模言語モデルの基礎となるGPT-2(Transformer Decoder)をゼロから実装した際の解説資料です。
■ 概要
「Attention Is All You Need」の論文に基づき、単なるライブラリの呼び出しではなく、行列演算のレベルからアーキテクチャを理解することを目的として作成しました。
■ 本スライドで重点を置いたポイント
・行列の形状(Shape)の可視化: (batch_size, seq_len, embed_dim) が各層でどのように変化するかを図解し、デバッグや実装時の混乱を防ぐ工夫をしています 。
・Multi-head Attentionの並列化: なぜ transpose(1, 2) が必要なのか、PyTorchのメモリ配置の観点から解説しました 。
・実践的な実装Tips: view と reshape の挙動の違いや contiguous() の必要性など、効率的なコーディングに欠かせない「ハマりどころ」についてもまとめています 。
■ 実装した主なモジュール
・Single-head / Multi-head Attention (Causal Mask対応)
・GPT Block (LayerNorm, MLP, Residual Connection)
・GPT Model (Token & Positional Embedding, Output Head)