論文・講義・記事923件を収録したMarkdownベースのMLナレッジベースと、NumPyのみで動く独自分類器・回帰器APRL。
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
リポジトリをクローンする
git clone https://github.com/raiyanyahya/how-to-train-your-gpt.git - 2
仮想環境を作成して有効化する(Mac/Linux)
python -m venv gpt_env && source gpt_env/bin/activate - 3
requirementsファイルから依存関係をインストールする
pip install -r requirements.txt - 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 の数値は毎日更新されます。
関連プロジェクト
Python、TypeScript、Rust、JuliaでAIエンジニアリングの概念を基礎から学べる、542レッスンの無料MITライセンス講座。
小規模なLLaMA2風モデルをゼロから構築し、Transformer、事前学習、ファインチューニング、RAG、エージェントを通じてLLMの原理を学ぶ、中国語のオープンチュートリアル。
内部の仕組みを読み解けるよう、最新のAIアルゴリズムを一から実装した、依存関係のないPythonスクリプト54本のコレクション。
最先端のテキスト、画像、音声、マルチモーダル機械学習モデルの定義、推論、学習に対応するフレームワーク。