モデル / データセット
datawhalechina/llms-from-scratch-cn avatar
datawhalechina/llms-from-scratch-cn

llms-from-scratch-cn:GPT・GLM3・Llama3・RWKVをノートブックで書き直す中国語教程

仅需Python基础,从0构建大语言模型;从0逐步构建GLM4\Llama3\RWKV6, 深入理解大模型原理

スター 4,364フォーク 597Jupyter NotebookNOASSERTION
GitHub

ひと目でわかる

これは何?
Datawhale が公開する中国語の LLM 実装教程。前半は rasbt/LLMs-from-scratch を基にした GPT 風モデルの構築、後半は ChatGLM3・Llama3・RWKV の各アーキテクチャをノートブック単位で扱う。学習用途に絞られており、本番運用の教材ではない。
誰に向いている?
Python と PyTorch の基礎があり、attention や GPT ブロックの中身を手で書きながら理解したい読者には向く。逆に、既に学習済みモデルを動かしたい人、日本語話者で中国語の解説を読む負担を避けたい人には遠回りになる。
商用利用できる?
まず確認が必要です。このリポジトリのライセンスは自動分類の対象外なので、商用利用の前に LICENSE ファイルを読んでください。
今もメンテナンスされている?
されています。最後のコミットは 174 日前です。
何の言語で書かれている?
主に Jupyter Notebook です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

この教程が埋めようとしている穴:微調と部署の教材は多いが、アーキテクチャの教材が薄い

README はプロジェクトの狙いを「在微调、部署相关教程较为丰富的背景下,我们着重关注大模型的架构实现」と説明している。つまり対象は、ファインチューニングや推論サーバの立て方を覚えたい人ではなく、モデルの中身を自分で書いて確かめたい人である。前提として README が挙げるのは Python の基礎と PyTorch の基礎で、GPU クラスタや大規模データセットは要求していない。教育目的だと明記されており、「训练和开发小型但功能性的模型」という位置づけも README に書かれている。読者像としては、Transformer の論文は読んだが実装は写経したことがない、という層が最も近い。

リポジトリの二本立て構成:Codes 配下の GPT 教程と Model_Architecture_Discussions 配下のモデル別ノートブック

ディレクトリは大きく二つに分かれる。Codes 側は rasbt/LLMs-from-scratch を基にした章立ての教程で、第2章のテキスト処理から第5章の事前学習までがノートブックとスクリプトで揃っている。各章は 01_main-chapter-code というサブディレクトリを持ち、そこに ch02.ipynb や ch04.ipynb、gpt.py、train.py、generate.py が置かれる。もう一方の Model_Architecture_Discussions 側はモデル別で、ChatGLM3 は 加载模型权重.ipynb、Llama3 は llama3-from-scratch.ipynb、RWKV は v2 から v5 までバージョンごとに guide ノートブックが並ぶ。同じ「スクラッチ実装」でも、前者は GPT 系の一本道を章順に積む構成、後者は既存モデルの重みや設計を読み解く構成であり、目的が異なる。

第2章から第5章で実際に何を作るのか:テキスト処理、attention、GPT 本体、事前学習

第2章は ch02.ipynb と dataloader.ipynb でテキストのトークン化とデータ読み込みを扱う。第3章は multihead-attention.ipynb というファイル名が示すとおり、attention 機構の実装が主題である。第4章は gpt.py を含み、GPT モデル本体をゼロから組む章にあたる。第5章は train.py と generate.py が置かれ、未ラベルデータでの事前学習と生成まで進む。章の並びを見る限り、埋め込み、attention、ブロックの積み上げ、学習ループ、サンプリングという順で、推論だけを切り出して学ぶ構成にはなっていない。付録Aには PyTorch 入門の code-part1.ipynb、code-part2.ipynb と DDP-script.py があり、分散学習の雛形もここで触れられる。

動かすまでの手順:README が示すのはファイルパスまでで、依存関係の固定は見えない

README から確認できる起動手順は、該当章のノートブックを開いて上から実行するという形である。例えば第4章なら Codes/ch04/01_main-chapter-code/gpt.py を参照しつつ ch04.ipynb を進める。第5章なら train.py と generate.py が実行対象になる。ただし README には requirements.txt や environment.yml の記載がなく、Python や PyTorch のバージョン指定も読み取れない。ノートブックの実行に必要なパッケージは各ノートブックの import を自分で読んで揃える必要がある。日本語環境で試す場合、ノートブック内の説明文は中国語なので、コードセルだけを追う読み方になる。

