Deep-Learning-Systeme
(dlsyscourse.org)- Laut CMU handelt es sich um den Vorlesungsplan zu Deep-Learning-Systemen vom 26.8. bis 8.12.; Datum, Thema, Dozent, Folien und Links zu den Videos der Version von 2022 sind an einem Ort zusammengefasst
- Einige Vorlesungstermine können sich ändern, und Folien künftiger Vorlesungen stammen aus früheren Versionen und werden vor der jeweiligen Sitzung aktualisiert
- Der erste Teil beginnt mit Einführung und ML-Auffrischung und führt weiter zu automatischer Differenzierung, Optimierung, Abstraktionen und Implementierung von Neural-Network-Bibliotheken sowie zur Implementierung von Convolutional Networks
- Der mittlere und spätere Teil behandelt Hardware-Beschleunigung für lineare Algebra, GPUs, RNNs, Transformers, Training großer Modelle, generative Modelle, Anpassung vortrainierter Modelle und Model Deployment
- Online-Vorlesungsvideos werden zusammen mit den Folien veröffentlicht, sobald sie verfügbar sind; der Zeitplan umfasst außerdem vorlesungsfreie Tage wegen Fall Break, Democracy Day und Thanksgiving sowie Präsentationen von Studierendenprojekten
Bereitstellung der Materialien und Zeitraum des Plans
- Die gesamte Vorlesung wird als vorläufiger Zeitplan bereitgestellt
- Der genaue Zeitpunkt einiger Vorlesungen kann sich ändern
- Folien künftiger Vorlesungen sind Materialien aus früheren Versionen der Vorlesung; aktualisierte Folien werden vor der jeweiligen Sitzung veröffentlicht
- Öffentlich verfügbare Online-Vorlesungsvideos werden zusammen mit den Folien veröffentlicht, sobald sie verfügbar sind
- Die Tabelle enthält nach CMU-Zeit Datum, Vorlesungsnummer und Thema, Dozent, Folien sowie Videos der Version von 2022
- Als Dozenten sind Dettmers, Chen, Both und Students aufgeführt
Ablauf der Vorlesung
- Von Ende August bis Mitte September werden die Grundlagen von Deep-Learning-Systemen behandelt
- 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
- Von Mitte September bis Anfang Oktober erweitert sich der Stoff auf Modelltraining und Framework-Implementierung
- 9/11: Optimization
- 9/16: Neural Network Library Abstractions
- 9/18: Normalization, Dropout, + Implementation
- 9/23: NN Library Implementation
- 9/25: Convolutional Networks
- Von Ende September bis Mitte Oktober geht es um Hardware-Beschleunigung und CNN-Implementierung
- 9/30: Hardware Acceleration for Linear Algebra
- 10/2: Hardware Acceleration + GPUs
- 10/7: Hardware Acceleration Implementation
- 10/9: Convoluations Network Implementation
- Am 14.10. und 16.10. findet wegen Fall Break keine Vorlesung statt
- Ende Oktober werden Sequence Modeling und Transformers behandelt
- 10/21: Sequence Modeling + RNNs
- 10/23: Sequence Modeling Implementation
- 10/28: Transformers and Autoregressive Models
- 10/30: Transformers Implementation
- Ab November folgen große Modelle, generative Modelle, Deployment und Projektpräsentationen
- Am 4.11. findet wegen Democracy Day keine Vorlesung statt
- 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
- Am 27.11. findet wegen Thanksgiving keine Vorlesung statt
- 12/2, 12/4 und 12/8 sind für Präsentationen von Studierendenprojekten vorgesehen
1 Kommentare
Hacker-News-Kommentare
Ich mag die Stelle sehr, an der sich über Namen lustig gemacht wird, die im Deep Learning kaum Bedeutung haben, wie „keys“, „queries“ und „values“ in der Folie zu Self-Attention-Operationen.
Auch im Kontext von LSTMs wird gespottet, man habe Namen wie „forget gate“, „input gate“ und „output gate“ hineingepackt; gerade durch solche Erklärungen bekomme ich aber eher das Gefühl, das Thema wirklich zu verstehen.
Früher hatte ich das Gefühl, durch die unbeholfene Terminologie völlig in die falsche Richtung geführt worden zu sein.
Trotzdem finde ich es gut, einprägsame Namen zu haben, die man verwenden kann, wenn man Konzepte in Worten erklärt.
cell_h = cell_(h-1) * forget_gate + tanh(linear(input_h)) * input_gateout_h = cell_h * output_gateWie man sieht, maskiert
forget_gatedie Eingabe, indem es sie mit einer Zahl aus[0, 1]multipliziert;input_gatesteuert die externe Eingabe, undoutput_gatesteuert natürlich die Ausgabe.Öffentlich zugängliche Lehrmaterialien fühlen sich wirklich erfreulich an.
Diese Vorlesung ist ziemlich einzigartig, weil sie eine Einführung in Machine-Learning-Kompilierung und -Deployment behandelt.
In den meisten Deep-Learning-Vorlesungen wird die Implementierung den Übungsleitern überlassen, und sie wird weder aufgezeichnet noch veröffentlicht; diese Vorlesung ist eine Ausnahme.
Eine weitere gute Ausnahme ist die NYU-Deep-Learning-Vorlesung von Yann LeCun und Alfredo Canziani [0], bei der ebenfalls alle praktischen Sitzungen, die „Practica“, aufgezeichnet und veröffentlicht werden. Canziani ist ein hervorragender Lehrer.
[0]: https://atcold.github.io/pytorch-Deep-Learning
Gut. Die Deep-Learning-Vorlesung der VU Amsterdam auf YouTube gefällt mir ebenfalls ziemlich gut.
Sie hat weniger Fokus auf Systemthemen, ist aber als Einführung in modernes neuronales Machine Learning sehr gut.
Ich frage mich, ob diese Vorlesung diesen Herbst wieder angeboten wird. Es scheint, als müsse man eingeschrieben sein, um Aufgaben abzugeben; ich hoffe also, dass sie bald wieder startet.
Es ist spannend zu sehen, wie MLSys wächst.
Deep-Learning-Methoden sind rechnerisch so aufwendig, dass viele Fortschritte durch neue Algorithmen und Optimierungsmethoden entstanden sind.
Ich habe diese Vorlesung belegt, als sie an der CMU zum ersten Mal angeboten wurde; sie war wirklich hervorragend und sehr gut strukturiert.
Mir gefällt, dass Hardwarebeschleunigung behandelt wird. Das ist eine Lücke in meinem Wissen, und ich wollte anfangen, diesen Bereich zu verstehen.