From model file to inference service
Model Serving — Triton & NIM
Serve models in production: Triton Inference Server, dynamic batching, NVIDIA NIM, the OpenAI-compatible API layer, KServe, and autoscaling GPU inference.
What you'll learn
Module 1Model Serving Fundamentals
- From Training Output to Online Service
- Latency, Throughput & the Batching Trade
- Model Formats & the Export Step
- Serving Architectures on Kubernetes
- The Serving Landscape: Triton, NIM, KServe, vLLM
- Knowledge Check
Module 2Triton Inference Server
- Triton Architecture: Backends, Endpoints & the Server
- The Model Repository & config.pbtxt
- Dynamic Batching & Instance Groups
- Ensembles & the Python Backend
- Performance Tuning: perf_analyzer & model_analyzer
- Deploying Triton on Kubernetes
- Knowledge Check
Module 3LLM Serving & NVIDIA NIM
- Why LLM Serving Is Different
- The Engines: vLLM & TensorRT-LLM
- NVIDIA NIM: Packaged Inference Microservices
- Deploying NIM on Kubernetes
- The OpenAI-Compatible API Layer
- Sizing & Scaling LLM Inference
- Knowledge Check
Module 4Serving in Production: KServe, Autoscaling & Operations
- KServe: InferenceService as the Control Plane
- Autoscaling GPU Inference
- Progressive Delivery for Models, Revisited
- Observability for Inference Services
- Multi-Model Density & GPU Economics
- The Serving Runbook: Failure Modes & Incident Response
- Knowledge Check
Preview the first lesson
Where this course picks up: the MLOps Pipelines course ends with a blessed model version in a registry and a GitOps promotion chain waiting to deploy it. This course is about the thing being deployed — the inference service — and why it is a genuinely different engineering problem from both training and ordinary web services.
Three ways to consume a model
Batch (offline) inference scores a large dataset on a schedule — it is just another pipeline (your Argo skills apply verbatim) and the cheapest option when freshness allows. Online (real-time) inference answers synchronous requests inside a latency budget — the hard case, and this course's subject. Streaming inference sits between: models consuming from a queue/topic with soft-real-time deadlines. Choosing batch where the product only needs daily scores is the single biggest serving cost optimization available — make it consciously.
Why not just Flask?
Every team's first serving stack is the framework in a web app: model.predict() behind Flask/FastAPI, containerized, done. It works — and it hits four walls in production. Wall 1, GPU economics: one request at a time uses a fraction of a GPU that costs real money per hour; without batching concurrent requests into one forward pass, utilization sits in single digits. Wall 2, framework bloat: shipping all of PyTorch to run inference means multi-GB images, slow cold starts, and a big attack surface. Wall 3, ops surface: you now own health semantics, metrics, model versioning, and zero-downtime model swaps — per model, per team, in application code. Wall 4, performance: Python request handling in front of GPU work leaves large latency and throughput gains (compiled runtimes, pinned memory, CUDA streams) on the table.
A model server — Triton is the canonical example — is the specialized piece of infrastructure that solves all four once: it loads models from a repository in optimized runtimes, batches dynamically, exposes standard inference/health/metrics APIs, and manages versions — so your artifact is just the model plus a config file.
The vocabulary of the course
Four terms recur on every page, so fix them now. Latency — per-request wall time, always discussed as percentiles (p50/p99), never means. Throughput — requests (or tokens) per second per replica. Utilization — the fraction of the GPU actually working; the bridge between the first two and your bill. SLO — the latency/availability target the service commits to; every tuning decision in this course is a trade of one of these against another, and naming the trade is what separates tuning from twiddling.
AI tutor on every page
Ask questions in context — the tutor reads the exact lesson you're on.
Hands-on terminal labs
Realistic scenario labs with a simulated cluster — no setup required.
Shareable certificate
Pass the Knowledge Checks to earn a verifiable certificate of completion.