Requests need the same text cleanup as training. Where does this belong?
Why A is the answer
Inference preprocessing shared with training
Using the same cleanup as training prevents differences between training and serving.
In detail
- Sharing preprocessing avoids training-serving skew.
- Separate logic causes skew.
Use case
An illustrative scenario, not a real incident.
Requests get the same cleanup that training used, through shared code, so results match.
See it in different ways
flowchart LR A["Validate data"] --> B["Train"] B --> C["Validate model"] C --> D["Register"] D --> E["Deploy"]
mindmap
root((Decay))
Data drift
Inputs changed
Concept drift
Relationship changed
Skew
Training differs from serving
Attribution drift
Feature importance movedflowchart LR S0["Shared preprocessing"] --> S1["Training data"] --> S2["Requests at inference"]
Key point: Share preprocessing with training.
Why the other options are wrong
- B. A separate rewrite by each client team
- Each client rewriting it causes skew.
- C. The model's display name
- A display name holds no logic.
- D. A note in the model card
- A note does not run anything.

