ディープラーニングシステム
(dlsyscourse.org)- CMU基準で8/26〜12/8にわたるディープラーニングシステムの講義スケジュールとして、日付・トピック・講師・スライド・2022年版の動画リンクを1か所にまとめている
- 一部の講義時期は変更される可能性があり、今後の講義スライドは以前のバージョンの資料で、授業前に更新される予定
- 序盤はイントロダクションとMLの復習から始まり、自動微分、最適化、ニューラルネットワークライブラリの抽象化と実装、畳み込みネットワークの実装へと進む
- 中盤から後半では、線形代数のハードウェアアクセラレーション、GPU、RNN、Transformers、大規模モデルの学習、生成モデル、事前学習済みモデルのカスタマイズ、モデルのデプロイを扱う
- オンライン講義動画は利用可能になり次第スライドとともに公開され、スケジュールには秋休み・Democracy Day・Thanksgivingによる休講と学生プロジェクト発表も含まれる
資料の提供方法とスケジュール範囲
- 全講義は暫定スケジュールとして提供されている
- 一部講義の正確な時期は変更される可能性がある
- 今後の講義スライドは以前のバージョンの講義資料であり、各授業前に更新済みスライドが掲載される予定
- 公開オンライン講義動画は、提供可能になり次第スライドとともに掲載される
- 表にはCMU基準の日付、講義番号とトピック、講師、スライド、2022年版の動画が含まれる
- 講師はDettmers、Chen、Both、Studentsと表示されている
講義の流れ
- 8月末から9月中旬まではディープラーニングシステムの基礎を扱う
- 8/26: Introduction / Logistics
- 8/28: ML Refresher / Softmax Regression
- 9/2: Manual Neural Networks / Backprop
- 9/4: Automatic Differentiation
- 9/9: Automatic Differentiation Implementation
- 9月中旬から10月初旬まではモデル学習とフレームワーク実装へ拡張する
- 9/11: Optimization
- 9/16: Neural Network Library Abstractions
- 9/18: Normalization, Dropout, + Implementation
- 9/23: NN Library Implementation
- 9/25: Convolutional Networks
- 9月末から10月中旬まではハードウェアアクセラレーションとCNN実装を扱う
- 9/30: Hardware Acceleration for Linear Algebra
- 10/2: Hardware Acceleration + GPUs
- 10/7: Hardware Acceleration Implementation
- 10/9: Convoluations Network Implementation
- 10/14、10/16はFall Breakのため授業なし
- 10月末にはシーケンスモデリングとTransformersを扱う
- 10/21: Sequence Modeling + RNNs
- 10/23: Sequence Modeling Implementation
- 10/28: Transformers and Autoregressive Models
- 10/30: Transformers Implementation
- 11月以降は大規模モデル、生成モデル、デプロイ、プロジェクト発表へと続く
- 11/4はDemocracy Dayのため授業なし
- 11/6: Training Large Models
- 11/11: Generative Models
- 11/13: Generative Models Implementation
- 11/18: Customize Pretrained Models
- 11/20: Model Deployment
- 11/25: Future Directions / Q&A
- 11/27はThanksgivingのため授業なし
- 12/2、12/4、12/8は学生プロジェクト発表の日程
1件のコメント
Hacker News のコメント
自己注意演算 のスライドにある “keys”, “queries”, “values” のように、ディープラーニングでほとんど意味のない名前を皮肉っている部分が本当に気に入った
LSTM の文脈でも “forget gate”, “input gate”, “output gate” といった名前を無理に入れていると皮肉っているが、むしろこういう説明のおかげで、トピックをきちんと理解できているという自信が持てる
以前はぎこちない用語のせいで、完全に間違った方向へ引っ張られていたように感じていた
それでも、概念を言葉で説明するときに使える覚えやすい名前があるのは良いことだと思う
cell_h = cell_(h-1) * forget_gate + tanh(linear(input_h)) * input_gateout_h = cell_h * output_gate見れば分かるように、
forget_gateは[0, 1]の数値を掛けて入力をマスクし、input_gateは外部入力を制御し、output_gateは当然ながら出力を制御する公開教育資料は本当に心温まる
この講義は、機械学習のコンパイルとデプロイ入門を扱う、かなりユニークな講義だ
ほとんどのディープラーニング講義では実装をTAに任せ、録画も公開もしないが、この講義は例外だ
もう一つの良い例外は、Yann LeCun と Alfredo Canziani による NYU Deep Learning 講義 [0] で、そこでもすべての実習セッション “Practica” が録画され公開されている。Canziani は素晴らしい教師だ
[0]: https://atcold.github.io/pytorch-Deep-Learning
良い。YouTube にある VU Amsterdam のディープラーニング講義もかなり気に入っている
システム寄りの焦点は弱いが、現代的なニューラルネットワークベースの機械学習入門としては非常に良い
この秋にもこの講義が再び開講されるのか気になる。課題を提出するには登録が必要なようなので、近いうちにまた開講されるといい
MLSys が成長している様子を見ると期待が高まる
ディープラーニング手法は計算量が非常に多いため、多くの進展は新しいアルゴリズムと最適化手法によってもたらされてきた
CMU にいたとき、この講義が初めて開講された際に受講したが、本当に素晴らしく、よく構成された講義だった
ハードウェアアクセラレーションを扱っている点が良さそうだ。自分の知識の空白部分なので、理解を始めてみたいと思っていた領域だ