- Andrej Karpathy 自身が進行する講座で、コードでニューラルネットワークを ゼロから実装 しながら学ぶコース
- バックプロパゲーション(backpropagation) の基礎から始めて、GPT レベルの現代的なディープラーニングモデル まで段階的に構築
- 言語モデル(language model) を中心に学習を進め、PyTorch、torch.Tensor、BatchNorm、WaveNet、GPT トークナイザー などの中核技術を実習
- 各講義は モデル学習、損失計算、ハイパーパラメータ調整、オーバーフィッティング診断 など実際の開発プロセスを中心に構成
- ディープラーニングの内部動作原理と最適化の直感 を体系的に身につけられる実践型カリキュラム
講座概要
- この講座は ニューラルネットワークをコードで直接実装 しながら学ぶコースとして構成
- 基礎数学(微分、ガウシアン) と Python プログラミング能力 が求められる
- 学習者どうしの交流のための Discord チャンネル が提供される
- 言語モデル を中心に学習を進め、これは他分野(例:コンピュータビジョン)への知識転移にも有用
講義構成 (Syllabus)
1. Intro to Neural Networks and Backpropagation (2h25m)
- micrograd を直接実装しながら バックプロパゲーションとニューラルネットワーク学習プロセス を段階的に説明
- Python の基本知識 と 高校レベルの微積分 だけで理解可能
2. Intro to Language Modeling: Building makemore (1h57m)
- 文字単位のバイグラム言語モデル を実装
- torch.Tensor の使い方と効率的なニューラルネットワーク計算方法を扱う
- モデル学習、サンプリング、損失評価(負の対数尤度) のプロセスを含む
3. Building makemore Part 2: MLP (1h15m)
- 多層パーセプトロン(MLP) ベースの文字レベル言語モデルを実装
- 学習率調整、ハイパーパラメータ、データ分割(train/dev/test)、過学習/学習不足 など機械学習の基本概念を含む
4. Building makemore Part 3: Activations & Gradients, BatchNorm (1h55m)
- 多層 MLP の内部動作 を分析しながら 活性化値と勾配の統計的特性 を点検
- Batch Normalization を導入して学習の安定性を向上
- Residual connection、Adam オプティマイザ は後続の動画で扱う予定
5. Building makemore Part 4: Becoming a Backprop Ninja (1h55m)
- PyTorch autograd なしで手動バックプロパゲーション を実行
- クロスエントロピー損失、tanh、BatchNorm、埋め込みテーブル などを直接逆伝播
- 勾配の流れとテンソルレベルでの最適化の直感 を強化
6. Building makemore Part 5: Building a WaveNet (56m)
- 以前の 2 層 MLP を拡張 して WaveNet(2016) に類似した 階層的 CNN 構造 を実装
- torch.nn の内部動作原理 と ディープラーニング開発ワークフロー(ドキュメント探索、テンソル次元管理、コード統合など)を実習
7. Let's Build GPT: From Scratch, in Code (1h56m)
- GPT モデルを直接実装 しながら “Attention is All You Need” 論文と OpenAI GPT-2/3 の構造をたどる
- ChatGPT および GitHub Copilot との関連性にも言及
- 以前の makemore 講義で扱った 自己回帰言語モデリング と PyTorch nn の基礎 を前提に進行
8. Let's Build the GPT Tokenizer (2h13m)
- GPT シリーズで使われるトークナイザー をゼロから実装
- Byte Pair Encoding(BPE) ベースの学習プロセスを含む
- 文字列↔トークン変換(encode/decode) 機能を直接実装
- LLM の異常な挙動の原因の一部がトークナイズ段階にある ことを事例で分析
- トークナイザーをなくせる可能性 に関する議論を含む
進行状況
- 講座は 進行中(ongoing) の状態で、今後も追加動画が継続的にアップロードされる予定
1件のコメント
Hacker Newsの意見
以前にもディープラーニング関連の本、Coursera の講義、大学の授業、fast.ai のコースなどいろいろな資料に触れたが、実務ではほとんど使っていなかった
でもこのシリーズは、これまで見た中で直感を最もよく育ててくれるコンテンツだった。無駄な内容がほとんどなく、退屈でもない
今では、誰かが DNN の低レベルな原理を学びたいと言ったら、まず最初にこれを勧める
隣接分野から来た人には少し遅く感じられるかもしれないが、それでも常に興味深い
私は都市交通システム予測モデルを作るために時空間データモデリングを研究している。ML インフラも自分で構築し、それを実際の交通イベントストリームに展開するアプリも準備中だ
Deeplearning.ai と skills.google でオンライン学習をしたが、前者はやや古い感じがあり、後者は GPU・TPU 最適化など実務感覚をうまく扱ってくれる
しかし、本当に実務家にしてくれたのは、Keras の創始者 Francois Chollet による『Deep Learning with Python』だった。この本はディープラーニングの 70 年の歴史を背景に概念を明快に説明し、GPT や Diffusion モデルを自分で実装できるレシピまで収めている
核心的な教訓は、"ディープラーニングは科学というより芸術"だという点だ。たくさんの練習が必要で、結果を完全に説明することはできない
TensorFlow、PyTorch、Jax のサンプルノートブックも含まれている。そのおかげで、今では論文のアブストラクトを再現し、モデルを本番環境にデプロイできるくらいの自信がついた
この教材を全部見たら、どの程度のレベルに到達できるだろうか?
自分で何かを作ったり、議論に参加したりできるくらいだろうか? それとも単に概念を理解する程度だろうか?
研究者たちが持つ限界と違いが何なのか気になる
私は Deep RL Course を受講しているが、今のところかなり直感的だ。ただ、数学のパートに入ると少し苦労しそうだ
それでも backprop と tiny GPT の実装過程は理解できた。Karpathy の講義は基礎原理をつかむのに卓越している
ただしライブラリを使った実習はほとんどないので、君が挙げたコースのほうが実務には向いているかもしれない
自動採点システムがあまりに形式的で、正解にするために文章を無理やり書かなければならなかった。学習効率が悪く、時間の無駄だった
一方で Karpathy の動画は本当に宝石のような資料だった
だから、この学習が直接的な実務スキルにつながらない可能性はある
その代わり、Karpathy の別の動画 Deep Dive into LLMs like ChatGPT を勧める
Neural Network from Scratch in Python (NumPy)
No local GPU? No problem – running Karpathy’s NanoGPT on Modal.com
Modal.com and NanoGPT continued – producing output using Tiktoken for bigger tokens
ニューラルネットワークの基本メカニズムが難しいなら、最初はざっと見て、あとで見返すのを勧める。2 回目の視聴ではずっと理解しやすくなる
この動画は autograd の原理を説明していて、これは PyTorch が内部で微分を自動計算する仕組みだ
昔の TensorFlow や Torch では各レイヤーの微分関数を自分で定義しなければならなかったが、PyTorch は実行中の Python コードを記録して自動的にグラフを作り、微分を計算する
これを理解すると、PyTorch が内部でどう動いているのかがわかる
ただ、多くの利用者はその内部を知らなくてもモデルを十分に使いこなせる
まったくの初心者なら、Andrew Ng の Coursera Introduction to ML コースを勧める。最新版は知らないが、彼は素晴らしい教育者だ
cs231n は最高の授業の 1 つだったが、これは重なる部分が多そうなので後回しにしている。たぶん transformer の部分が追加されているようだ
gradient descent と 正規化(normalization) がなぜ機能するのかを直感的に理解させてくれて、学習ダイナミクスまで深く扱っている
モデルがきちんと学習できているかを判断する感覚を養ってくれる