なぜこの本を書いたのか
2023 年の終わり、私は中国語で Transformer の仕組みを解説する動画シリーズを公開しました。最初は自分の学習ログとして作ったものでした。ところが視聴者から繰り返し「もっと長く手元に残るもの——後から読み返せて、検索できて、コードを書く横に置いておけるテキスト版がほしい」というリクエストが届きました。
この本がそのテキスト版です。
ただし動画の文字起こしではありません。説明の順序を見直し、細部を補い、推論モデル、選好学習、Mixture of Experts、Mamba 系のアーキテクチャなどを段階的に追加しました。本書は原理を軸に構成しています。すぐ古くなる月次のモデルランキングを、長期的な学習順序とは考えません。
AI はほぼ誰の予想よりも速く動きました。Transformer についての本は、その速度を直視しつつ、それでも安定した足場を読者に渡さなければなりません。
この本の教え方
直感が先、数式は後。
技術的な解説の多くは、読者に何のメンタルモデルもないうちに記号を浴びせ始めます。この本は毎章、同じ教え方のリズムを繰り返します。
- なぜこの部品が必要なのかから始める:これは何を解決するのか
- 直感を作る:類比、幾何、図でイメージを掴む
- そこから数式を読む:考えが固まれば、数式は短く正確な言語になる
- 最後にコードを書く:動くコードが理解の試金石
章を読み終えたあと、数式を繰り返すのではなく、自分の言葉で説明できるようになっていれば、その章は仕事をしたということです。
想定する読者
この本は、以下の方に向いています。
- ChatGPT を使ったことがあり、内側で何が起きているのかを知りたい方
- Transformer の入門記事を読んでも、まだアーキテクチャがぼんやりしている方
- API を呼ぶだけでなく、小さな GPT スタイルのモデルを実装してみたい方
- LLM の内部に対する実用的なリファレンスがほしいエンジニアの方
- GPT、LLaMA、Gemini、Claude、そして近年のエージェントシステムをひとつの地図でつなぎたい方
逆に、こういう方には合わないかもしれません。
- ニューラルネットワークがまったくの初めての方
- 数学的な厳密証明を求める方
- 既存のモデルを最速で呼び出したいだけの方
読み方
短時間で全体像を掴む(1〜2 日)
Part 1 をひととおり読み(第 1〜3 章)、第 10 章(QKV)と第 15 章(完全な順伝播)に飛んでください。
体系的に学ぶ(1〜2 週間)
Part 1〜5(第 1〜20 章)を順に読み、第 18〜20 章のコードは自分で写経し、各章末のセルフテストをこなしてから次に進みます。
本番最適化に集中する
基礎が固まったら、Part 6(第 21〜22 章:Flash Attention と KV Cache)、Part 8(第 26〜27 章:LoRA と量子化)、そして第 23〜24 章にまたがる Flash Attention の派生に集中します。
最先端を追う
Part 9(第 28〜32 章)を、プロンプトエンジニアリング、RLHF と選好学習、Mixture of Experts、推論モデル、Post-Transformer アーキテクチャの地図として使います。
各章の終わりには短いチェックリストがあります。図を見ずに自分の言葉で説明できるか、自己テストとして使ってください。
2026 年の目的別学習ルート
新しいモデル名が登場するたびに第 1 章へ戻る必要はありません。原理、実装、運用のどこに疑問があるかで入口を選びます。
| 知りたいこと | 読む章 | 読後に確かめること |
|---|---|---|
| Q、K、V は何をしているのか | 第 10 章:QKV → 第 15 章:順伝播 | テンソルの形状と因果マスクの位置を説明する |
| 小さなモデルを自作したい | 第 18 章:model.py → 第 19・20 章 | 学習損失の低下と生成品質・能力評価を区別する |
| 長い文脈で推論が重くなる理由 | 第 21 章:Flash Attention → 第 22 章:KV Cache | 計算、キャッシュ容量、デコードの制約を区別する |
| メモリが少ないとき、微調整と量子化をどう選ぶか | 第 26 章:LoRA → 第 27 章:量子化 | 学習可能パラメータ削減と重み精度削減、品質評価を区別する |
| Agent とはどうつながるのか | Agent 本のはじめに | モデル内部と外部ツール・状態・検証を区別する |
原典として、構造は Attention Is All You Need、IO 最適化は FlashAttention、低ランク適応は LoRA を参照してください。まず対応する章を読み、次に論文の仮定と実験条件を確認すると理解しやすくなります。
元動画の 2023〜2024 年という日付は出版の履歴です。章の更新日は内容変更を表し、全コードを最新依存関係で再実行したという意味ではありません。
コードについて
この本のコードは実際に動かすことを前提にしています。重要な部品は、フレームワークが普段隠している中身を見せたいので、できるだけスクラッチで書きます。
# こちらは便利です:
output = nn.MultiheadAttention(embed_dim, num_heads)(query, key, value)
# こちらの方が学びになります:
scores = torch.matmul(Q, K.transpose(-2, -1)) / math.sqrt(d_k)
scores = scores.masked_fill(mask == 0, -1e9)
attention_weights = F.softmax(scores, dim=-1)
output = torch.matmul(attention_weights, V)
下の書き方を自分で書けて、各行を説明できるようになったとき、Attention は神秘ではなくなります。
謝辞
オリジナルの中国語動画を見て、質問を投げ、不明瞭な箇所を指摘してくれたすべての方に感謝します。本書の改善の多くは、その質問から生まれました。日本語の読者は本書を入口として、GitHub リポジトリで誤りや改善点を共有していただけると幸いです。中国語動画はあくまで素材のひとつとして気軽に行き来していただければ十分です。
公開講義、コース、論文、コードを通じてこの分野を学びやすくしてくれた Geoffrey Hinton、Ilya Sutskever、Andrej Karpathy をはじめとする多くの先生・研究者の皆様に感謝します。
動画を録り、本を書くために、深夜と週末をモニターに向かって過ごす私を許してくれた家族にも感謝します。
そしてこの本を読んでくださるあなたに感謝します。Transformer の語彙を見覚えるだけでなく、本当に理解する助けになることを願っています。
Wayland Zhang
オリジナル動画の収録は 2023 年 12 月から 2024 年 3 月。中国語の文字版は 2026 年 1 月にまとまり、英語版と日本語版はその後ローカライズとして始まりました。
"The best way to learn is to teach."
誤りとフィードバック
誤りを見つけたり、提案がある場合は、以下の窓口からご連絡ください。
- GitHub: github.com/WaylandZhang
- Bilibili(オリジナルの中国語動画):
@LLM张老师
技術書には必ず粗い箇所があります。注意深い読者の指摘がそれを良くしていきます。