De plus en plus d’initiatives Data Science sont rendues possibles grâce à la mise en place de DataLakes. Les modèles de Machine Learning inclus dans ces projets sont, comme toute application, sujets à évolutions. Le suivi de ces évolutions peut-il être automatisé ? Les standards de déploiement pour ces applications sont-ils toujours de rigueur ?
Lors de ce slot nous présenterons différentes pistes pour réconcilier Continuous Delivery et Machine Learning.
3. CI/CD & Machine Learning
Un contexte
Prédiction du chiffre d’affaire des équipements
3
4. Un cadre de développement
CI/CD & Machine Learning
“the right tool for the right job”
VCS CI REPO
4
5. Un cadre de développement
CI/CD & Machine Learning
“the right tool for the right job”
VCS CI REPOEXPLO
5
6. CI/CD & Machine Learning
Le modèle, quésaco ?
Training
App
y
Modèle
6
7. CI/CD & Machine Learning
Le modèle, quésaco ?
Training
App
y
ỹ
Modèle
7
Predicting
APP
Modèle
8. CI/CD & Machine Learning
Entraînement d’un modèle
Création d’un modèle sérialisable
VCS CI REPOEXPLO /apps/<myapp>/model_v1
8
9. CI/CD & Machine Learning
Entraînement sur de nouvelles données
“With more data comes great generalization power”
VCS CI REPOEXPLO
/apps/<myapp>/model_v1
/apps/<myapp>/model_v2
/apps/<myapp>/model_v3
…
/apps/<myapp>/model_v?
▼ Les notions de modèle en Production et de modèle Courant doivent être dissociées
▼ Les évolutions entre ces modèles doivent être traçables
▼ Les datasets utilisés doivent être identifiés
9
10. CI/CD & Machine Learning
Entraînement sur de nouvelles features
Develop, Deploy, Fit … Repeat
VCS CI REPOEXPLO
/apps/<myapp>/model_v1
/apps/<myapp>/model_v2
/apps/<myapp>/model_v3
…
/apps/<myapp>/model_v?
VCS CI REPOEXPLO
/apps/<myapp>/model_v41
/apps/<myapp>/model_v42
/apps/<myapp>/model_v43
…
/apps/<myapp>/model_v4?
Sprint N+1
10
15. Une release continue
DIY: Machine Learning Platform
ỹ model_id
@app-dt01-<ts>
@app-dt01-<ts>
▼ Chaque modèle est versionné
▼ Des tags latest et current permettent de comparer le dernier modèle et celui en ligne
▼ Les prédictions s’accompagnent de la version du modèle
App
Modèle
15
@app-dt02-<ts>
19. Development
Release
Integration
Deployment
Séparation du code et du modèle
Entraînement du modèle sur les données de productions
Historisation des versions et jeux de données utilisés.
Evaluation des performances.
Tests de performance et comparaisons.
Extraction de l’importance des features et hyperparamètres
Mise en service d’un nouveau modèle
Conclusion
26. DIY: Machine Learning Platform
Machine Learning Platform
La machine learning plateforme, prochain outils de CI/CD
26
VCS CI REPOEXPLO
27. DIY: Machine Learning Platform
Projet Bold Eagle
La machine learning plateforme, mon outils de CI/CD
27
VCS CI REPOEXPLO
Services
API
28. Serving
28
+10ms 5s - 1mins 1 day
RCP
Servers :
Tensorflow
Serving
Prediction
Servers:
AWS Lambda,
Cloud AI
Structured
Streaming
-
Kafka
Based
Prediction
Batch
Predictions
29. Serving: un exemple pour du temps réel
29
Model serving architecture by Boris Lublinsky - from Serving Machine Learning Models
Data Source
Model Source
Model Storage
Current
Model
Processing Prediction
Stream Processor