PyTorchからゼロイチでGPT-2、Llama 3、DeepSeekを構築 - オープンソースコード+書籍 [p]

Reddit r/MachineLearning / 2026/4/15

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

要点

  • 本記事では、複数のLLMアーキテクチャをゼロから構築する方法を、1年間にわたって段階的に示すオープンソースのPyTorch実装と、それに付随する書籍を紹介している。
  • 翻訳用のバニラなTransformerに触れたうえで、OpenAIの事前学習済み重みを読み込めるGPT-2の詳細な実装を扱う。
  • GPT-2のベースラインを拡張し、主要コンポーネント(RMSNorm、RoPE、SwiGLU、GQA)を置き換えることでLlama 3.2-3Bを実装し、Metaの事前学習済み重みを読み込む。
  • KVキャッシュなどの性能に直結する推論メカニズムに加え、MQAやGQAといった関連する注意(attention)バリアントについて解説する。
  • さらに、DeepSeekの特徴として、"absorption"トリックを用いたMulti-Head Latent Attention、共有エキスパートとセグメンテーションを備えたDeepSeekMoE、Multi-Token Prediction、FP8量子化を取り上げ、すべてのコードをGitHubで公開している。

過去1年、PyTorchで最初から5つのLLMアーキテクチャを実装し、その過程を記録した本を書きました。

扱う内容:

  • バニラのエンコーダ・デコーダ・トランスフォーマ(英語からヒンディー語への翻訳)
  • GPT-2(124M)— 実際のOpenAIの事前学習済み重みを読み込み
  • Llama 3.2-3B — GPT-2からの正確な4つのコンポーネント差し替え(RMSNorm、RoPE、SwiGLU、GQA)を示し、Metaの事前学習済み重みを読み込み
  • KVキャッシュの仕組み、MQA、GQA
  • DeepSeek:吸収トリック付きのマルチヘッド・レイテン(潜在)・アテンションとデカップルされたRoPE、共有エキスパートときめ細かなセグメンテーションを用いたDeepSeekMoE、マルチトークン予測、FP8量子化

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

この本(説明、導出、図)はLeanpubにあり、無料サンプルがあります:https://leanpub.com/adventures-with-llms

私はTrueFoundryのシニア・フォワード・デプロイメント・エンジニアです。LLMシステムについて企業と一緒に取り組んでいます。私は、GPT-2を超えて、実際に本番環境で動いているアーキテクチャへ踏み込んだリソースが欲しかったため、この文章を書きました。各実装についての議論はいつでも歓迎です。

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