Real-Time Inference
Answers under a latency budget, live
Real-time inference answers requests within latency budgets — milliseconds to seconds — with the model resident in memory behind a server, batching and autoscaling where needed. Freshness and latency are the contract; everything else is engineering around them.
What you will learn
- Define what 'real-time' means via latency and freshness budgets
- Describe the serving path from request to response
- Identify where latency leaks in a serving stack
What is this?
Real-time inference answers each request as it arrives, inside a latency budget (ms to a few seconds), with the model loaded in memory in a long-lived server. Its contract is freshness plus responsiveness — the prediction reflects this moment, and it arrives in time to matter.
Why do you need it?
- Some decisions are only valid 'right now' — fraud flags, checkout reranks, live recommendations.
- A model that answers late is often worse than no model: it blocks flow and wastes user time.
- Interaction lets the model use this request's context, not last night's snapshot.
- Latency themselves shape UX and business outcomes, making it a first-class metric.
Mental model
An ER triage desk at the moment of arrival
Real-time inference
The nurse answers based on what's happening now — vitals this second (current features) — within seconds (latency budget). A report written tomorrow is useless in triage. Some decisions simply cannot wait for the morning mail.
How it works
- A request arrives with the live context: user features, current event, session state.
- The serving tier loads/joins the online feature set quickly.
- The resident model generates a prediction (single or batched forward).
- Post-processing applies thresholds, business rules, and returns the response.
- Telemetry records latency, version served, and outcomes for monitoring.
The real-time prediction path.
In production
- Checkout time fraud scores arrive in ~50ms; the payment gateway blocks or lets through accordingly.
- A feed re-ranks the top slice for each request from live signals.
- A voice assistant classifies intent within a second so the conversation flows.
Best practices
- Publish a latency SLO (p50/p95) and monitor it per version, not just averaged.
- Keep model forward resident; only load features actively.
- Bound the work per request — timeouts and caps on feature fetch.
- Return model version and timing on every response for debugging.
Common mistakes
- Treating real-time as 'just a server' — ignoring the feature-join latency that dominates.
- Setting no timeouts, so one slow feature kills the latency SLO.
- Monitoring mean latency while P95 blows — users feel p95, not p50.
- Cold-loading models per request, blowing the budget instantly.
Debugging tips
- P95 climbing — look at feature store latency and batching queues, not just model speed.
- One version slower than another — diff the model's pre/post processing, not just forward.
- Budget blown intermittently — request-context variance (big joins, big batches) is usually the culprit.
Interview checkpoint
Quick quiz
Real-time inference's defining contract is…
Mean latency is the right single metric for a real-time service.