Repolode
raiyanyahya

raiyanyahya/how-to-train-your-gpt

PythonとPyTorchで小規模なLLaMA風GPTをゼロから構築・学習する、コメント付き全12章のチュートリアル。

スター
4,049
フォーク
505
未解決の Issue
5
最終コミット
2 か月前

これは何?

ゼロから言語モデルを構築しながら、現代的なデコーダー専用言語モデルの仕組みを学ぶためのプロジェクトです。BPEトークナイザー、埋め込み、回転位置エンコーディング(RoPE)、因果マスク付きマルチヘッドアテンション、RMSNormとSwiGLUを使ったTransformerブロック、AdamWとコサインウォームアップを使う学習ループ、KV cacheと各種サンプリングオプションを備えた推論エンジンまで、全工程を扱います。

教材は順番に読むことを想定した全12章に加え、単独で読めるトピック解説が約28本、関連するJupyter notebookで構成されています。各コード部分には、各行の処理内容とその理由が注釈されています。基本的なPythonの知識だけで取り組める内容で、機械学習の経験は必要ありません。

デフォルト設定は小規模モデル(d_model=256、4層)で、CPUでも数分で学習できます。GPT-2相当の規模(約1億5100万パラメーター)の設定も含まれていますが、こちらにはGPUが必要です。本プロジェクトは学習を目的としており、本番環境での利用を想定していません。

主な機能

  • 01トークン化から推論までを扱う、順番に進める全12章
  • 02コードの各部分が何をするのか、なぜ必要なのかを説明する行ごとのコメント
  • 03RoPE、RMSNorm、SwiGLU、pre-normブロック、weight tyingを実装
  • 04AdamW、コサインウォームアップ、混合精度に対応した独自の学習ループ
  • 05KV cache、temperature、top-k/top-pサンプリング、beam searchを使った推論
  • 06CPUで動かしやすい小規模なデフォルト設定を備えた、実行可能なmain.py

ユースケース

  • ChatGPTのようなモデルの内部動作を理解したいPython開発者
  • Transformerのアテンションと学習を基礎から学ぶ学生
  • RoPEと学習済み位置埋め込み、RMSNormとLayerNormなど、アーキテクチャの選択肢を比較するエンジニア
  • 小規模な言語モデルの構築を体験する実習教材を準備する教師

クイックスタート

  1. 1

    リポジトリをクローンする

    git clone https://github.com/raiyanyahya/how-to-train-your-gpt.git
  2. 2

    仮想環境を作成して有効化する(Mac/Linux)

    python -m venv gpt_env && source gpt_env/bin/activate
  3. 3

    requirementsファイルから依存関係をインストールする

    pip install -r requirements.txt
  4. 4

    学習スクリプトを実行する(デフォルトではtiny config)

    python main.py

使う前に知っておきたいこと

  • デフォルト設定はtinyモデルです。151MパラメーターのGPT-2相当の構成にはGPUが必要です。
  • これは学習用リソースであり、学習用途のみを対象としています。本番用モデルには使用できません。

トピック

よくある質問

how-to-train-your-gpt とは?
PythonとPyTorchで小規模なLLaMA風GPTをゼロから構築・学習する、コメント付き全12章のチュートリアル。 ゼロから言語モデルを構築しながら、現代的なデコーダー専用言語モデルの仕組みを学ぶためのプロジェクトです。BPEトークナイザー、埋め込み、回転位置エンコーディング(RoPE)、因果マスク付きマルチヘッドアテンション、RMSNormとSwiGLUを使ったTransformerブロック、AdamWとコサインウォームアップを使う学習ループ、KV cacheと各種サンプリングオプションを備えた推論エンジンまで、全工程を扱います。
how-to-train-your-gpt は無料で使えますか?ライセンスは?
how-to-train-your-gpt は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
how-to-train-your-gpt は今もメンテナンスされていますか?
半年以内に更新あり。how-to-train-your-gpt の最終コミットは 2026年8月30日 です。
how-to-train-your-gpt は何に使えますか?
ChatGPTのようなモデルの内部動作を理解したいPython開発者 Transformerのアテンションと学習を基礎から学ぶ学生 RoPEと学習済み位置埋め込み、RMSNormとLayerNormなど、アーキテクチャの選択肢を比較するエンジニア 小規模な言語モデルの構築を体験する実習教材を準備する教師
how-to-train-your-gpt のインストール方法は?
リポジトリをクローンする: git clone https://github.com/raiyanyahya/how-to-train-your-gpt.git 仮想環境を作成して有効化する(Mac/Linux): python -m venv gpt_env && source gpt_env/bin/activate requirementsファイルから依存関係をインストールする: pip install -r requirements.txt 学習スクリプトを実行する(デフォルトではtiny config): python main.py
how-to-train-your-gpt はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/raiyanyahya/how-to-train-your-gpt

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト