Algorithmisches Denken und effiziente Datenstrukturen für skalierbare ML-Systeme
VGALPO
Vitaly Goldshteyn, Petr Mitrichev, Aleksei (Sem.), Polina
Über den Kurs
Der Kurs behandelt klassische Algorithmen und Datenstrukturen mit Schwerpunkt auf Berechnungskomplexität und praktischer Anwendbarkeit in der ML-Infrastruktur. Die Studierenden lernen effiziente Implementierungen von Suche, Sortierung, Bäumen und Graphen sowie Algorithmen für die Arbeit mit großen Datenmengen (Streaming-Algorithmen, Locality-Sensitive Hashing) kennen. Fähigkeiten zur algorithmischen Analyse sind Voraussetzung für die Kurse zu MLOps und ML Engineering.
Was Sie lernen
✓Zeit- und Speicherkomplexität von Algorithmen analysieren und die passende Datenstruktur auswählen
✓Effiziente Indexstrukturen für die approximative Suche in hochdimensionalen Räumen implementieren
✓Streaming-Algorithmen für die Verarbeitung von Daten entwerfen, die nicht in den Speicher passen
✓Algorithmische Entscheidungen im Hinblick auf die Performance bei Skalierung begründen
Kernthemen
•Asymptotische Analyse: O, Ω, Θ; Rekurrenzrelationen
•Sortierverfahren, binäre Suche, Hash-Tabellen
•Bäume: BST, B-Bäume, Heaps, Segmentbäume
•Graphen: BFS, DFS, kürzeste Wege, Spannbäume
•Dynamische Programmierung und Greedy-Algorithmen
•Streaming-Algorithmen und Sketching
•Locality-Sensitive Hashing (LSH) und approximative Nächste-Nachbarn-Suche (ANN)
•Parallele und verteilte Primitiven (MapReduce-Modell)
•Amortisierte Analyse
Die Beschreibung wurde automatisch generiert und wurde noch nicht von der Lehrperson geprüft – dies ist ein Entwurf zur Diskussion.