PythonとPyTorchで小規模なLLaMA風GPTをゼロから構築・学習する、コメント付き全12章のチュートリアル。
aa1143/NamiGPT
PyTorchでGPT-2をゼロから実装し、「猫吃鱼」の短い例で各手順を解説する、中国語の初心者向けチュートリアルです。
- スター
- 195
- フォーク
- 20
- 未解決の Issue
- 0
- 最終コミット
- 10 日前
これは何?
NamiGPTは、PyTorchでGPT-2を実装しながら、大規模言語モデルの仕組みを学ぶためのステップ形式のチュートリアルです。gpt2/model.pyにあるモデルのコードは200行未満で、既製のTransformerモジュールは使っていません。OpenAI公式の124M重みを読み込み、推論とテキスト生成を実行できます。
全15章で、トークナイズ、埋め込み、位置エンコーディング、自己注意、マルチヘッド注意、残差接続、LayerNorm、フィードフォワードネットワーク、活性化関数、Transformerブロックとその積み重ね、重みの読み込み、テキスト生成、解釈可能性を扱います。各章には、3語の例「猫吃鱼」を使った実行可能なスクリプトがあります。また、ステップごとの候補確率とともに続きを表示するGradioデモや、HuggingFace実装と出力を比較するpytestテストも含まれています。
ドキュメントは中国語で、受講にはPythonと線形代数の基礎知識が必要ですが、LLMの事前知識は不要です。
主な機能
- 01組み込みのTransformerモジュールを使わず、PyTorchでGPT-2をゼロから実装します。
- 02推論とテキスト生成に使える、OpenAI公式のGPT-2 124M重みを読み込みます。
- 033語の例を使った実行可能なスクリプト付きの全15章で構成されています。
- 04各ステップの次トークンの確率を表示するGradioデモを備えています。
- 05HuggingFace実装と出力を照合するpytestテストを備えています。
ユースケース
- GPTモデルで注意機構、残差接続、LayerNormがどのように組み合わさるかを学ぶ。
- 読みやすい小規模なコードベースを使い、Transformerの内部構造を学ぶ勉強会や講座を行う。
- HuggingFaceと一致する出力を返す参照実装と、自作のGPT実装を照合する。
- GPT-2によるテキストの続きをローカルで生成し、temperatureやtop-kなどのサンプリング設定を確認する。
クイックスタート
- 1
リポジトリをクローンする
git clone https://github.com/aa1143/NamiGPT.git - 2
プロジェクトフォルダーに移動する
cd NamiGPT - 3
依存関係をインストールする
pip install -r requirements.txt - 4
チュートリアルのスクリプトを1つ実行する(例:マルチヘッドアテンションのデモ)
python chapters/01-inference/ep06_multi_head_attention.py
使う前に知っておきたいこと
- 初心者向けチュートリアルとして書かれており、トレーニング用フレームワークでも、本番環境向けの推論ライブラリでもありません。
- docs/ 配下の記事は CC BY-NC 4.0 ライセンスで公開されており、商用利用は禁止されています。
- GPT-2 の重みを使用しているため、指示には従わず、主に英語のデータで学習されています。
トピック
よくある質問
- NamiGPT とは?
- PyTorchでGPT-2をゼロから実装し、「猫吃鱼」の短い例で各手順を解説する、中国語の初心者向けチュートリアルです。 NamiGPTは、PyTorchでGPT-2を実装しながら、大規模言語モデルの仕組みを学ぶためのステップ形式のチュートリアルです。gpt2/model.pyにあるモデルのコードは200行未満で、既製のTransformerモジュールは使っていません。OpenAI公式の124M重みを読み込み、推論とテキスト生成を実行できます。
- NamiGPT は無料で使えますか?ライセンスは?
- NamiGPT は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- NamiGPT は今もメンテナンスされていますか?
- 活発にメンテナンス中。NamiGPT の最終コミットは 2026年10月28日 です。
- NamiGPT は何に使えますか?
- GPTモデルで注意機構、残差接続、LayerNormがどのように組み合わさるかを学ぶ。 読みやすい小規模なコードベースを使い、Transformerの内部構造を学ぶ勉強会や講座を行う。 HuggingFaceと一致する出力を返す参照実装と、自作のGPT実装を照合する。 GPT-2によるテキストの続きをローカルで生成し、temperatureやtop-kなどのサンプリング設定を確認する。
- NamiGPT のインストール方法は?
- リポジトリをクローンする: git clone https://github.com/aa1143/NamiGPT.git プロジェクトフォルダーに移動する: cd NamiGPT 依存関係をインストールする: pip install -r requirements.txt チュートリアルのスクリプトを1つ実行する(例:マルチヘッドアテンションのデモ): python chapters/01-inference/ep06_multi_head_attention.py
- NamiGPT はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/aa1143/NamiGPT
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
GPU上でTransformerモデルを学習・推論するための、メモリ効率に優れた厳密なattentionカーネルFlashAttentionの公式実装。
Jupyter上で自動採点を受けながら、PyTorchの演算やアーキテクチャを一から実装して練習できる対話型プラットフォーム。
1986年のRNNから2025年の推論モデルまで、深層学習とLLMのアーキテクチャ系統をたどる、視覚的なタイムライン形式の学習ロードマップ。
PyTorchでTransformer LLMをゼロから学べる解説とコードベース。事前学習、SFT、報酬モデル、DPO/PPO/GRPO、生成までを網羅。
小規模なLLaMA2風モデルをゼロから構築し、Transformer、事前学習、ファインチューニング、RAG、エージェントを通じてLLMの原理を学ぶ、中国語のオープンチュートリアル。