Retraining triggers: when, and when not, to retrain
Retraining is not free: it costs compute, review attention, and — every deploy — a small chance of shipping something worse. So "when do we retrain?" deserves a written policy, not a mood. The policy is a function over monitoring signals, and it fits in the editor.
The three trigger families
Run it. Week by week, the rule composes three kinds of evidence:
- Schedule — retrain at least every N days regardless. Insurance against slow drift nobody's dashboard caught, and it keeps the retraining pipeline itself exercised (a retrain path unused for six months is chapter 43's untested restore).
- Input signals — lesson 02's drift flags. Week 2 drifts on
ticketsbut outcomes still hold: a judgment zone — this policy retrains; a stricter one might watch one more week. - Outcome floors — rolling accuracy against late-arriving labels (lesson 02). Week 3 breaks the floor and the decision makes itself.
Whatever fires, the route is always the same: through chapter 46's gated pipeline — retrain, evaluate against the incumbent, canary, promote. A trigger authorizes a candidate, never a deploy. And sometimes the right response to a trigger is not retraining at all: drift caused by an upstream bug wants a data fix; a new segment wants an eval slice and maybe its own model. The trigger starts an investigation; the gate decides shipment.
Write it down, version it
The policy — thresholds, windows, floors — is a config file with an owner and a date (chapter 30's ratchet, once more). When the 90-day schedule or the 0.80 floor changes, that's a reviewed diff, so future-you knows which regime any past decision was made under (the tracker and registry record the rest).
Where AI specifically gets this wrong
- "Retrain nightly" as a default. Generated MLOps enthusiasm. Frequency needs a reason, and "it's what the tutorial did" isn't one.
- Nightly without gates or data. Ungated, it's a nightly regression lottery; with thin new data, it's churn for nothing. Two distinct ways the same cron goes wrong.
- Triggers with no investigation step. Auto-retraining on a drift flag caused by an upstream schema bug bakes the bug into the model (chapter 37's contract should have caught it first).
- Unversioned thresholds. A floor someone once typed is tribal knowledge in a config's clothing. Date, owner, rationale — same as every other rule in this course.