MLOps Engineer
For engineers who want to take ML and LLM models from notebooks to production. You will build, deploy, monitor, and automate reliable ML systems on cloud infrastructure.
{"nodes":[{"id":"title","type":"title","position":{"x":0,"y":0},"data":{"label":"MLOps Engineer"},"width":1688,"height":61,"style":{"width":1688,"height":61},"measured":{"width":1688,"height":61},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":0}},{"id":"summary","type":"paragraph","position":{"x":404,"y":77},"data":{"label":"For engineers who want to take ML and LLM models from notebooks to production. You will build, deploy, monitor, and automate reliable ML systems on cloud infrastructure."},"width":880,"height":56,"style":{"width":880,"height":56},"measured":{"width":880,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":404,"y":77}},{"id":"meta","type":"paragraph","position":{"x":524,"y":147},"data":{"label":"10 STAGES · 50 TOPICS · 191 SUBTOPICS","style":{"fontSize":13,"fontFamily":"jetbrains","fontWeight":500,"color":"var(--color-fg-subtle)"}},"width":640,"height":21,"style":{"width":640,"height":21},"measured":{"width":640,"height":21},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":524,"y":147}},{"id":"stage-1","type":"section","position":{"x":0,"y":224},"data":{"label":"Programming and Engineering Foundations","description":"Build the coding, scripting, and engineering habits every production ML system depends on.","number":1},"width":824,"height":1428,"style":{"width":824,"height":1428},"measured":{"width":824,"height":1428},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":224}},{"id":"topic-1-1","type":"topic","position":{"x":28,"y":345},"data":{"label":"Python for Production","number":"1.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":345}},{"id":"sub-1-1-1","type":"subtopic","position":{"x":28,"y":413},"data":{"label":"Core Python and OOP","description":"Classes · Decorators · Generators · Context Managers"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":413}},{"id":"sub-1-1-2","type":"subtopic","position":{"x":288,"y":413},"data":{"label":"Type Hints and Validation","description":"mypy · Pydantic"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":413}},{"id":"sub-1-1-3","type":"subtopic","position":{"x":548,"y":413},"data":{"label":"Asynchronous Programming","description":"asyncio · Concurrency · Multiprocessing"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":413}},{"id":"sub-1-1-4","type":"subtopic","position":{"x":28,"y":510},"data":{"label":"Packaging and Environments","description":"uv · Poetry · pip · pyproject.toml"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":510}},{"id":"sub-1-1-5","type":"subtopic","position":{"x":288,"y":510},"data":{"label":"Profiling and Performance","description":"cProfile · py-spy · Memory Profiling"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":510}},{"id":"topic-1-2","type":"topic","position":{"x":28,"y":625},"data":{"label":"Linux and Shell Scripting","number":"1.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":625}},{"id":"sub-1-2-1","type":"subtopic","position":{"x":28,"y":693},"data":{"label":"Linux Command Line Basics"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":693}},{"id":"sub-1-2-2","type":"subtopic","position":{"x":288,"y":693},"data":{"label":"File System and Permissions"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":693}},{"id":"sub-1-2-3","type":"subtopic","position":{"x":548,"y":693},"data":{"label":"Process and Service Management","description":"systemd · cron · Signals"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":693}},{"id":"sub-1-2-4","type":"subtopic","position":{"x":28,"y":792},"data":{"label":"Bash Scripting","description":"Variables · Loops · Pipes"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":792}},{"id":"topic-1-3","type":"topic","position":{"x":28,"y":887},"data":{"label":"SQL and Databases","number":"1.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":887}},{"id":"sub-1-3-1","type":"subtopic","position":{"x":28,"y":955},"data":{"label":"Advanced Queries","description":"CTEs · Window Functions · Joins"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":955}},{"id":"sub-1-3-2","type":"subtopic","position":{"x":288,"y":955},"data":{"label":"Schema Design and Normalization"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":955}},{"id":"sub-1-3-3","type":"subtopic","position":{"x":548,"y":955},"data":{"label":"Query Optimization","description":"Indexes · Query Plans"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":955}},{"id":"topic-1-4","type":"topic","position":{"x":28,"y":1068},"data":{"label":"Version Control with Git","number":"1.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1068}},{"id":"sub-1-4-1","type":"subtopic","position":{"x":28,"y":1136},"data":{"label":"Branching Strategies","description":"GitFlow · Trunk-Based"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1136}},{"id":"sub-1-4-2","type":"subtopic","position":{"x":288,"y":1136},"data":{"label":"Merge Conflicts and Rebasing"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1136}},{"id":"sub-1-4-3","type":"subtopic","position":{"x":548,"y":1136},"data":{"label":"Git Hooks and pre-commit"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":1136}},{"id":"topic-1-5","type":"topic","position":{"x":28,"y":1231},"data":{"label":"Testing and Code Quality","number":"1.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1231}},{"id":"sub-1-5-1","type":"subtopic","position":{"x":28,"y":1299},"data":{"label":"Unit and Integration Testing","description":"pytest · Fixtures"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1299}},{"id":"sub-1-5-2","type":"subtopic","position":{"x":288,"y":1299},"data":{"label":"Mocking and Property-Based Testing","description":"unittest.mock · Hypothesis"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1299}},{"id":"sub-1-5-3","type":"subtopic","position":{"x":548,"y":1299},"data":{"label":"Linting and Formatting","description":"Ruff · Black"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":1299}},{"id":"sub-1-5-4","type":"subtopic","position":{"x":28,"y":1398},"data":{"label":"Design Patterns for ML Code"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1398}},{"id":"topic-1-6","type":"topic","position":{"x":28,"y":1491},"data":{"label":"Systems Languages (Optional)","number":"1.6"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1491}},{"id":"sub-1-6-1","type":"subtopic","position":{"x":28,"y":1559},"data":{"label":"C++ for High-Performance Inference"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1559}},{"id":"sub-1-6-2","type":"subtopic","position":{"x":288,"y":1559},"data":{"label":"Go or Rust for Infrastructure Tooling"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1559}},{"id":"stage-2","type":"section","position":{"x":864,"y":224},"data":{"label":"Machine Learning Fundamentals","description":"Understand the models you will ship so you can train, evaluate, and debug them with confidence.","number":2},"width":824,"height":1428,"style":{"width":824,"height":1428},"measured":{"width":824,"height":1428},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":224}},{"id":"topic-2-1","type":"topic","position":{"x":892,"y":345},"data":{"label":"Classical Machine Learning","number":"2.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":345}},{"id":"sub-2-1-1","type":"subtopic","position":{"x":892,"y":413},"data":{"label":"Regression and Classification"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":413}},{"id":"sub-2-1-2","type":"subtopic","position":{"x":1152,"y":413},"data":{"label":"Clustering and Dimensionality Reduction","description":"K-Means · DBSCAN · PCA"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":413}},{"id":"sub-2-1-3","type":"subtopic","position":{"x":1412,"y":413},"data":{"label":"Tree-Based Models","description":"Random Forest · XGBoost · LightGBM"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":413}},{"id":"sub-2-1-4","type":"subtopic","position":{"x":892,"y":512},"data":{"label":"Feature Engineering","description":"scikit-learn Pipelines · Encoders · Scalers"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":512}},{"id":"topic-2-2","type":"topic","position":{"x":892,"y":625},"data":{"label":"Deep Learning Basics","number":"2.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":625}},{"id":"sub-2-2-1","type":"subtopic","position":{"x":892,"y":693},"data":{"label":"Neural Network Fundamentals"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":693}},{"id":"sub-2-2-2","type":"subtopic","position":{"x":1152,"y":693},"data":{"label":"PyTorch Essentials","description":"Tensors · Autograd · DataLoaders"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":693}},{"id":"sub-2-2-3","type":"subtopic","position":{"x":1412,"y":693},"data":{"label":"TensorFlow and Keras Basics"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":693}},{"id":"sub-2-2-4","type":"subtopic","position":{"x":892,"y":790},"data":{"label":"Transformer Architecture Basics"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":790}},{"id":"sub-2-2-5","type":"subtopic","position":{"x":1152,"y":790},"data":{"label":"Pre-training vs Fine-tuning"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":790}},{"id":"topic-2-3","type":"topic","position":{"x":892,"y":883},"data":{"label":"Evaluation Metrics","number":"2.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":883}},{"id":"sub-2-3-1","type":"subtopic","position":{"x":892,"y":951},"data":{"label":"Classification Metrics","description":"Precision · Recall · F1 · ROC-AUC"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":951}},{"id":"sub-2-3-2","type":"subtopic","position":{"x":1152,"y":951},"data":{"label":"Regression Metrics","description":"MSE · MAE · R-Squared"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":951}},{"id":"sub-2-3-3","type":"subtopic","position":{"x":1412,"y":951},"data":{"label":"Validation Strategies","description":"Cross-Validation · Holdout · Time-Based Splits"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":951}},{"id":"sub-2-3-4","type":"subtopic","position":{"x":892,"y":1048},"data":{"label":"Generative Metrics","description":"Perplexity · BLEU · ROUGE"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1048}},{"id":"stage-3","type":"section","position":{"x":0,"y":1692},"data":{"label":"Data Engineering and Management","description":"Build reliable, versioned, and validated data pipelines that feed training and inference.","number":3},"width":824,"height":1309,"style":{"width":824,"height":1309},"measured":{"width":824,"height":1309},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":1692}},{"id":"topic-3-1","type":"topic","position":{"x":28,"y":1813},"data":{"label":"Data Pipelines and Orchestration","number":"3.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1813}},{"id":"sub-3-1-1","type":"subtopic","position":{"x":28,"y":1881},"data":{"label":"Apache Airflow"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1881}},{"id":"sub-3-1-2","type":"subtopic","position":{"x":288,"y":1881},"data":{"label":"Prefect"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1881}},{"id":"sub-3-1-3","type":"subtopic","position":{"x":548,"y":1881},"data":{"label":"Dagster"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":1881}},{"id":"sub-3-1-4","type":"subtopic","position":{"x":28,"y":1939},"data":{"label":"Mage"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1939}},{"id":"topic-3-2","type":"topic","position":{"x":28,"y":2013},"data":{"label":"Data Versioning","number":"3.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2013}},{"id":"sub-3-2-1","type":"subtopic","position":{"x":28,"y":2081},"data":{"label":"Data Version Control (DVC)"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2081}},{"id":"sub-3-2-2","type":"subtopic","position":{"x":288,"y":2081},"data":{"label":"lakeFS"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":2081}},{"id":"sub-3-2-3","type":"subtopic","position":{"x":548,"y":2081},"data":{"label":"Table Formats","description":"Delta Lake · Apache Iceberg"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":2081}},{"id":"topic-3-3","type":"topic","position":{"x":28,"y":2176},"data":{"label":"Data Quality and Validation","number":"3.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2176}},{"id":"sub-3-3-1","type":"subtopic","position":{"x":28,"y":2244},"data":{"label":"Great Expectations"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2244}},{"id":"sub-3-3-2","type":"subtopic","position":{"x":288,"y":2244},"data":{"label":"Pandera"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":2244}},{"id":"sub-3-3-3","type":"subtopic","position":{"x":548,"y":2244},"data":{"label":"Deequ"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":2244}},{"id":"topic-3-4","type":"topic","position":{"x":28,"y":2318},"data":{"label":"Data Labeling and Annotation","number":"3.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2318}},{"id":"sub-3-4-1","type":"subtopic","position":{"x":28,"y":2386},"data":{"label":"Label Studio"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2386}},{"id":"sub-3-4-2","type":"subtopic","position":{"x":288,"y":2386},"data":{"label":"Argilla"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":2386}},{"id":"sub-3-4-3","type":"subtopic","position":{"x":548,"y":2386},"data":{"label":"Programmatic Labeling","description":"Snorkel · Weak Supervision"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":2386}},{"id":"sub-3-4-4","type":"subtopic","position":{"x":28,"y":2465},"data":{"label":"LLM-Assisted Labeling"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2465}},{"id":"topic-3-5","type":"topic","position":{"x":28,"y":2539},"data":{"label":"Big Data and Streaming","number":"3.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2539}},{"id":"sub-3-5-1","type":"subtopic","position":{"x":28,"y":2607},"data":{"label":"Apache Spark","description":"PySpark · Spark SQL"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2607}},{"id":"sub-3-5-2","type":"subtopic","position":{"x":288,"y":2607},"data":{"label":"Apache Kafka"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":2607}},{"id":"sub-3-5-3","type":"subtopic","position":{"x":548,"y":2607},"data":{"label":"Stream Processing","description":"Apache Flink · Spark Streaming"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":2607}},{"id":"sub-3-5-4","type":"subtopic","position":{"x":28,"y":2686},"data":{"label":"Lakehouses and Warehouses","description":"Databricks · Snowflake · BigQuery"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2686}},{"id":"topic-3-6","type":"topic","position":{"x":28,"y":2820},"data":{"label":"Feature Stores","number":"3.6"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2820}},{"id":"sub-3-6-1","type":"subtopic","position":{"x":28,"y":2888},"data":{"label":"Feast"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2888}},{"id":"sub-3-6-2","type":"subtopic","position":{"x":288,"y":2888},"data":{"label":"Hopsworks"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":2888}},{"id":"sub-3-6-3","type":"subtopic","position":{"x":548,"y":2888},"data":{"label":"Managed Feature Stores","description":"SageMaker · Vertex AI · Databricks"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":2888}},{"id":"stage-4","type":"section","position":{"x":864,"y":1692},"data":{"label":"Containers and Kubernetes","description":"Package ML workloads into portable containers and run them at scale on Kubernetes.","number":4},"width":824,"height":1309,"style":{"width":824,"height":1309},"measured":{"width":824,"height":1309},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":1692}},{"id":"topic-4-1","type":"topic","position":{"x":892,"y":1813},"data":{"label":"Docker","number":"4.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1813}},{"id":"sub-4-1-1","type":"subtopic","position":{"x":892,"y":1881},"data":{"label":"Docker Fundamentals","description":"Images · Containers · Volumes · Networking"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1881}},{"id":"sub-4-1-2","type":"subtopic","position":{"x":1152,"y":1881},"data":{"label":"Docker Compose"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":1881}},{"id":"sub-4-1-3","type":"subtopic","position":{"x":1412,"y":1881},"data":{"label":"Multi-Stage Builds and Layer Caching"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":1881}},{"id":"sub-4-1-4","type":"subtopic","position":{"x":892,"y":1978},"data":{"label":"Minimal and Distroless Images"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1978}},{"id":"sub-4-1-5","type":"subtopic","position":{"x":1152,"y":1978},"data":{"label":"GPU Containers (NVIDIA Container Toolkit)"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":1978}},{"id":"topic-4-2","type":"topic","position":{"x":892,"y":2071},"data":{"label":"Kubernetes","number":"4.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2071}},{"id":"sub-4-2-1","type":"subtopic","position":{"x":892,"y":2139},"data":{"label":"Kubernetes Architecture","description":"Control Plane · Nodes · etcd"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2139}},{"id":"sub-4-2-2","type":"subtopic","position":{"x":1152,"y":2139},"data":{"label":"Core Objects","description":"Pods · Deployments · Services · Ingress"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2139}},{"id":"sub-4-2-3","type":"subtopic","position":{"x":1412,"y":2139},"data":{"label":"Config and Storage","description":"ConfigMaps · Secrets · Volumes"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":2139}},{"id":"sub-4-2-4","type":"subtopic","position":{"x":892,"y":2236},"data":{"label":"Autoscaling","description":"HPA · KEDA · Karpenter"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2236}},{"id":"sub-4-2-5","type":"subtopic","position":{"x":1152,"y":2236},"data":{"label":"GPU Scheduling (NVIDIA GPU Operator)"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2236}},{"id":"topic-4-3","type":"topic","position":{"x":892,"y":2331},"data":{"label":"Kubernetes Packaging and GitOps","number":"4.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2331}},{"id":"sub-4-3-1","type":"subtopic","position":{"x":892,"y":2399},"data":{"label":"Helm Charts"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2399}},{"id":"sub-4-3-2","type":"subtopic","position":{"x":1152,"y":2399},"data":{"label":"Kustomize"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2399}},{"id":"sub-4-3-3","type":"subtopic","position":{"x":1412,"y":2399},"data":{"label":"GitOps","description":"Argo CD · Flux"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":2399}},{"id":"stage-5","type":"section","position":{"x":0,"y":3040},"data":{"label":"Cloud Platforms and Infrastructure","description":"Provision secure, cost-efficient cloud infrastructure and accelerators for ML workloads.","number":5},"width":824,"height":1225,"style":{"width":824,"height":1225},"measured":{"width":824,"height":1225},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":3040}},{"id":"topic-5-1","type":"topic","position":{"x":28,"y":3161},"data":{"label":"Cloud Fundamentals","number":"5.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3161}},{"id":"sub-5-1-1","type":"subtopic","position":{"x":28,"y":3229},"data":{"label":"Identity and Access Management (IAM)"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3229}},{"id":"sub-5-1-2","type":"subtopic","position":{"x":288,"y":3229},"data":{"label":"Networking Basics","description":"VPCs · Subnets · Load Balancers"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3229}},{"id":"sub-5-1-3","type":"subtopic","position":{"x":548,"y":3229},"data":{"label":"Object Storage","description":"S3 · GCS · Azure Blob"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3229}},{"id":"sub-5-1-4","type":"subtopic","position":{"x":28,"y":3326},"data":{"label":"Compute Services","description":"EC2 · Compute Engine · Azure VMs"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3326}},{"id":"sub-5-1-5","type":"subtopic","position":{"x":288,"y":3326},"data":{"label":"Managed Kubernetes","description":"EKS · GKE · AKS"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3326}},{"id":"sub-5-1-6","type":"subtopic","position":{"x":548,"y":3326},"data":{"label":"Serverless Compute","description":"Lambda · Cloud Run · Azure Functions"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3326}},{"id":"topic-5-2","type":"topic","position":{"x":28,"y":3439},"data":{"label":"Managed ML Platforms","number":"5.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3439}},{"id":"sub-5-2-1","type":"subtopic","position":{"x":28,"y":3507},"data":{"label":"Amazon SageMaker"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3507}},{"id":"sub-5-2-2","type":"subtopic","position":{"x":288,"y":3507},"data":{"label":"Google Vertex AI"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3507}},{"id":"sub-5-2-3","type":"subtopic","position":{"x":548,"y":3507},"data":{"label":"Azure Machine Learning"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3507}},{"id":"sub-5-2-4","type":"subtopic","position":{"x":28,"y":3565},"data":{"label":"Databricks"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3565}},{"id":"topic-5-3","type":"topic","position":{"x":28,"y":3639},"data":{"label":"Infrastructure as Code","number":"5.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3639}},{"id":"sub-5-3-1","type":"subtopic","position":{"x":28,"y":3707},"data":{"label":"Terraform and OpenTofu"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3707}},{"id":"sub-5-3-2","type":"subtopic","position":{"x":288,"y":3707},"data":{"label":"Pulumi"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3707}},{"id":"sub-5-3-3","type":"subtopic","position":{"x":548,"y":3707},"data":{"label":"Ansible"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3707}},{"id":"topic-5-4","type":"topic","position":{"x":28,"y":3781},"data":{"label":"Hardware and Accelerators","number":"5.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3781}},{"id":"sub-5-4-1","type":"subtopic","position":{"x":28,"y":3849},"data":{"label":"GPUs and TPUs"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3849}},{"id":"sub-5-4-2","type":"subtopic","position":{"x":288,"y":3849},"data":{"label":"CUDA and GPU Monitoring","description":"nvidia-smi · NVML · DCGM"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3849}},{"id":"sub-5-4-3","type":"subtopic","position":{"x":548,"y":3849},"data":{"label":"GPU Clouds","description":"RunPod · Modal · Lambda · CoreWeave"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3849}},{"id":"topic-5-5","type":"topic","position":{"x":28,"y":3962},"data":{"label":"Cost Optimization (FinOps)","number":"5.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3962}},{"id":"sub-5-5-1","type":"subtopic","position":{"x":28,"y":4030},"data":{"label":"Pricing Models","description":"On-Demand · Spot · Reserved"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4030}},{"id":"sub-5-5-2","type":"subtopic","position":{"x":288,"y":4030},"data":{"label":"Autoscaling and Right-Sizing"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":4030}},{"id":"sub-5-5-3","type":"subtopic","position":{"x":548,"y":4030},"data":{"label":"Cloud Cost Monitoring","description":"Budgets · Tagging · Kubecost"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":4030}},{"id":"stage-6","type":"section","position":{"x":864,"y":3040},"data":{"label":"ML Pipelines and Experiment Management","description":"Automate training with reproducible pipelines, tracked experiments, and a governed model registry.","number":6},"width":824,"height":1225,"style":{"width":824,"height":1225},"measured":{"width":824,"height":1225},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":3040}},{"id":"topic-6-1","type":"topic","position":{"x":892,"y":3161},"data":{"label":"Experiment Tracking","number":"6.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3161}},{"id":"sub-6-1-1","type":"subtopic","position":{"x":892,"y":3229},"data":{"label":"MLflow Tracking"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3229}},{"id":"sub-6-1-2","type":"subtopic","position":{"x":1152,"y":3229},"data":{"label":"Weights & Biases"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3229}},{"id":"sub-6-1-3","type":"subtopic","position":{"x":1412,"y":3229},"data":{"label":"Comet"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3229}},{"id":"sub-6-1-4","type":"subtopic","position":{"x":892,"y":3287},"data":{"label":"Hyperparameter Tuning","description":"Optuna · Ray Tune"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3287}},{"id":"topic-6-2","type":"topic","position":{"x":892,"y":3382},"data":{"label":"Model Registry and Versioning","number":"6.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3382}},{"id":"sub-6-2-1","type":"subtopic","position":{"x":892,"y":3450},"data":{"label":"MLflow Model Registry"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3450}},{"id":"sub-6-2-2","type":"subtopic","position":{"x":1152,"y":3450},"data":{"label":"Cloud Registries","description":"SageMaker · Vertex AI"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3450}},{"id":"sub-6-2-3","type":"subtopic","position":{"x":1412,"y":3450},"data":{"label":"Model Packaging and Lineage","description":"Signatures · Artifacts · Metadata"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3450}},{"id":"topic-6-3","type":"topic","position":{"x":892,"y":3565},"data":{"label":"ML Pipeline Platforms","number":"6.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3565}},{"id":"sub-6-3-1","type":"subtopic","position":{"x":892,"y":3633},"data":{"label":"Kubeflow Pipelines"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3633}},{"id":"sub-6-3-2","type":"subtopic","position":{"x":1152,"y":3633},"data":{"label":"ZenML"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3633}},{"id":"sub-6-3-3","type":"subtopic","position":{"x":1412,"y":3633},"data":{"label":"Metaflow"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3633}},{"id":"sub-6-3-4","type":"subtopic","position":{"x":892,"y":3691},"data":{"label":"Cloud Pipelines","description":"SageMaker Pipelines · Vertex AI Pipelines"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3691}},{"id":"topic-6-4","type":"topic","position":{"x":892,"y":3804},"data":{"label":"CI/CD for Machine Learning","number":"6.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3804}},{"id":"sub-6-4-1","type":"subtopic","position":{"x":892,"y":3872},"data":{"label":"GitHub Actions"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3872}},{"id":"sub-6-4-2","type":"subtopic","position":{"x":1152,"y":3872},"data":{"label":"GitLab CI/CD"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3872}},{"id":"sub-6-4-3","type":"subtopic","position":{"x":1412,"y":3872},"data":{"label":"Jenkins"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3872}},{"id":"sub-6-4-4","type":"subtopic","position":{"x":892,"y":3930},"data":{"label":"Continuous Machine Learning (CML)"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3930}},{"id":"sub-6-4-5","type":"subtopic","position":{"x":1152,"y":3930},"data":{"label":"Model Validation Gates"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3930}},{"id":"topic-6-5","type":"topic","position":{"x":892,"y":4023},"data":{"label":"Distributed Training","number":"6.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4023}},{"id":"sub-6-5-1","type":"subtopic","position":{"x":892,"y":4091},"data":{"label":"Data Parallelism","description":"DDP · FSDP"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4091}},{"id":"sub-6-5-2","type":"subtopic","position":{"x":1152,"y":4091},"data":{"label":"Model Parallelism","description":"Pipeline · Tensor"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4091}},{"id":"sub-6-5-3","type":"subtopic","position":{"x":1412,"y":4091},"data":{"label":"Distributed Frameworks","description":"Ray Train · DeepSpeed"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":4091}},{"id":"sub-6-5-4","type":"subtopic","position":{"x":892,"y":4170},"data":{"label":"Communication Backends","description":"NCCL · MPI"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4170}},{"id":"stage-7","type":"section","position":{"x":0,"y":4305},"data":{"label":"Model Optimization, Serving, and Deployment","description":"Optimize models and serve them through fast, scalable APIs using safe release strategies.","number":7},"width":824,"height":1440,"style":{"width":824,"height":1440},"measured":{"width":824,"height":1440},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":4305}},{"id":"topic-7-1","type":"topic","position":{"x":28,"y":4426},"data":{"label":"Model Optimization","number":"7.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4426}},{"id":"sub-7-1-1","type":"subtopic","position":{"x":28,"y":4494},"data":{"label":"Format Conversion","description":"ONNX · torch.export"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4494}},{"id":"sub-7-1-2","type":"subtopic","position":{"x":288,"y":4494},"data":{"label":"Quantization","description":"PTQ · QAT · INT8 · FP8"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":4494}},{"id":"sub-7-1-3","type":"subtopic","position":{"x":548,"y":4494},"data":{"label":"Pruning and Knowledge Distillation"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":4494}},{"id":"sub-7-1-4","type":"subtopic","position":{"x":28,"y":4573},"data":{"label":"Compilers and Runtimes","description":"TensorRT · OpenVINO · ONNX Runtime"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4573}},{"id":"topic-7-2","type":"topic","position":{"x":28,"y":4686},"data":{"label":"API Development","number":"7.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4686}},{"id":"sub-7-2-1","type":"subtopic","position":{"x":28,"y":4754},"data":{"label":"FastAPI"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4754}},{"id":"sub-7-2-2","type":"subtopic","position":{"x":288,"y":4754},"data":{"label":"Flask and Django"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":4754}},{"id":"sub-7-2-3","type":"subtopic","position":{"x":548,"y":4754},"data":{"label":"gRPC vs REST"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":4754}},{"id":"sub-7-2-4","type":"subtopic","position":{"x":28,"y":4812},"data":{"label":"GraphQL"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4812}},{"id":"topic-7-3","type":"topic","position":{"x":28,"y":4886},"data":{"label":"Model Serving Frameworks","number":"7.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4886}},{"id":"sub-7-3-1","type":"subtopic","position":{"x":28,"y":4954},"data":{"label":"NVIDIA Triton Inference Server"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4954}},{"id":"sub-7-3-2","type":"subtopic","position":{"x":288,"y":4954},"data":{"label":"KServe"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":4954}},{"id":"sub-7-3-3","type":"subtopic","position":{"x":548,"y":4954},"data":{"label":"Ray Serve"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":4954}},{"id":"sub-7-3-4","type":"subtopic","position":{"x":28,"y":5031},"data":{"label":"BentoML"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5031}},{"id":"sub-7-3-5","type":"subtopic","position":{"x":288,"y":5031},"data":{"label":"TensorFlow Serving"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5031}},{"id":"topic-7-4","type":"topic","position":{"x":28,"y":5105},"data":{"label":"Deployment Patterns","number":"7.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5105}},{"id":"sub-7-4-1","type":"subtopic","position":{"x":28,"y":5173},"data":{"label":"Batch Inference"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5173}},{"id":"sub-7-4-2","type":"subtopic","position":{"x":288,"y":5173},"data":{"label":"Online and Real-Time Inference"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5173}},{"id":"sub-7-4-3","type":"subtopic","position":{"x":548,"y":5173},"data":{"label":"Streaming Inference"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":5173}},{"id":"sub-7-4-4","type":"subtopic","position":{"x":28,"y":5250},"data":{"label":"Edge and On-Device Deployment","description":"LiteRT · ONNX Runtime · Core ML"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5250}},{"id":"topic-7-5","type":"topic","position":{"x":28,"y":5384},"data":{"label":"Release Strategies","number":"7.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5384}},{"id":"sub-7-5-1","type":"subtopic","position":{"x":28,"y":5452},"data":{"label":"A/B Testing"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5452}},{"id":"sub-7-5-2","type":"subtopic","position":{"x":288,"y":5452},"data":{"label":"Canary Releases"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5452}},{"id":"sub-7-5-3","type":"subtopic","position":{"x":548,"y":5452},"data":{"label":"Shadow Deployment"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":5452}},{"id":"sub-7-5-4","type":"subtopic","position":{"x":28,"y":5510},"data":{"label":"Blue-Green Deployment"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5510}},{"id":"topic-7-6","type":"topic","position":{"x":28,"y":5584},"data":{"label":"ML System Design","number":"7.6"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5584}},{"id":"sub-7-6-1","type":"subtopic","position":{"x":28,"y":5652},"data":{"label":"Microservices Architecture"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5652}},{"id":"sub-7-6-2","type":"subtopic","position":{"x":288,"y":5652},"data":{"label":"Event-Driven Architecture"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5652}},{"id":"sub-7-6-3","type":"subtopic","position":{"x":548,"y":5652},"data":{"label":"Scalability and High Availability"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":5652}},{"id":"stage-8","type":"section","position":{"x":864,"y":4305},"data":{"label":"Monitoring, Observability, and Governance","description":"Detect drift, trace failures, retrain automatically, and keep models secure, fair, and compliant.","number":8},"width":824,"height":1440,"style":{"width":824,"height":1440},"measured":{"width":824,"height":1440},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":4305}},{"id":"topic-8-1","type":"topic","position":{"x":892,"y":4426},"data":{"label":"Infrastructure Monitoring","number":"8.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4426}},{"id":"sub-8-1-1","type":"subtopic","position":{"x":892,"y":4494},"data":{"label":"Prometheus"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4494}},{"id":"sub-8-1-2","type":"subtopic","position":{"x":1152,"y":4494},"data":{"label":"Grafana"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4494}},{"id":"sub-8-1-3","type":"subtopic","position":{"x":1412,"y":4494},"data":{"label":"Logging Stacks","description":"ELK · Loki · OpenSearch"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":4494}},{"id":"topic-8-2","type":"topic","position":{"x":892,"y":4589},"data":{"label":"Logging, Tracing, and Alerting","number":"8.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4589}},{"id":"sub-8-2-1","type":"subtopic","position":{"x":892,"y":4657},"data":{"label":"Structured Logging"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4657}},{"id":"sub-8-2-2","type":"subtopic","position":{"x":1152,"y":4657},"data":{"label":"Distributed Tracing","description":"OpenTelemetry · Jaeger"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4657}},{"id":"sub-8-2-3","type":"subtopic","position":{"x":1412,"y":4657},"data":{"label":"Alerting and On-Call","description":"Alertmanager · PagerDuty"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":4657}},{"id":"sub-8-2-4","type":"subtopic","position":{"x":892,"y":4736},"data":{"label":"SLOs and Incident Response"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4736}},{"id":"topic-8-3","type":"topic","position":{"x":892,"y":4829},"data":{"label":"ML Model Monitoring","number":"8.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4829}},{"id":"sub-8-3-1","type":"subtopic","position":{"x":892,"y":4897},"data":{"label":"Data Drift and Concept Drift"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4897}},{"id":"sub-8-3-2","type":"subtopic","position":{"x":1152,"y":4897},"data":{"label":"Prediction and Performance Monitoring"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4897}},{"id":"sub-8-3-3","type":"subtopic","position":{"x":1412,"y":4897},"data":{"label":"Evidently AI"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":4897}},{"id":"sub-8-3-4","type":"subtopic","position":{"x":892,"y":4974},"data":{"label":"Arize AI"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4974}},{"id":"sub-8-3-5","type":"subtopic","position":{"x":1152,"y":4974},"data":{"label":"Fiddler"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4974}},{"id":"topic-8-4","type":"topic","position":{"x":892,"y":5048},"data":{"label":"Continuous Training","number":"8.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5048}},{"id":"sub-8-4-1","type":"subtopic","position":{"x":892,"y":5116},"data":{"label":"Automated Retraining Pipelines"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5116}},{"id":"sub-8-4-2","type":"subtopic","position":{"x":1152,"y":5116},"data":{"label":"Retraining Triggers","description":"Schedule · Drift · Performance"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5116}},{"id":"sub-8-4-3","type":"subtopic","position":{"x":1412,"y":5116},"data":{"label":"Feedback Loops and Label Collection"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":5116}},{"id":"topic-8-5","type":"topic","position":{"x":892,"y":5211},"data":{"label":"Security and Governance","number":"8.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5211}},{"id":"sub-8-5-1","type":"subtopic","position":{"x":892,"y":5279},"data":{"label":"Adversarial Robustness"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5279}},{"id":"sub-8-5-2","type":"subtopic","position":{"x":1152,"y":5279},"data":{"label":"Data Privacy and Anonymization"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5279}},{"id":"sub-8-5-3","type":"subtopic","position":{"x":1412,"y":5279},"data":{"label":"Supply Chain Security","description":"Image Scanning · SBOMs · Model Signing"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":5279}},{"id":"sub-8-5-4","type":"subtopic","position":{"x":892,"y":5376},"data":{"label":"Secrets Management","description":"Vault · Cloud KMS"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5376}},{"id":"topic-8-6","type":"topic","position":{"x":892,"y":5471},"data":{"label":"Responsible AI and Compliance","number":"8.6"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5471}},{"id":"sub-8-6-1","type":"subtopic","position":{"x":892,"y":5539},"data":{"label":"Bias and Fairness Auditing"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5539}},{"id":"sub-8-6-2","type":"subtopic","position":{"x":1152,"y":5539},"data":{"label":"Model Explainability","description":"SHAP · LIME"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5539}},{"id":"sub-8-6-3","type":"subtopic","position":{"x":1412,"y":5539},"data":{"label":"Model Cards and Documentation"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":5539}},{"id":"sub-8-6-4","type":"subtopic","position":{"x":892,"y":5618},"data":{"label":"Regulatory Compliance","description":"EU AI Act · GDPR · HIPAA"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5618}},{"id":"stage-9","type":"section","position":{"x":0,"y":5784},"data":{"label":"LLMOps and Generative AI Systems","description":"Operate LLM applications in production, from fine-tuning and serving to RAG, agents, and evaluation.","number":9},"width":824,"height":1346,"style":{"width":824,"height":1346},"measured":{"width":824,"height":1346},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":5784}},{"id":"topic-9-1","type":"topic","position":{"x":28,"y":5905},"data":{"label":"LLM Fine-Tuning","number":"9.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5905}},{"id":"sub-9-1-1","type":"subtopic","position":{"x":28,"y":5973},"data":{"label":"Parameter-Efficient Fine-Tuning","description":"LoRA · QLoRA · PEFT"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5973}},{"id":"sub-9-1-2","type":"subtopic","position":{"x":288,"y":5973},"data":{"label":"Fine-Tuning Tooling","description":"Hugging Face TRL · Unsloth · Axolotl"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5973}},{"id":"sub-9-1-3","type":"subtopic","position":{"x":548,"y":5973},"data":{"label":"Preference Alignment","description":"DPO · RLHF"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":5973}},{"id":"topic-9-2","type":"topic","position":{"x":28,"y":6088},"data":{"label":"LLM Serving and Inference","number":"9.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6088}},{"id":"sub-9-2-1","type":"subtopic","position":{"x":28,"y":6156},"data":{"label":"Inference Engines","description":"vLLM · SGLang · TensorRT-LLM"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6156}},{"id":"sub-9-2-2","type":"subtopic","position":{"x":288,"y":6156},"data":{"label":"Local and Edge Serving","description":"Ollama · llama.cpp"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6156}},{"id":"sub-9-2-3","type":"subtopic","position":{"x":548,"y":6156},"data":{"label":"LLM Quantization","description":"AWQ · GPTQ · GGUF · FP8"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":6156}},{"id":"sub-9-2-4","type":"subtopic","position":{"x":28,"y":6253},"data":{"label":"KV Cache and Batching","description":"PagedAttention · Continuous Batching"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6253}},{"id":"sub-9-2-5","type":"subtopic","position":{"x":288,"y":6253},"data":{"label":"AI Gateways and Routing","description":"LiteLLM · Rate Limiting · Fallbacks"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6253}},{"id":"topic-9-3","type":"topic","position":{"x":28,"y":6366},"data":{"label":"Retrieval-Augmented Generation","number":"9.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6366}},{"id":"sub-9-3-1","type":"subtopic","position":{"x":28,"y":6434},"data":{"label":"RAG Pipelines","description":"Chunking · Embeddings · Reranking"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6434}},{"id":"sub-9-3-2","type":"subtopic","position":{"x":288,"y":6434},"data":{"label":"Vector Databases","description":"Milvus · Qdrant · Weaviate · Pinecone · pgvector"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6434}},{"id":"sub-9-3-3","type":"subtopic","position":{"x":548,"y":6434},"data":{"label":"RAG Frameworks","description":"LangChain · LlamaIndex"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":6434}},{"id":"topic-9-4","type":"topic","position":{"x":28,"y":6547},"data":{"label":"Prompt Management and Observability","number":"9.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6547}},{"id":"sub-9-4-1","type":"subtopic","position":{"x":28,"y":6615},"data":{"label":"Prompt Versioning and Templates"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6615}},{"id":"sub-9-4-2","type":"subtopic","position":{"x":288,"y":6615},"data":{"label":"LLM Tracing","description":"LangSmith · Langfuse · Arize Phoenix"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6615}},{"id":"sub-9-4-3","type":"subtopic","position":{"x":548,"y":6615},"data":{"label":"Token Usage and Cost Tracking"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":6615}},{"id":"topic-9-5","type":"topic","position":{"x":28,"y":6728},"data":{"label":"LLM Evaluation and Guardrails","number":"9.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6728}},{"id":"sub-9-5-1","type":"subtopic","position":{"x":28,"y":6796},"data":{"label":"Evaluation Frameworks","description":"Ragas · DeepEval · TruLens"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6796}},{"id":"sub-9-5-2","type":"subtopic","position":{"x":288,"y":6796},"data":{"label":"LLM-as-a-Judge"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6796}},{"id":"sub-9-5-3","type":"subtopic","position":{"x":548,"y":6796},"data":{"label":"Guardrails","description":"NeMo Guardrails · Llama Guard"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":6796}},{"id":"sub-9-5-4","type":"subtopic","position":{"x":28,"y":6875},"data":{"label":"Prompt Injection Defenses"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6875}},{"id":"topic-9-6","type":"topic","position":{"x":28,"y":6949},"data":{"label":"Agentic Systems","number":"9.6"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6949}},{"id":"sub-9-6-1","type":"subtopic","position":{"x":28,"y":7017},"data":{"label":"Agent Frameworks","description":"LangGraph · CrewAI · OpenAI Agents SDK"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":7017}},{"id":"sub-9-6-2","type":"subtopic","position":{"x":288,"y":7017},"data":{"label":"Tool Calling and MCP"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":7017}},{"id":"sub-9-6-3","type":"subtopic","position":{"x":548,"y":7017},"data":{"label":"Agent Observability and Evaluation"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":7017}},{"id":"stage-10","type":"section","position":{"x":864,"y":5784},"data":{"label":"Capstone Projects and Career","description":"Prove your skills with end-to-end projects, a strong portfolio, and interview preparation.","number":10},"width":824,"height":1346,"style":{"width":824,"height":1346},"measured":{"width":824,"height":1346},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":5784}},{"id":"topic-10-1","type":"topic","position":{"x":892,"y":5905},"data":{"label":"Capstone Projects","number":"10.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5905}},{"id":"sub-10-1-1","type":"subtopic","position":{"x":892,"y":5973},"data":{"label":"End-to-End ML Pipeline","description":"Data · Training · Registry · Serving · Monitoring"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5973}},{"id":"sub-10-1-2","type":"subtopic","position":{"x":1152,"y":5973},"data":{"label":"Kubernetes Model Serving Platform","description":"KServe · Autoscaling · Canary Releases"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5973}},{"id":"sub-10-1-3","type":"subtopic","position":{"x":1412,"y":5973},"data":{"label":"Production RAG Service","description":"Vector Database · Evaluation · Tracing"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":5973}},{"id":"sub-10-1-4","type":"subtopic","position":{"x":892,"y":6091},"data":{"label":"Drift Detection and Auto-Retraining"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6091}},{"id":"topic-10-2","type":"topic","position":{"x":892,"y":6184},"data":{"label":"Portfolio and Visibility","number":"10.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6184}},{"id":"sub-10-2-1","type":"subtopic","position":{"x":892,"y":6252},"data":{"label":"Documented GitHub Repositories"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6252}},{"id":"sub-10-2-2","type":"subtopic","position":{"x":1152,"y":6252},"data":{"label":"Architecture Diagrams and Write-Ups"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":6252}},{"id":"sub-10-2-3","type":"subtopic","position":{"x":1412,"y":6252},"data":{"label":"Open-Source Contributions"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":6252}},{"id":"sub-10-2-4","type":"subtopic","position":{"x":892,"y":6329},"data":{"label":"Technical Blog Posts"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6329}},{"id":"topic-10-3","type":"topic","position":{"x":892,"y":6403},"data":{"label":"Certifications (Optional)","number":"10.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6403}},{"id":"sub-10-3-1","type":"subtopic","position":{"x":892,"y":6471},"data":{"label":"AWS ML Engineer Associate"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6471}},{"id":"sub-10-3-2","type":"subtopic","position":{"x":1152,"y":6471},"data":{"label":"Google Professional ML Engineer"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":6471}},{"id":"sub-10-3-3","type":"subtopic","position":{"x":1412,"y":6471},"data":{"label":"Kubernetes Certifications","description":"CKA · CKAD"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":6471}},{"id":"sub-10-3-4","type":"subtopic","position":{"x":892,"y":6550},"data":{"label":"HashiCorp Terraform Associate"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6550}},{"id":"topic-10-4","type":"topic","position":{"x":892,"y":6643},"data":{"label":"Interview Preparation","number":"10.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6643}},{"id":"sub-10-4-1","type":"subtopic","position":{"x":892,"y":6711},"data":{"label":"ML System Design Interviews"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6711}},{"id":"sub-10-4-2","type":"subtopic","position":{"x":1152,"y":6711},"data":{"label":"Coding and Debugging Rounds"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":6711}},{"id":"sub-10-4-3","type":"subtopic","position":{"x":1412,"y":6711},"data":{"label":"Infrastructure and Kubernetes Scenarios"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":6711}},{"id":"sub-10-4-4","type":"subtopic","position":{"x":892,"y":6788},"data":{"label":"Behavioral and Incident Stories"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6788}}],"edges":[]}
01 Programming and Engineering Foundations Build the coding, scripting, and engineering habits every production ML system depends on.
02 Machine Learning Fundamentals Understand the models you will ship so you can train, evaluate, and debug them with confidence.
03 Data Engineering and Management Build reliable, versioned, and validated data pipelines that feed training and inference.
04 Containers and Kubernetes Package ML workloads into portable containers and run them at scale on Kubernetes.
05 Cloud Platforms and Infrastructure Provision secure, cost-efficient cloud infrastructure and accelerators for ML workloads.
06 ML Pipelines and Experiment Management Automate training with reproducible pipelines, tracked experiments, and a governed model registry.
07 Model Optimization, Serving, and Deployment Optimize models and serve them through fast, scalable APIs using safe release strategies.
08 Monitoring, Observability, and Governance Detect drift, trace failures, retrain automatically, and keep models secure, fair, and compliant.
09 LLMOps and Generative AI Systems Operate LLM applications in production, from fine-tuning and serving to RAG, agents, and evaluation.
10 Capstone Projects and Career Prove your skills with end-to-end projects, a strong portfolio, and interview preparation.
MLOps Engineer
For engineers who want to take ML and LLM models from notebooks to production. You will build, deploy, monitor, and automate reliable ML systems on cloud infrastructure.
10 STAGES · 50 TOPICS · 191 SUBTOPICS
1.1 Python for Production
Core Python and OOP Classes · Decorators · Generators · Context Managers
Type Hints and Validation mypy · Pydantic
Asynchronous Programming asyncio · Concurrency · Multiprocessing
Packaging and Environments uv · Poetry · pip · pyproject.toml
Profiling and Performance cProfile · py-spy · Memory Profiling
1.2 Linux and Shell Scripting
Linux Command Line Basics
File System and Permissions
Process and Service Management systemd · cron · Signals
Bash Scripting Variables · Loops · Pipes
1.3 SQL and Databases
Advanced Queries CTEs · Window Functions · Joins
Schema Design and Normalization
Query Optimization Indexes · Query Plans
1.4 Version Control with Git
Branching Strategies GitFlow · Trunk-Based
Merge Conflicts and Rebasing
Git Hooks and pre-commit
1.5 Testing and Code Quality
Unit and Integration Testing pytest · Fixtures
Mocking and Property-Based Testing unittest.mock · Hypothesis
Linting and Formatting Ruff · Black
Design Patterns for ML Code
1.6 Systems Languages (Optional)
C++ for High-Performance Inference
Go or Rust for Infrastructure Tooling
2.1 Classical Machine Learning
Regression and Classification
Clustering and Dimensionality Reduction K-Means · DBSCAN · PCA
Tree-Based Models Random Forest · XGBoost · LightGBM
Feature Engineering scikit-learn Pipelines · Encoders · Scalers
2.2 Deep Learning Basics
Neural Network Fundamentals
PyTorch Essentials Tensors · Autograd · DataLoaders
TensorFlow and Keras Basics
Transformer Architecture Basics
Pre-training vs Fine-tuning
2.3 Evaluation Metrics
Classification Metrics Precision · Recall · F1 · ROC-AUC
Regression Metrics MSE · MAE · R-Squared
Validation Strategies Cross-Validation · Holdout · Time-Based Splits
Generative Metrics Perplexity · BLEU · ROUGE
3.1 Data Pipelines and Orchestration
Apache Airflow
Prefect
Dagster
Mage
3.2 Data Versioning
Data Version Control (DVC)
lakeFS
Table Formats Delta Lake · Apache Iceberg
3.3 Data Quality and Validation
Great Expectations
Pandera
Deequ
3.4 Data Labeling and Annotation
Label Studio
Argilla
Programmatic Labeling Snorkel · Weak Supervision
LLM-Assisted Labeling
3.5 Big Data and Streaming
Apache Spark PySpark · Spark SQL
Apache Kafka
Stream Processing Apache Flink · Spark Streaming
Lakehouses and Warehouses Databricks · Snowflake · BigQuery
3.6 Feature Stores
Feast
Hopsworks
Managed Feature Stores SageMaker · Vertex AI · Databricks
4.1 Docker
Docker Fundamentals Images · Containers · Volumes · Networking
Docker Compose
Multi-Stage Builds and Layer Caching
Minimal and Distroless Images
GPU Containers (NVIDIA Container Toolkit)
4.2 Kubernetes
Kubernetes Architecture Control Plane · Nodes · etcd
Core Objects Pods · Deployments · Services · Ingress
Config and Storage ConfigMaps · Secrets · Volumes
Autoscaling HPA · KEDA · Karpenter
GPU Scheduling (NVIDIA GPU Operator)
4.3 Kubernetes Packaging and GitOps
Helm Charts
Kustomize
GitOps Argo CD · Flux
5.1 Cloud Fundamentals
Identity and Access Management (IAM)
Networking Basics VPCs · Subnets · Load Balancers
Object Storage S3 · GCS · Azure Blob
Compute Services EC2 · Compute Engine · Azure VMs
Managed Kubernetes EKS · GKE · AKS
Serverless Compute Lambda · Cloud Run · Azure Functions
5.2 Managed ML Platforms
Amazon SageMaker
Google Vertex AI
Azure Machine Learning
Databricks
5.3 Infrastructure as Code
Terraform and OpenTofu
Pulumi
Ansible
5.4 Hardware and Accelerators
GPUs and TPUs
CUDA and GPU Monitoring nvidia-smi · NVML · DCGM
GPU Clouds RunPod · Modal · Lambda · CoreWeave
5.5 Cost Optimization (FinOps)
Pricing Models On-Demand · Spot · Reserved
Autoscaling and Right-Sizing
Cloud Cost Monitoring Budgets · Tagging · Kubecost
6.1 Experiment Tracking
MLflow Tracking
Weights & Biases
Comet
Hyperparameter Tuning Optuna · Ray Tune
6.2 Model Registry and Versioning
MLflow Model Registry
Cloud Registries SageMaker · Vertex AI
Model Packaging and Lineage Signatures · Artifacts · Metadata
6.3 ML Pipeline Platforms
Kubeflow Pipelines
ZenML
Metaflow
Cloud Pipelines SageMaker Pipelines · Vertex AI Pipelines
6.4 CI/CD for Machine Learning
GitHub Actions
GitLab CI/CD
Jenkins
Continuous Machine Learning (CML)
Model Validation Gates
6.5 Distributed Training
Data Parallelism DDP · FSDP
Model Parallelism Pipeline · Tensor
Distributed Frameworks Ray Train · DeepSpeed
Communication Backends NCCL · MPI
7.1 Model Optimization
Format Conversion ONNX · torch.export
Quantization PTQ · QAT · INT8 · FP8
Pruning and Knowledge Distillation
Compilers and Runtimes TensorRT · OpenVINO · ONNX Runtime
7.2 API Development
FastAPI
Flask and Django
gRPC vs REST
GraphQL
7.3 Model Serving Frameworks
NVIDIA Triton Inference Server
KServe
Ray Serve
BentoML
TensorFlow Serving
7.4 Deployment Patterns
Batch Inference
Online and Real-Time Inference
Streaming Inference
Edge and On-Device Deployment LiteRT · ONNX Runtime · Core ML
7.5 Release Strategies
A/B Testing
Canary Releases
Shadow Deployment
Blue-Green Deployment
7.6 ML System Design
Microservices Architecture
Event-Driven Architecture
Scalability and High Availability
8.1 Infrastructure Monitoring
Prometheus
Grafana
Logging Stacks ELK · Loki · OpenSearch
8.2 Logging, Tracing, and Alerting
Structured Logging
Distributed Tracing OpenTelemetry · Jaeger
Alerting and On-Call Alertmanager · PagerDuty
SLOs and Incident Response
8.3 ML Model Monitoring
Data Drift and Concept Drift
Prediction and Performance Monitoring
Evidently AI
Arize AI
Fiddler
8.4 Continuous Training
Automated Retraining Pipelines
Retraining Triggers Schedule · Drift · Performance
Feedback Loops and Label Collection
8.5 Security and Governance
Adversarial Robustness
Data Privacy and Anonymization
Supply Chain Security Image Scanning · SBOMs · Model Signing
Secrets Management Vault · Cloud KMS
8.6 Responsible AI and Compliance
Bias and Fairness Auditing
Model Explainability SHAP · LIME
Model Cards and Documentation
Regulatory Compliance EU AI Act · GDPR · HIPAA
9.1 LLM Fine-Tuning
Parameter-Efficient Fine-Tuning LoRA · QLoRA · PEFT
Fine-Tuning Tooling Hugging Face TRL · Unsloth · Axolotl
Preference Alignment DPO · RLHF
9.2 LLM Serving and Inference
Inference Engines vLLM · SGLang · TensorRT-LLM
Local and Edge Serving Ollama · llama.cpp
LLM Quantization AWQ · GPTQ · GGUF · FP8
KV Cache and Batching PagedAttention · Continuous Batching
AI Gateways and Routing LiteLLM · Rate Limiting · Fallbacks
9.3 Retrieval-Augmented Generation
RAG Pipelines Chunking · Embeddings · Reranking
Vector Databases Milvus · Qdrant · Weaviate · Pinecone · pgvector
RAG Frameworks LangChain · LlamaIndex
9.4 Prompt Management and Observability
Prompt Versioning and Templates
LLM Tracing LangSmith · Langfuse · Arize Phoenix
Token Usage and Cost Tracking
9.5 LLM Evaluation and Guardrails
Evaluation Frameworks Ragas · DeepEval · TruLens
LLM-as-a-Judge
Guardrails NeMo Guardrails · Llama Guard
Prompt Injection Defenses
9.6 Agentic Systems
Agent Frameworks LangGraph · CrewAI · OpenAI Agents SDK
Tool Calling and MCP
Agent Observability and Evaluation
10.1 Capstone Projects
End-to-End ML Pipeline Data · Training · Registry · Serving · Monitoring
Kubernetes Model Serving Platform KServe · Autoscaling · Canary Releases
Production RAG Service Vector Database · Evaluation · Tracing
Drift Detection and Auto-Retraining
10.2 Portfolio and Visibility
Documented GitHub Repositories
Architecture Diagrams and Write-Ups
Open-Source Contributions
Technical Blog Posts
10.3 Certifications (Optional)
AWS ML Engineer Associate
Google Professional ML Engineer
Kubernetes Certifications CKA · CKAD
HashiCorp Terraform Associate
10.4 Interview Preparation
ML System Design Interviews
Coding and Debugging Rounds
Infrastructure and Kubernetes Scenarios
Behavioral and Incident Stories