[P] PyTorchからスクラッチでGPT-2、Llama 3、DeepSeekを構築 - オープンソースコード + 書籍

Reddit r/LocalLLaMA / 2026/4/15

💬 オピニオンIdeas & Deep AnalysisTools & Practical UsageModels & Research

要点

  • 新しいオープンソースの書籍とコードベースでは、PyTorchで主要なLLMアーキテクチャをゼロから再実装する方法を解説しており、GPT-2を出発点にして4つの具体的なアーキテクチャ差し替えによってLlama 3.2-3Bへ到達します。
  • Llama 3の実装では、LayerNormをRMSNormに置き換え、学習済みの位置エンコーディングをRoPEに置き換え、GELUをSwiGLUに置き換え、通常のマルチヘッド・アテンションをグループ化クエリ(grouped-query)アテンションに置き換えたうえで、Metaの事前学習済み重みを読み込みます。
  • DeepSeekの章では、コード上でより大幅に複雑な設計を実装しており、MLA(吸収トリック付き)、デカップルされたRoPE、共有エキスパートを持つMoEときめ細かなセグメンテーション、補助損失なしのロードバランシング、マルチトークン予測、FP8量子化などを含みます。
  • 著者は実装全体をオープンソース(mal-code)として公開し、無料の書籍サンプルも提供しており、読者がコードレベルでモデル内部を直接理解できるようにすることを目指しています。
  • このプロジェクトは、新しいモデルのリリースというより教育目的の深掘りとして位置づけられており、コミュニティに質問や実験を促しています。

私は、LLMの最新アーキテクチャをゼロから実装する本を書きました。このサブに最も関係する部分:

第3章では、GPT-2に対してちょうど4つを入れ替えてLlama 3.2-3Bを作ります:

  1. LayerNorm → RMSNorm
  2. 学習済みの位置埋め込み → RoPE
  3. GELU → SwiGLU
  4. マルチヘッド注意 → グループ化クエリ注意

その後、Metaの実際の事前学習済み重みを読み込みます。

第5章では、DeepSeekの完全なアーキテクチャを構築します:吸収トリック付きのMLA、デカップルされたRoPE、共有エキスパートときめ細かなセグメンテーションを備えたMoE、補助損失なしのロードバランシング、マルチトークン予測、FP8量子化です。

すべてのコードはオープンソースです:https://github.com/S1LV3RJ1NX/mal-code

無料サンプル付きの本:https://leanpub.com/adventures-with-llms

もし今までに、コードレベルでこれらのモデルの中身が正確にどうなっているのかを理解したいと思ったことがあるなら、役に立つかもしれません。質問があれば喜んでお答えします。

投稿者: /u/s1lv3rj1nx
[link] [コメント]