人工智能在Uber的外卖服务 Uber Eats 中的应用

微风

2019/03/24 发布于 技术 分类

文字内容
1. Artificial Intelligence in Zi Wang@Uber QCon Shanghai 2018
3. Agenda 1. Uber Eats Overview 2. AI in Uber Eats 3. How AI powers Dispatch System 4. Other AIs: • Dynamic Pricing • Restaurants Ranking & Recommendation • Guided Exploration 1. Q&A
4. Uber Eats Overview
5. Uber Eats ● Quick Facts ● A Brief History ● ○ Instant Uber Eats ○ On-demand Uber Eats How does Uber Eats work?
7. Our Scale > 350 Cities > 6B Gross Bookings
8. Our Mission Make eating well effortless, every day, for everyone.
9. Then Now
10. On-demand Uber Eats
11. How does Uber Eats work?
12. AI in Uber Eats
13. AI in Uber Eats ● Goals & Challenges ● Michelangelo - AI Platform @ Uber
14. Goals & Challenges Reliable Affordable Effortless Predicting the Future Network Efficiency Food Discovery
15. Restaurant/meal search and ranking ETD prediction Prep-time prediction ETA prediction
16. Michelangelo - AI Platform @ Uber
18. Feature Report
19. Model Accuracy Report
20. How AI powers Dispatch System
21. How AI powers Dispatch System ● Overview ● A Brief History ● ○ Dispatch System w/o AI ○ Dispatch System w/ AI Time Predictions ○ Meal Prep-time ○ ETD ○ ETA
22. Make Demand-Supply Matching Decisions Challenges ● ● ● Solve an NP-Hard problem with a large problem space within seconds Improve efficiency without compromising delivery quality Eater & Restaurant & Courier
23. Eater & Restaurant & Courier Eater ● ● ● Restaurant Fast drop-off Low delivery fee 24/7 ● ● Short wait time Low Unfulfillment Courier ● ● ● Short wait time Smart route planning Quick hand-off
24. Matching Algorithm: An Augmented Vehicle Routing Problem (VRP)
25. Dispatch system w/o AI
26. When to dispatch? Order Created 8:30 ... 1th dispatch attempt Scheduled pickup time 8:53 9:00 Fixed 7 mins do not dispatch a driver dispatch a driver
27. How to dispatch? (Greedy) ● Jobs dispatched independently without considering other jobs.
28. Before... ● Where is my food? eater ● ● ● How much longer do I have to wait? Why the courier is not here yet? Why the courier is here so early? marketplace courier restaurant
29. Dispatch system w/ AI
30. Key Component - Time Predictions restaurant eater ETD food preparation drop-off pickup ETA parking ETA parking
31. Key Component - Time Predictions (Cont’d)
32. When to dispatch? 1th dispatch attempt Order Created 8:30 ... 8:50 ... nth dispatch attempt Predicted pickup time 8:56 9:00 ETA do not dispatch a driver dispatch a driver
33. How to dispatch? (Global) ● All jobs and supplies are considered at the same time.
34. ● Then we solve the entire set of jobs and supplies as a single global optimization problem.
35. #2 #1 Greedy Global 1 MIN + 2 MIN + 5 MIN 2 MIN 6 MIN 4 MIN
36. After... ● ● ● Fast delivery times Accurate ETD estimations Track food location eater ● ● ● ● ● ● Reduce waiting at restaurants Maximize earning potential Be aware of estimated travel time Prevent couriers from waiting around Prevent food waiting for couriers Track courier’s location marketplace courier ● ● restaurant Dispatch couriers at the right time Maintain supply/demand, prevent surge
37. Time Predictions - Meal Prep-time
38. Why predicting meal prep-time is difficult? ● 1) True restaurant prep-time is unknown! ○ Example:'>Example: We need to infer true prep-time in a retrospective manner based on restaurants and couriers’ signals. ● 2) Prediction with limited signals ○ Example:'>Example: The business in the actual restaurant is unknown
39. How did we solve it by AI? ● Feature engineering ● Model Training ● Data analysis & Experimentation
40. Feature Engineering ● Real-time features ○ Time of day, day of week, order size, location, ... ● Batch (offline) features ○ Avg prep-time for 1 week, ... ● Near real-time features ○ Avg prep-time for last 10 mins, ...
41. Feature Engineering (Cont’d) - Sensor signals
42. Feature Engineering (Cont’d) - Representation learning
43. Feature Engineering (Cont’d) - Data pipeline Time of day, day of week, order size, location, ... Preparation time Sensing & Perception Bluetooth Data Data preparation pipelines push data into the Feature Store tables and training data repositories.
44. Model Training Models ● ● ● ● Gradient Boosted Decision Trees Model retrained every few weeks (with each new experiment) Near-realtime data refreshed every few minutes Historical data refreshed every day Model training jobs use Feature Store and training data repository data sets to train models and then push them to the model repository.
45. Model Training (Cont’d) - Model deployment
46. Model Training (Cont’d) - Make predictions
47. Model Training (Cont’d) - ML model with feedback loop Historical features E.g. average prep-time in last week Production model (GBDT) Predicted preptime Michelangelo model training Updated Data Online prediction Near real time features E.g. average prep-time in last few minutes Real time features E.g. order size, time of day Offline training
48. Improvements - from the latest model iteration Potential increase of: Tens of millions of in gross bookings
49. Future Improvements ● ● Ground truth exploration ○ Experiment on encouraging restaurant signals ○ ... Improving ML model ○ Feature engineering ■ Exploration of places, weather, and event data ■ Model partitioning ■ ... ○ Leverage ensemble learning (stacking) in prep-time prediction ○ Collaboration with AI Labs on more deep learning models
50. Time Predictions - ETD
51. Eater-facing ETD restaurant-leg EATER 0) eyeball RESTAURANT 1) order created 10) food received 2) order accepted 6) food ready 3) dispatched COURIER observable state not-observable state delivery-leg 4) accepted trip 5) arrived 7) departed 8) begun trip 9) arrived 11) ended trip
52. Why is predicting ETD difficult? restaurant-leg EATER 0) eyeball RESTAURANT 1) order created delay 2) order accepted observable state not-observable state 10) food received early pick request 6) food ready 3) dispatched COURIER delivery-leg 4) accepted trip 5) arrived 7) departed 8) begun trip 9) arrived 11) ended trip
53. How did we solve it by AI? ● ● ● ● ● Restaurant features ○ Location, avg prep-time, avg delivery time, avg demand during lunch ... Contextual features ○ Time of day, day of week, Order features ○ # of items, total cost, ... Near real-time features ○ Info about the past N orders Model: Gradient boosted decision trees => Major reductions in mean and p95 ETD errors
54. Time Predictions - ETA 54
55. Why are ETAs important? - Every SECOND Matters! Eyeball ETAs Dispatch Pool Fares On Trip ETAs EATs
56. Rider - Request Ride Rider Rider - On Trip Driver
57. Why predicting ETA is difficult? ● 1) Underlying map data is inaccurate ○ Example:'>Example:'>Example:'>Example: Creating/maintaining map data up-to-date requires a lot of resources. ● 2) Real-time events ○ Example:'>Example:'>Example:'>Example: road closures, events etc. ● 3) Human factors ○ Example:'>Example:'>Example:'>Example: detour, wait time, gas etc
58. How did we solve it by AI? ● Features ○ Time source, ○ Distance source, ○ Current speed, ○ Hour of day, ○ Day of week, ○ Location ○ Number of turns... ● Model: Gradient boosted decision trees => Major reductions in mean and median ETA errors
59. Other AIs
60. Other AIs ● Dynamic Pricing ● Restaurants Ranking & Recommendation ● Guided Exploration
61. Dynamic Pricing Supply (couriers) Demand (orders)
62. Restaurant Ranking & Recommendation
63. Item listicle Guided Exploration (Search) Search results
64. Challenges ● Understand user query and our food ○ Restaurant ○ Dish types ○ Cuisine types ● No results / low results ○ Not on the platform ○ Out of delivery radius / time
65. Solutions ● Understand user query and our food - Representation Learning ○ Restaurant ○ Dish types ○ Cuisine types ● No results / low results - Food Knowledge Graph ○ Not on the platform ○ Out of delivery radius / time Representation Learning
66. Food Knowledge Graph ● Chipotle ○ Is it a restaurant? ○ Fast food? ○ Sells burritos? ○ Similar restaurants? ● Poke ○ Is it a cuisine? ○ Similar cuisines? Illustration credit: Ting Chen @ Uber, GraphDB
67. Credits Teams @ Uber Special thanks to: ● Engineers ● Data Scientists ● Product managers ● Product Ops ● Data Analysts
68. 68
69. 69
70. THANK YOU Q&A