Intermediate everything in AI & ML, page 19

Edge AI: Running Models Where the Data Is
Edge AI runs machine learning models directly on devices, not in a distant cloud. This enables real-time, offline applications like smart cameras or voice assistants. The footgun is underestimating device hardware limits; models must be small and efficient.
Streaming Inference: Real-Time Model Predictions
Streaming inference makes predictions on data in-flight, not from a database. It's for real-time recommendations or fraud detection where millisecond decisions are critical. The footgun is assuming a single server can handle the load; you must build for scale.
Serverless Inference: Run ML Models Without Managing Servers
Serverless inference treats ML prediction like a function call, abstracting away servers. You pay for compute time per prediction, not for idle infrastructure.
Automating MLOps with GitHub Actions
Treat your ML workflow like any other CI/CD pipeline. GitHub Actions automates MLOps tasks—like training, testing, and deployment—triggered by events in your repo. Use it to run validation on PRs or deploy models on merge.

Elastic Training: Training Models on Unreliable Hardware
Elastic Training lets ML training jobs survive worker nodes being added or removed mid-run. It's like a construction crew that adapts to a changing number of workers, making it ideal for training large models on cheap but unreliable cloud spot instances.
Slurm: The Job Scheduler for Supercomputers
Slurm is the reservation system for a shared supercomputer, queuing up jobs and assigning them to available nodes. It's the backbone of high-performance computing clusters in science and ML.
Kubeflow: MLOps on Kubernetes
Kubeflow brings the declarative, container-based world of Kubernetes to the entire ML lifecycle. It provides tools for building portable and scalable ML workflows, from development to production serving.

Ray AI Runtime (AIR): A Unified ML Toolkit
Ray AIR is a unified toolbox for the ML lifecycle, bundling libraries for data, training, tuning, and serving. It's for scaling end-to-end ML workflows on one distributed platform.
Horovod: Scale ML Training Across Many GPUs
Horovod scales a single-GPU training script to hundreds of GPUs with minimal code changes, slashing training time. It's used when models are too big for one machine.
Parameter Servers for Distributed ML Training
A parameter server splits the work in distributed training: central servers hold the model's parameters, while worker nodes pull parameters, compute gradients on data subsets, and push updates back. This enables training models too large for one machine.
Configuration as Code: Version Control for Your Settings
Configuration as Code treats your system settings like source code: defined in files, versioned, and automatically applied. It's used to manage app settings or service credentials across environments, preventing manual errors.

Dev Containers: Your Dev Environment as Code
A dev container packages your entire development environment—tools, libraries, and settings—into a single, portable container. Use it to standardize team environments, simplify onboarding, and ensure consistency between local dev and CI.
Docker Bind Mounts: A Portal to Your Host Filesystem
A bind mount is a portal from your host machine's filesystem directly into a container, where changes on either side are reflected instantly. Use it for live code development, but never for production data, as it creates a major security risk.
Conda Environments: Isolate Your Project Dependencies
Think of a Conda environment as a separate workshop for each project, with its own tools (packages) and Python version. This prevents dependency conflicts when Project A needs a different library version than Project B.
Hydra: Composable Configuration for Complex Apps
Hydra treats configuration like LEGOs. Instead of one monolithic file, you compose small, reusable config pieces for each run. It's ideal for ML experiments where you override settings from the command line.
Model Signature: The API Contract for Your ML Model
A model signature is an API contract for your ML model, defining the exact shape and types of its inputs, outputs, and parameters. It's used by platforms like MLflow to validate requests and enable safe deployments. Forgetting it will block model registration.
MLflow Tracking: A Lab Notebook for Your ML Experiments
Think of MLflow Tracking as a lab notebook for your models. It logs parameters, metrics, and artifacts for every training run, letting you compare results and find the best model. The main footgun is forgetting to set a remote server, trapping logs locally.
Feature Definition Language: Define ML Features as Code
A feature definition language is like infrastructure-as-code for ML features. It lets you define a feature's source and schema once, then use it for both offline training and online serving, ensuring consistency.
Recursive Feature Elimination: Survival of the Fittest Features
RFE runs a tournament for your features, repeatedly training a model and dropping the weakest ones. It's used to simplify models by selecting a core subset of impactful features. The main footgun: RFE's output is only as good as the model used for ranking.

Feature Backfilling: Populating Historical Data for ML
Feature backfilling computes a new feature's values for historical data. It's how you generate a complete training dataset after defining a new signal, like a user's 7-day purchase history. The footgun is using future data, causing data leakage.
We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.
See open roles