The ML wedding between millions of products, or how to withstand load in a stream
summary
A real-time matching algorithm for millions of e-commerce products is described, including how it was built to handle high throughput and scale on a very large marketplace. The talk covers the matching problem for product pairs at production scale and the engineering approaches used to sustain load in streaming/real-time processing.
AI-written summary · about
chapters (25)
- 0:00Introduction
- 1:11What is matching and its goals
- 3:19How ML solves matching
- 6:12Model training and stack
- 7:36Batch processing issues
- 11:11Real-time pipeline transition
- 13:30Real-time architecture
- 16:20Product data processing
- 18:09Triton server for inference
- 19:34Nearest neighbor search
- 22:50Final classification
- 24:13Model distillation for speed
- 26:22Monitoring and analytics
- 27:26Results and benchmarks
- 30:21Q&A
- 31:03Negative sampling question
- 33:52Category-specific issues
- 35:20Handling invalid data question
- 36:44Feature changes question
- 38:12Category models question
- 40:19Text data question
- 41:48Model distillation question
- 44:41Result caching question
- 47:55MSE vs cross-entropy question
- 48:39Spark Streaming question
related talks
47mModern Approaches to Product Matching Using LLMs
22mHarnessing image and text data for product matching
29mMachine Learning in Production: What to do after you’ve trained the models?
24mUnder Pressure: Applying ML in Real Time
26mPatterns of ML Models in Production
23mData driven matchmaking streaming at HyperConnect
52mA Million Products, One Experience: Using Collaborative and Multimodal Embeddings
49mFrom research to production at ebay
