Complexity Analysis for ML Engineers
Learn how Big-O notation, time and space complexity, and amortized analysis apply directly to ML systems - from understanding why O(n^2) attention broke transformers to profiling GPU kernels.
Learn how Big-O notation, time and space complexity, and amortized analysis apply directly to ML systems - from understanding why O(n^2) attention broke transformers to profiling GPU kernels.
Data structures for ML infrastructure - trie for tokenizers, HNSW for vector search, inverted index for retrieval, LSM trees for feature stores, and product quantization for memory-efficient vector storage.
Dynamic programming patterns in ML - edit distance for NLP evaluation, Viterbi decoding for sequence labeling, CTC for speech recognition, dynamic time warping, beam search, Bellman equations in reinforcement learning, and DP in autoregressive generation.
Master graph representations, classical graph algorithms, and graph neural networks - from BFS/DFS and PageRank to GCN, GraphSAGE, and GAT with PyTorch Geometric.
Deep dive into hash table internals, consistent hashing for distributed ML, Bloom filters for training data deduplication, MinHash LSH for near-duplicate detection, and fingerprinting for dataset versioning.
Optimization algorithms in depth - SGD, momentum, Nesterov, AdaGrad, RMSProp, Adam derivation, AdamW, learning rate schedules, second-order methods, convergence theory, and why Adam beats SGD for transformers.
Randomized algorithms in ML - reservoir sampling for streaming data, Johnson-Lindenstrauss projections, Count-Min Sketch, HyperLogLog, randomized SVD, and locality-sensitive hashing for approximate nearest neighbor search.
Sorting algorithms and search techniques for ML engineers - from timsort internals and top-k selection to binary search for hyperparameter tuning, FAISS IVF indexes, and beam search with priority queues.