About this course
Learn algorithms and systems for machine learning at scale, where datasets and models exceed a single machine.
Teams train a large vision or language model on a dataset that requires distributed setup, comparing single-GPU, data-parallel DDP, and DeepSpeed ZeRO-2 configurations; additionally implement one streaming ML pipeline with River and one approximate nearest-neighbor index, benchmarking each component against a naive single-machine baseline and reporting throughput, memory, and accuracy trade-offs.
Expected outcomes
- Design and implement data-parallel and model-parallel training pipelines using PyTorch DDP, Horovod, and DeepSpeed, profiling GPU utilization and communication overhead, applying gradient compression, and scaling across multi-node clusters against MLPerf baselines.
- Build ML pipelines over datasets too large for a single machine using Dask and Apache Spark MLlib, apply GPU-accelerated preprocessing with NVIDIA RAPIDS, and tune LightGBM and XGBoost at dataset scale with distributed cross-validation.
- Design and evaluate approximate nearest-neighbor indexes (LSH, HNSW, IVF-PQ) and probabilistic data structures (Bloom filters, Count-Min Sketch, HyperLogLog, reservoir sampling) with formal error-probability bounds for billion-scale data.
- Derive and apply Chinchilla compute-optimal scaling laws, power-law fits, and IsoFLOP frontiers to choose model size, dataset volume, and compute budget; analyze stochastic optimization algorithms (SGD, SVRG, SARAH) for convergence and regret bounds.
- Implement streaming ML models with River for online learning and concept drift, and deploy trained models at scale using NVIDIA Triton Inference Server, benchmarking throughput and latency under realistic serving load.
- Describe federated learning aggregation protocols, differential privacy mechanisms, and secure aggregation, and explain their communication-accuracy trade-offs relative to centralized distributed training.
Key topics
- Distributed training
- Big-data frameworks
- Approximate & streaming algorithms
- Scaling laws
Theoretical foundations
The concepts and results this course rests on.
- Data parallelism and gradient aggregation: all-reduce, ring-allreduce, gradient compression, and synchronous vs. asynchronous SGD
- Model parallelism and pipeline parallelism: tensor parallelism, pipeline stages, micro-batching, and activation checkpointing
- Communication-computation overlap: NVLink vs. InfiniBand bandwidth models, prefetching, and gradient checkpointing strategies
- Mixed-precision training and memory efficiency: FP16/BF16 arithmetic, dynamic loss scaling, and quantization-aware training
- Distributed ML with large-scale data frameworks: pipeline-based distributed feature engineering, distributed model training, and large-scale cross-validation across partitioned datasets
- Approximate nearest-neighbor search: LSH, HNSW, IVF-PQ indexing, and the recall-latency frontier at billion scale
- Probabilistic data structures: Bloom filters, Count-Min Sketch, HyperLogLog, and reservoir sampling with error-probability guarantees
- Scaling laws for model and dataset size: Chinchilla compute-optimal scaling, power-law fits, and IsoFLOP frontiers
- Stochastic optimization and convergence guarantees: SGD noise, variance reduction (SVRG, SARAH), and online regret bounds
- Federated learning and privacy-preserving distributed ML: aggregation protocols, differential privacy mechanisms, and secure aggregation
Prerequisites
Course-specific prerequisites:
- Machine Learning
- Algorithms and data structures
- Distributed systems or databases basics
Weekly schedule 13 weeks · lecture + practice
Students use AI assistants to generate and refactor PyTorch DDP and DeepSpeed launch scripts, Ray Train and Horovod distributed training configs, and Dask and Spark MLlib pipeline code, vibe-coding the all-reduce, ZeRO-sharded, and multi-node training stages. They prompt AI to implement HNSW and IVF-PQ indexes, write Count-Min Sketch and HyperLogLog tests, synthesize streaming event data for River pipelines, and draft NVIDIA Triton model configs. AI also helps interpret throughput profiles, scaling-efficiency curves, and recall-latency benchmarks to locate the bottleneck a job hit.
Student project
Teams train a large model (vision or language) on a dataset that requires distributed setup, comparing single-GPU, data-parallel DDP, and DeepSpeed ZeRO-2 configurations. Teams additionally implement one streaming ML pipeline with River and one approximate nearest-neighbor index, benchmarking each component against a naive single-machine baseline and reporting throughput, memory, and accuracy trade-offs across all three systems.
Requirements
- Build a working system, not a set of disconnected exercises.
- Be original: a new system that solves a real problem, not a re-implementation of a tutorial or course demo.
- Show real depth: real data, real users or realistic load, and engineering trade-offs that are measured rather than assumed.
- Carry one running project from specification to a deployed, defensible result across the whole term.
- Work in a team of three or four and defend the design at each of the three presentations (weeks 5, 8, and 13).
Example projects
Assessment & grading
Grading is project-based, with no written exam. Teams of three or four present one running project three times.
| Component | What it covers | Weight |
|---|---|---|
| Project · Specification | Presentation 1 (week 5): problem, objectives, and architecture | 20% |
| Project · Interim | Presentation 2 (week 8): the working system demonstrated live | 30% |
| Project · Final | Presentation 3 (week 13): end-to-end demo with oral defense | 50% |
Tools & platforms
- Ray Train: distributed training orchestration and GPU utilization profiling
- DeepSpeed: ZeRO optimization stages and large-model training
- Dask: parallel dataframes and large-scale ANN retrieval pipelines
- River: streaming ML models and online learning with concept drift handling
- NVIDIA RAPIDS: GPU-accelerated data preprocessing and feature engineering
- Horovod: multi-node distributed training and communication profiling
- LightGBM: gradient boosting at dataset scale with distributed training support
- XGBoost: large-scale boosting across partitioned datasets with distributed cross-validation
- Apache Spark MLlib: distributed ML pipelines and probabilistic data structure computation
- NVIDIA Triton Inference Server: scalable model serving and inference throughput benchmarking
Free online courses
Existing free, video-based courses this course can build on, for self-study or as a teaching basis.
- YouTubeMining Massive Datasets, Stanford CS246 [Full Course]
- MIT OCWMathematics of Big Data and Machine Learning (MIT RES.LL-005)
In Hebrew · בעברית
- HIT - Holon Institute of Technology (Campus IL)מבוא למדעי הנתונים: כלים ושיטות
- Prof. Yossi Keshet (YouTube)למידת מכונה (Machine Learning)
Primary literature
Seminal works for advanced study.
References
Books and resources link to an online or publisher page.
- TextbookMining of Massive Datasets, 3rd edition
- TextbookDesigning Data-Intensive Applications
- PaperScaling Laws for Neural Language Models
- TextbookDeep Learning
- TextbookDive into Deep Learning
- DocumentationRay Documentation
- DocumentationPyTorch Documentation
Role in each concentration
| Concentration | Role |
|---|---|
| Intelligent Software Systems | Elective |
| Networking & Cyber Security | Elective |
| AI & Robotics | Core · Semester 1 |
| AI and Quantum Computing for Finance | Elective |
| Immersive Systems & Game Development | Elective |
| Defense Technologies & Autonomous Systems | Elective |