Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Scaling Machine Learning @ Careem
Who?
Ahmed Kamal- Machine Learning Platform Lead @ Careem, - Computer Engineer by training
I blog @ ahmedkamal.me and tweet @_akamal_
Representing the work of Yoda team and other awesome colleagues @ Careem
Who are we?
Careem was founded in 2012,in Dubai, UAE...
Our mission is to simplify and improve the lives of people and build an awesome organization that inspires
Multi-vertical platform of Mobility, Delivery, Payments
15 Countries 120 Cities 3,500 Colleagues
33M Customers 1M Captains
We are the leading technology platform in the middle east !
AI Use cases we have at Careem
● Predict demand and supply
○ Essential for peak and dynamic pricing
○ Plan ahead while dispatching
● Fulfill our promise to customers and captains
○ Predict ETAs (Expected time of arrival)
○ Predict prices
● Predict customer and captain’s behavior
○ Predict cancellations
○ Predict captain acceptance
● Platform Integrity
○ Fraud Prevention and Detection
○ Anomaly Detection
Sneak Peek into ML @ Careem
Example
6 min
MaryamCaptain Oussama
Example
6 min
8 minCaptain
Oussama
Maryam
Rashid
Example
6 min
8 min
Captain Oussama
Maryam
Rashid
Proba(Cancellation) = 0.8
Proba(Cancellation) = 0.1
Demand prediction (Time Series Forecasting)
Reality Prediction
You are now one of us
14
Let’s Solve a Problem !
Estimated Time Arrival
Problem Definition
Calculate the post assignment ETA for a captain for specific booking accurately in real time
Problem Type
Regression
user_id : 1car_type : “Business”
captain_long": 55.1486643,captain_lat": 25.0911563,
booking_long": 54.1506833,booking_lat": 25.084343
Dataset Sample
R&D workflow
Get Data
Train Model
PersistModelModeling
ML in real world (or why do we need a MLE)
Data is huge :)
ML in real world (or why do we need a MLE)
Data is huge :)
ML in real world (or why do we need a MLE)
Feature Engineering takes long time
Data is huge :)
ML in real world (or why do we need a MLE)
Feature Engineering takes long time Training needs lots of resources
Data is huge :)
ML in real world (or why do we need a MLE)
Feature Engineering takes long time Training needs lots of resources
Data is huge :)
ML in real world (or why do we need a MLE)
Feature Engineering takes long time Training needs lots of resources
Needs to be on Production
Data is huge :)
ML in real world (or why do we need a MLE)
Feature Engineering takes long time Training needs lots of resources
Build an API
Needs to be on Production
Low Latency & High Throughput
Monitoring & Alerting
Fault Tolerance & Autoscaling
How much time ?
Congrats on the amazing model !
Continuously refresh and updated deployed models
Post Deployment Challenges
Continuously refresh and updated deployed models
Post Deployment Challenges
Performance Monitoring and alerting
Continuously refresh and updated deployed models
Post Deployment Challenges
Performance Monitoring and alerting
A/B Testing between new/old or new/new models
Continuously refresh and updated deployed models
Post Deployment Challenges
Performance Monitoring and alerting
A/B Testing between new/old or new/new models
Which cities are ready for ML ?
Continuously refresh and updated deployed models
Post Deployment Challenges
Additional 119 models ?
Performance Monitoring and alerting
A/B Testing between new/old or new/new models
Which cities are ready for ML ?
Continuously refresh and updated deployed models
Post Deployment Challenges
Additional 119 models ?
Performance Monitoring and alerting
A/B Testing between new/old or new/new models
Too many APIs ? Integration headache !Which cities are ready for ML ?
Is this real ! Google says, yes :)
https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf
Yoda
by
Yoda
● Our mission as Yoda team: Accelerate the adoption of AI at Careem.
● We are building an in-house Machine Learning Platform, to automate the end to end experience.
● To enable expeditious development and deployment of 1000+ of ML models in production
Serve modelsMonitoring and alerting
Fetch dataClean dataFormat data
Feature engineeringBuilding modelsEvaluating models
Machine learning cycle
Your Life After Yoda
Dataset Generation
Model Training
40
Model Report
- Configuration Based Deployment service enabling deployment in few minutes.
- Latency, integration and API tests
- Auto-Rollout Capabilities to smoothen model updates experience
One Click Deployment
Configs Production Level APIOne Click !
URL => eta-service.yoda.com/v1/101/eta
Request =>
[{"uuid": "9fdsaf9as9da9sd9", "assignment_time": "2019-03-14 14:09:46", "captain_lat": 30.0039,
"captain_long": 31.1422, "booking_lat": 30.0022, "booking_long": 31.1405}]
Response =>{
"response": [{
"uuid": "9fdsaf9as9da9sd9",
"prediction": 2.5
}
],
"result": "ok"
}
Now you have an API
Model Serving
Summary of Yoda
• Enrich Farabi DB (Feature Store)
• Auto-ML
• AI for everyone
• Time Series Forecasting
• Anomaly Detection
• Natural Language Processing
What’s Next for Yoda?
Thank you! Danke! Teşekkürler!شكراً! شکریہ!
For Slides : @_akamal8_