LLM、RL、RLHF、DPO、GRPOなど、大規模モデルのアルゴリズムを解説する100点以上のオリジナル図解を収録したバイリンガル資料集。
FareedKhan-dev/train-llm-from-scratch
PyTorchでTransformer LLMをゼロから学べる解説とコードベース。事前学習、SFT、報酬モデル、DPO/PPO/GRPO、生成までを網羅。
- スター
- 12,328
- フォーク
- 1,816
- 未解決の Issue
- 2
- 最終コミット
- 18 日前
これは何?
このリポジトリでは、原典の「Attention is All You Need」の設計に沿って、素のPyTorchでTransformer言語モデルをゼロから実装し、生テキストからチャット形式のモデルに至るまでの全工程を解説します。byte-level BPE tokenizer、従来型のGPT-2風デコーダー、RoPE、RMSNorm、SwiGLU、grouped-query attention、Mixture of Expertsを備えた最新型のモデルを収録しており、Hugging Face trainersを使わず、すべて手書きで実装しています。
事後学習の各段階もゼロから実装しています。assistant-only loss maskを使った教師ありファインチューニング、Bradley-Terry報酬モデル、DPO、ORPO、KTO、GAEを使ったPPO、GRPOに対応しています。各段階には専用のデータ準備スクリプトとJSON configがあり、TinyStoriesのtinyモデルなどの小規模なプリセットならノートPCのCPUで数分で学習できます。より大きなconfigではGPUが必要です。
主な機能
- 01PyTorchでattention、MLP、Transformer blockをゼロから構築します。
- 02リポジトリ内に実装されたbyte-level BPE tokenizerを収録しています。
- 03チャットデータに対してassistant-only loss maskを使うSFTを扱います。
- 04報酬モデリング、DPO/ORPO/KTO、PPO、GRPOを実装しています。
- 05GPUなしでノートPCのCPU上で学習できるtinyプリセットを用意しています。
ユースケース
- Transformer言語モデルと学習ループの仕組みを、手順を追って学ぶ。
- 実験として、単一GPUまたはノートPCで小規模なLLMを事前学習する。
- 読みやすいコードベースで、DPO、PPO、GRPOなどの事後学習手法を学ぶ。
- 同じパイプライン上で、従来型と最新型のTransformerコンポーネントを比較する。
クイックスタート
- 1
リポジトリをクローンする
git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git - 2
プロジェクトフォルダーに移動する
cd train-llm-from-scratch - 3
プロジェクトを editable モードでインストールする
pip install -e . - 4
データを準備した後、ノートPCのCPUで小さなモデルを学習する
python scripts/train_transformer.py --preset tiny --arch modern
使う前に知っておきたいこと
- 大規模なモデル構成にはGPUが必要で、10億パラメーターのモデルは無料のT4には収まりません。
- 一部のステージでは、事前にダウンロードが必要な公開データセットを使用します。
トピック
よくある質問
- train-llm-from-scratch とは?
- PyTorchでTransformer LLMをゼロから学べる解説とコードベース。事前学習、SFT、報酬モデル、DPO/PPO/GRPO、生成までを網羅。 このリポジトリでは、原典の「Attention is All You Need」の設計に沿って、素のPyTorchでTransformer言語モデルをゼロから実装し、生テキストからチャット形式のモデルに至るまでの全工程を解説します。byte-level BPE tokenizer、従来型のGPT-2風デコーダー、RoPE、RMSNorm、SwiGLU、grouped-query attention、Mixture of Expertsを備えた最新型のモデルを収録しており、Hugging Face trainersを使わず、すべて手書きで実装しています。
- train-llm-from-scratch は無料で使えますか?ライセンスは?
- train-llm-from-scratch は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- train-llm-from-scratch は今もメンテナンスされていますか?
- 活発にメンテナンス中。train-llm-from-scratch の最終コミットは 2026年10月2日 です。
- train-llm-from-scratch は何に使えますか?
- Transformer言語モデルと学習ループの仕組みを、手順を追って学ぶ。 実験として、単一GPUまたはノートPCで小規模なLLMを事前学習する。 読みやすいコードベースで、DPO、PPO、GRPOなどの事後学習手法を学ぶ。 同じパイプライン上で、従来型と最新型のTransformerコンポーネントを比較する。
- train-llm-from-scratch のインストール方法は?
- リポジトリをクローンする: git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git プロジェクトフォルダーに移動する: cd train-llm-from-scratch プロジェクトを editable モードでインストールする: pip install -e . データを準備した後、ノートPCのCPUで小さなモデルを学習する: python scripts/train_transformer.py --preset tiny --arch modern
- train-llm-from-scratch はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/FareedKhan-dev/train-llm-from-scratch
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
単一のYAML設定からLLMのファインチューニングや追加学習を行うCLIツール。VRAMの少ない一般向けGPUにも対応。
量子化なしで、レイヤー単位に大規模言語モデルを実行し、70Bクラスのモデルを4GB GPU 1枚で推論できるPythonライブラリ。
NEOは、ピクセルと単語を単一のエンコーダーフリーな高密度アーキテクチャで処理する視覚言語モデル群で、学習・評価コードも公開しています。
FSDP2、Muon、Liger kernelsに対応した、VLM・diffusion・LLM向けの統合トレーニングエンジン。
テキスト推論向けの恒久無料枠を提供するLLM APIプロバイダーを、エンドポイントやモデル、レート制限とともにまとめたリストです。