Designing an ML-Minded Product and a Product-Minded ML System
ACM Webinar January 23, 2019 Grace Huang
Designing an ML - Minded Product and a Product-Minded ML System - - PowerPoint PPT Presentation
Designing an ML - Minded Product and a Product-Minded ML System ACM Webinar January 23, 2019 Grace Huang Personalized Homefeed Personalized Homefeed Personalization: Scoring and ranking Picking the best of the best among candidates A
Designing an ML-Minded Product and a Product-Minded ML System
ACM Webinar January 23, 2019 Grace Huang
Personalization: Scoring and ranking
Picking the best of the best among candidates
Data collection Feature engineering Model training Prediction (Store and serve)
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Launch Serving
Predictions
We will focus on data, evaluation and shipping
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Serving
Predictions
Launch
Considerations for a data pipeline
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Shipping Serving
Predictions
Cravings Omar Seyal
The perfect path to cold brew
36 Caffeinated Inc.
User’s past actions: engagement signals Derived user profiles from past actions User profile Pin Derived pin information
Engagement score = f(pin, user…)
Considerations for a data pipeline
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Shipping Serving
Predictions
Training data should be carefully managed
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Shipping Serving
Predictions
Training and serving data discrepency(skew)?
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Shipping Serving
Predictions
data?
(e.g. takes a long time to compute)
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Shipping Serving
Predictions
measures
simulated debuggers for sanity check, funnels..etc)
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Shipping Serving
Predictions
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Serving
Predictions
(regularization!)
Launch
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Serving
Predictions
distribution drifts
delegation for investigations
Launch
Model Data pipeline (training/ test) Data (to make predictions) On-line experiments Launch (production model) Data (for training/
testing) Offmine evaluations
Data Training Evaluation Serving
Predictions
Launch
#1 Beware of Data and System Bias #2 Testing & Monitoring …..(Do it!) #3 Good Infrastructure Speeds Up Iteration #4 Measurement and Understanding are Crucial #5 Build a Sustainable Ecosystem #6 Design a ML Minded Product , and a Product Minded ML System
VS
Engagement data complements pin information
VS
Engagement data is a double-sided sword!
Remove bias and effects of the existing system as much as possible (so rich doesn’t get richer)
Weeks……. Some important metric Not good!!!
Weeks……. Some important metric Not good!!!
GBDT Migration to Neural Network
Weeks……. Some important metric Not good!!!
Offline data distribution != Online data distribution Offline data distribution != Online data distribution Data coverage drop or corruption -> Silent failures
Migration to Neural Network Data change
Can multiple engineers work on the system simultaneously?
pipelines? Can they ship multiple experiments at once?
help reduce amount of live experiments needed?
wo Line Title Subtitle Baseline Guide > wo Line Subtitle Bullet Top Guide > itle or Subtitle Bullet Top Guide >
Offline performance != Online performance
!31
Invest in toolings and experiments to understand the blackbox
impacted
ecosystem effect
It’s easy to get what you wish for, but not what you want……. (Goodharts Law)
Are we taking care of fresh, less impressed content?
Lower Ranking Score Higher Ranking Score
Fresher Older
Do we handle cold starts elegantly?
Are we taking care of content with missing features (or features whose generation is delayed)?
Do we handle cold starts elegantly?
Streaky, offensive content!
Build a system with tight negative feedback, and make use of (explicit) negative signals as much as possible
But separate spam/racy filtering from negative signal incorporation in ML models
target / model architecture so that negative events are tied to the objective function we optimize
negative events
Do you really need ML?
For complex problems like diversity and freshness, ML components need to work in concert
Beware of bottleneck!!
Important to have a way to build policy and product vision into the ML system
Independent surfaces for exploitation vs. exploration Exploration Exploitation
Build a system for users tomorrow (or users you really care about)
Global engagement Local engagement
Confidential
43