Repolode
FareedKhan-dev

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. 1

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

    git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git
  2. 2

    プロジェクトフォルダーに移動する

    cd train-llm-from-scratch
  3. 3

    プロジェクトを editable モードでインストールする

    pip install -e .
  4. 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 の数値は毎日更新されます。

関連プロジェクト