datawhalechina/deep-learning-notes
Personal deep learning study notes and tutorial-style notebooks
これは何か
ニューラルネットワークの基本から現代の大規模言語モデルまでを扱う学習ノートのコレクションです。著者は、深層学習の資料が論文、ブログ、コース、コードに散らばっており、個々のアイデアを一つの明確な全体像に結びつけるのが難しいという一般的な問題を解決するために、これらのノートを書き始めました。ノートは、数式、コード、実際のプロジェクトを結びつけることを目指しています。
対象読者
独学で深層学習を学んでおり、基礎からLLM規模のトピックへの構造化された道筋と、実際に実行できる動作するコードを求めている人々。
カバーされている内容
| トピック領域 | READMEで言及されている具体的な内容 |
|---|---|
| ニューラルネットワークの基礎 | ネットワークの基礎、PyTorch、MLP、最適化アルゴリズム |
| 古典的なモデル | CNN、正則化、正規化、RNN、LSTM、GRU、Seq2Seq |
| アテンション時代 | アテンションメカニズム、Transformer、FlashAttention |
| LLMをスクラッチから構築 | MiniGPT実装、トークナイゼーション、GPT-2のスクラッチ構築 |
| 実世界のLLMエンジニアリング | 大規模トレーニングエンジニアリング、データ処理、スケーリング則、モデル評価、ポストトレーニング、推論 |
| 推論フレームワーク | vLLMとSGLang |
構築と公開方法
- Quarto Markdown(バージョン管理に適したMarkdownベースのプレーンテキスト形式)で書かれ、静的ウェブサイトとしてレンダリングされます。
- コンパニオンリポジトリ(jshn9515/dnnl-notebooks)は、同じコンテンツをJupyter Notebookとして提供し、同期を保っています。Quartoをローカルにインストールすれば、
quarto convert file.qmdでソースファイルを自分で変換することもできます。
環境とセットアップ
- Python 3.14とPyTorch 2.14でテスト済み。
- Transformers v5を使用——READMEは、これがv4と大きなAPIの違い(トークナイザーや量子化など)があることを警告しており、v4向けに書かれた他のチュートリアルは調整が必要かもしれません。
- **
dnnlpy**というカスタムヘルパーライブラリが必要です。これにはノート全体で使用されるカスタム実装とユーティリティが含まれています。多くの例はこれなしでは実行できません。インストールは以下で行います:
uv pip install dnnlpy
またはリポジトリから直接:
uv pip install "git+https://github.com/datawhalechina/deep-learning-notes.git#subdirectory=dnnlpy"
AI支援に関する正直な説明
著者は、LLMがテキストの草稿作成に使用されたことを明言していますが、すべての草稿は公開前に著者によってレビュー、改訂、再確認されています。ノートにはまだ省略や誤りが含まれている可能性があることを認めており、訂正を歓迎しています。
貢献方法
IssuesやPull Requestsを通じて、誤りの指摘、より明確な説明やコードコメントの提案、構造改善の提案、新しいトピックの推奨などで貢献できます。大きな変更については、著者は最初にIssueを開いて議論することを求めています。
影響
『Dive into Deep Learning』(Zhang、Lipton、Li、Smola)と李宏毅教授の講義シリーズを主要な影響として認めています。書籍の表紙デザインは『Understanding Deep Learning』に触発されています。
ライセンス
- ノート自体:CC BY-NC 4.0(非商用)。
dnnlpyライブラリ:MIT。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト