Instant gratification for ML model feedback in GCP
1. Instant Gratification for ML
Model Feedback @ mabl
Using GCP to bridge the time gap between user
feedback and model re-training
John Kinnebrew mabl engineer Boston GCP Meetup
2. Are you listening to me?
■ What we (don’t) want
▲ No “ignoring” feedback until later
▲ No suddenly “forgetting” feedback
■ Example @ mabl
▲ Timing and visual anomaly detection
▲ Feedback to reduce/increase sensitivity or update
■ Why is that so hard?
▲ Online or incremental learning algorithms not yet OTS or infrastructure supported
▲ (Re-)training large models is slow / costly
▲ Additional feedback due to delay
▲ May still require constraints for no abrupt behavior change
3. Pieces of the puzzle
■ Cloud ML Engine
▲ Tensorflow machine learning models
▲ Model training
▲ Managed online prediction
■ Dataflow
▲ Streaming data processing
▲ I/O connectors for PubSub, etc.
■ Datastore
▲ NoSQL database
▲ Query by type and filter (e.g., by key)
5. Implementation and Design Hurdles
■ Distributed model
▲ Where to calculate state updates
▲ Versioning/re-training discontinuities
■ Stateful model
▲ Process/output (not execute) exactly-once in Dataflow
● Idempotence
● Output instead of side effect
● Also store (recently) processed update hash or ID
▲ No ordering guarantees from PubSub
● Order independence
● Windowing and grouping in Dataflow