I know about Machine Learning but... Am I ready for the real world?
1
SUPPORTERS
DIVERSITY
PREMIUM
BASIC
#SCBCN22
IX EDITION
Elena´s first day deploying to production
3
What do we want to talk about?
01 | What is Machine Learning? For kids |
02 | My journey To learn machine learning |
03 | Challenges For machine learning engineers |
04 | Problems and solutions In Adevinta |
05 | What have we learned? Some helpful tips |
4
Who are we?
Elena Tajadura
ML Engineer
Jorge Castro
ML Engineer
5
What is Machine Learning?
For Kids…..
6
What is Machine Learning? For kids….
This is a dog
02
What is this?
01
7
What is Machine Learning? For kids….
This is a cat
02
What animal do you see in this picture?
01
8
What is Machine Learning? For kids….
Machine learning for kids
Machine learning for kids
Or
9
What is Machine Learning? For kids….
This is a dog
02
What animal do you see in this picture?
01
10
What is Machine Learning? For kids….
Inputs
Photography
Input 1
Input 2
Input 3
Outputs
This is a dog
Output 1
Output 2
Output 3
11
What is Machine Learning? For Devs….
12
In addition to developing our backend we have to…
Data
Monitoring
Data
Exploration
Data
Collection
Feature
Engineering
Model training and Parameter tuning
Model
Evaluation
Data
Cleaning
What is Machine Learning? For Devs….
13
In addition to developing our backend we have to…
In addition to deploying and monitoring our backend we have to…
Data
Monitoring
Data
Exploration
Data
Collection
Feature
Engineering
Model training and Parameter tuning
Model
Evaluation
Monitoring
the Model
Model
Deployment
and Integration
Model
Development
Evaluate
Analyze
Errors
Launch!
Data
Cleaning
Machine Learning roles
14
Site
Reliability Engineering
Are you using machine learning in your daily life?
15
Yes, you are using Machine Learning every day
01
Email Spam Filter
gmail, yahoo, outlook….
Recommenders
Netflix, Amazon…
02
Image Recognition
Google Photos, Tesla Autopilot, Filters on Mobile Apps…
03
Text And Speech Recognition
Siri, Ok Google, Alexa…
05
Medical Diagnosis
Improved radiotherapy, Clinical trials, Virus outbreak prediction,
04
Fraud Detection
Phishing, Payment fraud, Identity theft
06
ML for business
16
And now you can use incredible Machine learning products
| Machine Learning products | |
01 | Video | |
02 | Easy coding | |
03 | Bio-medicine | |
04 | 3D | |
05 | Face edition | |
06 | Image generation |
17
My journey
To learn Machine Learning
18
A little bit of history
Evolution to Machine Learning Engineer
04
Master Data Science
02
Software engineer
01
Maths
03
SRE
Machine
Learning
19
Masters’ final project
Objectives
Reusable in Adevinta
01
Solves some customer pain
02
20
Next, deploying it to prod…
21
22
ML model deployment challenges
01
Data acquisition
02
Response time
04
Time and resources
03
Monitoring
23
Masters’ final project
Objectives
Reusable in Adevinta
01
Solves some customer pain
02
24
Can we develop Machine Learning products?
25
Yes, we can.
Even if you are a child.
26
Can we develop machine learning products?
Challenge
Yes, but…
Not a challenge
27
Is this a problem only in Adevinta?
28
No. Companies using ML are facing the same problems everywhere
Artificial Intelligence projects are not going from prototype to production
47%
87%
Data science projects never make it into production
29
87%
47%
2019
2021
Tackling real problems
The Near Past
30
Where do we keep our Machine Learning code?
From Local, Google Drive, Dropbox…
31
Past | Near Past | Topic |
| | Code Versioning Github |
Where do we keep our Machine Learning code?
From Local, Google Drive, Dropbox…
To Github
32
Past | Near Past | Topic |
| | Code Versioning Github |
Git problems with notebooks
*.ipynb
git diff
33
Git friendly notebooks
*.ipynb
*.py
34
Where do we develop our models and training pipelines?
In local machine or on ec2 machine that each developer configures as needed
35
Past | Near Past | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
How can I deploy and serve my model?
Microservices Java
36
Past | Near Past | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
How can I deploy and serve my model?
From Microservices Java
To Microservices Python
37
Past | Near Past | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
How can I deploy and serve my model?
Java template in web microservices architecture
38
Create/Update Datadog objects
Spinnaker
(deploy)
Create/Update cloudformation stacks
Deploy k8s
es-microxx-prx namespace
How can I deploy and serve my model?
Python template but in Web microservices architecture
39
Create/Update Datadog objects
Spinnaker
(deploy)
Create/Update cloudformation stacks
Deploy k8s
es-microxx-prx namespace
How can I monitor my models in production?
40
Past | Near Past | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
| | Monitoring and Observability Designed for Web |
How can I scale up my models?
Past | Near Past | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
| | Monitoring and Observability Designed for Web |
| | Scaling up trainings and models Doesn’t exist |
What are you talking about? GPUs? TPUs? Teras of RAM? Inferentia chips?
41
Tackling real problems
The Present
42
Where do we keep our Machine Learning code?
Near Past | Today | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
| | Monitoring and Observability Designed for Web |
| | Scaling up trainings and models Doesn’t exist |
43
Where do we develop our models and training pipelines?
Near Past | Today | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
| | Monitoring and Observability Designed for Web |
| | Scaling up trainings and models Doesn’t exist |
44
From Python microservices
in a web ecosystem…
45
Create/Update Datadog objects
Spinnaker
(deploy)
Create/Update cloudformation stacks
Deploy k8s
es-microxx-prx namespace
To Adevinta ML Platform
46
Unicron Templates
From Python microservices
in a web ecosystem…
47
Create/Update Datadog objects
Spinnaker
(deploy)
Create/Update cloudformation stacks
Deploy k8s
es-microxx-prx namespace
Adevinta ML Platform serving pipeline
48
k8s for Web
Argo CD
Train model
ML unicron repository
k8s for ML
Argo CD
To Adevinta ML Platform
49
ML Platform Template
Adevinta ML Platform - Kubeflow Pipelines
50
50
Adevinta ML Platform - ML Flow
51
51
How can I deploy and serve my model?
Near Past | Today | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
| | Monitoring and Observability Designed for Web |
| | Scaling up trainings and models Doesn’t exist |
ML Platform Template
52
Adevinta ML Platform
Gitops - Argo CD - k8s
53
53
Adevinta ML Platform Serving
54
54
How can I monitor my models in production?
Near Past | Today | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
| | Monitoring and Observability Designed for Web |
| | Scaling up trainings and models Doesn’t exist |
You can choose:
Datadog, ELK, Prometheus, Grafana
55
How can I scale up my models and pipelines?
Near Past | Today | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
| | Monitoring and Observability Designed for Web |
| | Scaling up trainings and models Doesn’t exist |
56
How can I scale up my models and pipelines?
Near Past | Today | Topic |
| | Code Versioning Github |
| | Develop and Training Environments Local or EC2 |
| | Deploy and Serve ML In Web Microservices Platform |
| | Monitoring and Observability Designed for Web |
| | Scaling up trainings and models Doesn’t exist |
57
Tackling real problems
The near future
58
We are working on….
59
What have we learned during this time?
60
What have we learned during this time?
03
Highly talented
Talent is not cheap,
nor accessible, nor abundant
02
Software quality
Consolidated best practices
Do you really need ML?
Is there a simpler way to solve the problem?
01
05
ML Software SaaS
You can start with products from the market
Interconnected teams
Tech, Data, Product, Business
04
61
Adevinta Machine Learning Applications
We do the matching for you
Recommenders
Import your CV in one click
PDF CV Parsing
Detecting and preventing fraudulent ads
Fraud detection
Pricing tool, Jobs normalizations, Propensity to purchase…
And much more…
It is complex, yes, but Machine Learning is helping in all business areas
Machine
learning
And all these projects help to…
In the last 10 minutes...
people have found a new home
19
120
5
people have found a new job
connections have been made
8.500
people have connected to find the best mobility solution for their needs.
We contribute to improving people's lives
63
Special Thanks!
For this slides templates:
Slidesgo
https://slidesgo.com/es/tema/infografias-de-machine-learning
Slides Carnival: https://www.slidescarnival.com/es/plantilla-gratis-para-presentaciones-cordelia/523
Jimena Catalina: @subidubi
64
Any questions?
Elena Tajadura
@etajadura
etajadura@gmail.com
Jorge Castro
@nikey_es
nikey.es@gmail.com
65