第6章から第8章は未提供:微調、RLHF、実運用の章が空いている

章一覧では第6章「用于文本分类的微调」、第7章「使用人类反馈进行微调」、第8章「在实践中使用大型语言模型」の主要コードと補足がともに「即将发布」と表示されている。つまり現時点のリポジトリで完結するのは、事前学習までの GPT 構築と、モデル別アーキテクチャのノートブックである。分類タスクへの微調や RLHF、推論運用を目的にこのリポジトリを選ぶと、該当章が存在しないため目的を達成できない。README の「即将发布」は公開済みコンテンツの説明であって、提供予定日は書かれていない。

ChatGLM3・Llama3・RWKV のノートブックは GPT 教程と何が違うか

Model_Architecture_Discussions 側は、モデルごとに設計の読み解き方が異なる。ChatGLM3 のノートブック名は 加载模型权重.ipynb で、重みの読み込みから入る点が GPT 教程の「ゼロから学習させる」流れと対照的である。Llama3 は llama3-from-scratch.ipynb という名前で、スクラッチ実装の系譜に置かれている。RWKV は v2 から v5 までバージョン別に guide ノートブックが分かれ、同じ系列の設計が版ごとにどう変わったかを並べて追える構成になっている。GPT 教程が一本の実装を積み上げるのに対し、こちらは複数アーキテクチャの比較読みに近い。

制約と注意点:学習用の小型モデルであり、ライセンス表記も一枚岩ではない

README 自身が「该方法主要用于教育」と述べており、ChatGPT 級の基盤モデルを作る手順ではない。学習データや計算資源の話は README には出てこない。ライセンスはリポジトリのメタデータが NOASSERTION で、README のバッジは Code License を Apache 2.0 と表示している。この二つは一致していないため、再配布や商用利用を検討する場合は LICENSE.txt の原文を自分で確認する必要がある。ここで法的判断を代行はできない。また README は基礎部分について rasbt/LLMs-from-scratch を基にしたと明記しており、独自実装ではない範囲がある。

代替として何を選ぶか:rasbt/LLMs-from-scratch と、各モデル公式リポジトリ

第一の比較対象は、README が明示的にクレジットしている rasbt/LLMs-from-scratch である。違いは言語と範囲で、rasbt 版は英語で GPT 系の教程を提供し、本リポジトリはそれを中国語に翻訳したノートブックを Translated_Book 配下に置きつつ、Codes 配下に簡潔版を用意するという二重構造を取っている。中国語で読みたいなら本リポジトリ、英語で原典を追いたいなら rasbt 版が素直である。第二の比較対象は ChatGLM3 や Llama3、RWKV の公式リポジトリで、そちらは推論と学習の実運用コードを提供する。本リポジトリの Model_Architecture_Discussions は設計を読むためのノートブックであり、公式実装の置き換えではない。

採用判断:誰が使い、誰が使わないか

使うべきなのは、PyTorch の基礎があり、attention や GPT ブロックを自分の手で書いて動作を確かめたい人である。中国語の解説を読めるなら第2章から第5章を順に進める価値がある。使うべきでないのは、学習済みモデルをすぐ動かしたい人、ファインチューニングや RLHF を目的とする人、日本語だけで完結させたい人である。前者二つは第6章以降が未提供であり、後者はノートブック本文が中国語である。最初に確認すべきは Codes/ch04/01_main-chapter-code/gpt.py の実装密度と、Model_Architecture_Discussions 配下で自分が読みたいモデルのノートブックが実際に存在するかどうかである。

編集部の結論

Python と PyTorch の基礎があり、attention や GPT ブロックの中身を手で書きながら理解したい読者には向く。逆に、既に学習済みモデルを動かしたい人、日本語話者で中国語の解説を読む負担を避けたい人には遠回りになる。採用を決める前に、まず Codes/ch04/01_main-chapter-code/gpt.py と Model_Architecture_Discussions 配下のノートブックを開き、第6章から第8章が「即将发布」のままであること、ライセンス表記が NOASSERTION で README 内の Apache 2.0 バッジと一致しないことを確認しておきたい。

公式情報源

  1. datawhalechina/llms-from-scratch-cn on GitHub
  2. Issues
  3. README
コミュニティノート

コミュニティノート