IMEN891K / IDSC501 / AXGS-501 · Data Engineering · Fall 2026
14. ML Systems
Sangwoo Mo · POSTECH Industrial & Management Engineering
Where We Are
Part III connects stored data to predictions, answers, and actions
Outline: ML Systems
01 · Preparing Examples
Why ML SystemsA useful model also needs reliable data, predictions and feedback
The model is one component of a system that must keep working
From Data to a Checked ModelPrepare model inputs, learn from past outcomes, then check predictions
The pipeline connects data preparation to training and evaluation
§ Prediction Rows
Failure Prediction ExampleAt 10:00, predict whether P-17 will fail during the next hour
The 10:48 failure becomes the label for the 10:00 prediction
Features and LabelsFeatures are model inputs and the label is the observed outcome
The model predicts a label that has not arrived yet
The Next-Hour LabelA label answers a question about one future time interval
The 10:48 failure belongs to the earlier prediction window
Training ExamplesOne row combines past inputs with the outcome that followed
Each row describes one P-17 prediction, rather than the whole machine
§ Available Inputs
Feature AvailabilityEvent: when it happened. Available: when the system could read it
Feature
Event
Available
Value
temperature
09:55
09:56
31
alarm_count
09:58
10:12
3
vibration
09:50
09:51
0.8
The alarm happened before 10:00 but arrived at 10:12
Late Feature ArrivalAn earlier event can still be unknown when the model predicts
Only temperature and vibration are available before the prediction line
Caveat: Future InformationUsing a late input during training gives the model information it would lack
The late alarm would make the training example unrealistically informative
Demo: Available InputsRun the join, then exclude inputs that arrived after 10:00
Join Predictions and Features using machine_id; filter event_at ≤ predicted_at.
Also filter available_at ≤ predicted_at. Which feature disappears?
Ctrl/⌘ + Enter
Query result
Write a query on the left, then Run.
Answer: Available InputsBoth time conditions must hold for the input to be usable
SELECT p.id, f.feature, f.value
FROM Predictions p JOIN Features f ON f.machine_id=p.machine_id
WHERE f.event_at <= p.predicted_at AND f.available_at <= p.predicted_at
ORDERBY p.id, f.feature;
id
feature
value
prediction_42
temperature
31.0
prediction_42
vibration
0.8
The late alarm report is excluded
Available Model InputsThe filtered result reconstructs what the predictor could actually read
The two remaining values are the inputs for the 10:00 prediction
02 · Making Predictions
§ Learning from History
Training and PredictionTraining learns from known outcomes and prediction uses the saved model
The model learns from past labels and predicts a future label
Batch and Request-Time PredictionsThe same model can score many rows together or answer one request
Choose when predictions are needed before choosing the execution mode
Checking Later ExamplesCheck the model on later examples that it did not learn from
Past training data and later checking data serve different purposes
Predictions and OutcomesA prediction is correct only when it matches the observed label
Three of the four predictions match their observed outcomes
§ Shared Feature Meaning
A Temperature FeatureA feature definition tells us how source readings become one input
Both paths turn the same readings into the value 31
Caveat: Different CalculationsA last reading and a mean can share a name while carrying different meanings
Training receives 31 while prediction receives 32 from the same readings
Shared Feature MeaningKeep the calculation and the unit the same in both paths
The model receives the same kind of input during training and prediction
03 · Checking Results
§ Prediction Records
Prediction RecordKeep the input and prediction so the later outcome can be matched
The 10:00 prediction is recorded before its outcome is known
Observed OutcomeAttach the observed failure to the prediction it answers
The 10:48 failure confirms the recorded prediction p-42
Delayed OutcomesRecent predictions may still have missing outcomes
The same ten predictions score differently as more labels arrive
§ Model Updates
Input Changes and QualityCheck what changed before deciding to train a new model
A unit change needs an input fix before any model update
Candidate ComparisonCompare the current model and a candidate on the same later examples
The candidate matches eight outcomes while the current model matches six
MLOps: A Repeating CycleDevelop a model, use it, observe outcomes and improve the next candidate
Operating the model continues after the first deployment
Model UpdateUse observed examples to train and check a candidate before replacing the model
A checked candidate can replace v1 while v1 remains available
Takeaway: Operate with available data
1Use only inputs available when the prediction was made
2Compute the same feature meaning during training and prediction
3Record predictions and observed outcomes before deciding to update
← → / Space · S notes · O overview · F fullscreen · number + Enter