Nine reusable design patterns for production ML systems are covered: process data once (and the feature store extension), human-in-the-loop (HITL) labeling with a note that LLMs may replace crowdworkers, data augmentation and synthetic data generation, hard negative mining with curriculum learning, problem reframing (regression↔classification, n-class to binary), cascade architectures (retrieval→ranking→rules), the data flywheel virtuous cycle, business rules layers on top of model outputs, and evaluate-before-deploy with time-based validation splits. Each pattern is illustrated with real-world examples from companies like Meta, Twitter, DoorDash, Shopify, Netflix, Tesla, and OpenAI.
Table of contents
Process Raw Data Only Once: To reduce redundancyHuman-In-The-Loop: To collect explicit labelsData Augmentation: To increase data size and diversityHard Negative Mining: To get difficult samplesReframing: To simplify the problem or labelCascade: To split a problem into smaller problemsData Flywheel: To continuously improve & build a moatBusiness Rules Layer: To augment or override outputsEvaluate before Deploy: For safety and reliabilityReferences12 Impressions