Vous êtes sur la page 1sur 32

Diapositive 1

République Tunisienne

Ministère de l'Enseignement Supérieur et de la Recherche


Scientifique

Université de Sfax

École Nationale d’Électronique et des Télécommunications de Sfax

Conception et développement ​d’un


studio de machine learning ​
en architecture microservice​

Présenté par : Farid EZZAIEM

Encadrant académique :​ Encadrant professionnel :​


M. Hassen MNIF​ M. Alaeddine AZIZ​

2020-2021​ 1

● Messieurs les membres du jury.


● Avant de me lancer dans cette présentation, je tiens tout d'abord à vous remercier de
l'intérêt que vous avez porté à mon travail en acceptant de faire partie de ce jury.
● C'est un honneur pour moi d'avoir l'opportunité de discuter les résultats de mon projet de
fin d'études avec vous.
● Je tiens également à remercier ma famille, mes amis et mes collègues, dont certains sont
venus de loin, pour leur présence ici aujourd'hui.
● Mes remerciements sont aussi destinés à Monsieur Hassen Mnif mon encadrant
pédagogique qui m’a accompagné pendant cette période et m’a aidé a achevé mon
projet.
● Enfin, je tiens à remercier tout particulièrement M. Alaeddine encadrant professionnel
qui m'a donné l'opportunité de mener à bien un projet riche à plusieurs niveaux.
● En effet, mon projet consiste à concevoir et développer un studio de machine learning en
architecture microservice
● Avant de commencer la présentation, j'exposerai le processus de réalisation de ce projet
Diapositive 2

PLAN

01 02 03

INTRODUCTION​ ÉTUDEPRÉALABLE​ SPÉCIFICATIONDES


BESOINS

04 05 06

CONCEPTION RÉALISATION​ CONCLUSION


&
PERSPECTIVES
2

● tout d'abord je vais placer le projet dans ce contexte et présenter l'organisme d'accueil.
● En ce qui concerne l'étude préalable je vais décrire la problématique en identifiant les
solutions proposés suite à une étude de l’existant , en indiquant la méthodologie de
travail qu’on a suivi tout au long de ce projet
● la 3eme section fait l’objet d’analyse et la spécification des besoins fonctionnels et non
fonctionnels
● Puis je vais passer pour la conception de l’application et ensuite sa réalisation en
mentionnant les technologies utilisées.
● Nous clôturons enfin par la conclusion et les perspectives qui en découlent.
Diapositive 3

01
INTRODUCTION

3
Diapositive 4

INTRODUCTION
GÉNÉRAL​E
1. Le Machine Learning représente le centre
d'intérêt des entreprises actives.

2. Concentration des recherches sur les


astuces qui rendent les solutions ML plus
robustes, y compris les choix architecturaux
(architecture en microservices).

● Lors de tout projet, il est essentiel de situer l'introduction dans son contexte, en
commençant par une présentation de l'organisme d'accueil dans lequel j'ai effectué mon
stage.
● mais avant, je souhaite mettre en évidence deux éléments majeurs sur lesquels repose
notre projet, en effet le Machine Learning représente aujourd'hui le centre d'intérêt des
entreprises actives.
● Entre autres, ces entreprises ont concentré leurs recherches sur des astuces qui permettent
de rendre les solutions de ML plus robustes.
Diapositive 5

HYDATIS, entreprise de
services du numérique
(ESN) dynamique dans le
domaine du conseil et des
services d'ingénierie
informatique.
HYDATIS Engineering, Société
Anonyme à Responsabilité
Limitée (SARL) , intégrée en
2020.

● HYDATIS, entreprise de services du numérique (ESN) dynamique dans le domaine du


conseil et des services d'ingénierie informatique.
● HYDATIS Engineering, Société Anonyme à Responsabilité Limitée (SARL) , intégrée
en 2020.
Diapositive 6

02
ÉTUDE
PRÉALABLE​
6

● Afin de cerner le projet dans ce contexte, nous procédons à une étude préalable dans
laquelle nous étalons la problématique et une étude de l'existant pour en discerner les
solutions .
● Alors en quoi consiste la problématique de notre projet et quelles sont les limites
auxquelles s'expose ce dernier ?
Diapositive 7

PROBLÉMATIQUE

Construction Expertise mathématique et des


manuelle des compétences en informatique
modèles

Possibilités d’erreurs humaines Difficile à faire évoluer


et de biais dans le future

voilà notre problématique :


● la construction manuelle des modele ML et coûteuse de point de vue temps et efforts
● qui nécessite une expertise mathématique et des compétences en informatique
● on oublie pas les erreurs humaines et ces conséquences ses résultats dans les
environnement de production
● de même la difficulté de faire évoluer les applications dans le futur ou l'intégration des
nouveau modèles
Diapositive 8

ÉTUDEDEL’EXISTANT

AZURML BIGML CLEARML


Service payant Difficile à utiliser Utilisation notebook pour
écrire du code PYTHON

● azur Ml: est un service créé par microsoft qui gère les solution du pipeline ML, il est
payant
● Big ML: admet un essai gratuit et une plateforme qui traite les donnée et facilite les
tache du ML et est peut compliquer.
● Clear Ml: est open source offre un déploiement local conteneurisé de la solution, créer
un environnement d’automatisation du workflow Ml base sur les notebooks.
Diapositive 9

NOTRE
SOLUTION

Dans les slides suivant je vais présenter le principe générale de notre solution “DIGI TARIF”.
Diapositive 10

AUTOMATISATIONDUPIPELINEML

PRÉTRAITEM DÉPLOIEMEN
ENT DES T DES
DONNÉES MODÈLES

ENTRAÎNEME
NT DES PRÉDICTION
DONNÉES

10

tout d'abord la solution automatise cycle vie du Ml qui commence par pré-traitement des donnée:
c’est la conversion des donnée brute (en format textuelle principalement) vers des données
organisées où ces vecteurs sont bien définie.

passant vers l'entraînement des données ou la construction des modèles Ml dont le résultat est
un livrable qui peut être après la phase du déploient mis en production.
finalement on devient capable de prédire à partir des ces modèles pour obtenir de résultats qui
nous aide à prendre nos decision.
Diapositive 11

Possibilité d'intégration des


Facile à intégrer dans un
nouveaux services et modèles
autre système
+ Architecture modulaire
hexagonale
+ Exposition des APIs ou
des artéfacts lors du
déploiement

Opérations fluide et non


bloquantes Sans écriture du code
+ Architecture basée sur les
événements + Interfaces simples et
pratiques

11

● sans avoir oublier que notre solution offre la possibilité d'intégration des nouveau service
grâce à son architecture modulaire hexagonale
● nous nous basant aussi sur l’exposition sur des api et de artifact lors du déploiement afin
de faciliter l'intégration dans autre systèmes.
● de plus on a utilisé des patterns d’architectures oriente événement pour pour garantir la
fluidité de opérations.
● finalement notre studio est facile simple et pratique sans avoir d'écriture de code.
Diapositive 12

CHOIX
MÉTHODOLOGIQUE

12

pour élaborer ce projet on s’est réfugié à une méthodologie de travail.


Diapositive 13

PROCESSUSDEDÉVELOPPEMENTSCRUM

Sprint 2-4
semaines
Stand Up
quotidien

Product Owner
Scrum Master

Equipe dev

User story Sprint backlog Livraison


Vision Produit Product Backlog Planning meeting
Demo +
Sprint Rétrospective

13

Nous avons adopté la méthode agile scrum pour la réalisation de notre projet.
Cette méthodologie consiste à rédiger un product backlog dans la première phase du travail,
Après, planifier les sprints et répartir les fonctionnalités qui vont être illustré dans un sprint
backlog.
Puis, on entame une phase d’exécution dans laquelle nous effectuons des réunions quotidiennes.
À la fin de chaque sprint, nous terminons par faire un sprint review qui résulte une livraison
d’une partie du projet et un sprint rétrospective
Diapositive 14

03
SPÉCIFICATION
DES BESOINS
14

● maintenant nous allons passer à la spécification des besoins fonctionnels et non


fonctionnels ou nous allons présenter le diagramme des cas d'utilisation qui traduit
l’ensemble des fonctionnalités du notre projet
Diapositive 15

Identification des acteurs

Utilisateur : une personne appartenant à une entreprise qui a


opté pour notre plateforme comme une solution de machine
learning.

L’administrateur : c’est l’utilisateur qui a le droit de gérer les


comptes utilisateurs.

15

● en effet notre application admet deux type d’acteurs:

● admin: c’est l’utilisateur qui gère les comptes et les droit d'accès des utilisateurs de la
plateforme

● un autre utilisateur appartenant à une entreprise qui a opté pour notre plateforme comme
une solution de ml
Diapositive 16

BESOINS FONCTIONNELS

1. Gestion des utilisateurs


2. Gestion des projets
3. Gestion des expérimentations
4. Gestion des documents
5. Gestion des datasets
6. Gestion des modèles

16

● les besoins fonctionnels sont les besoins indispensables qui traduisent les objectifs et les
attentes de notre projet

chaque admini
Diapositive 17

BESOINNONFONCTIONNELS

SÉCURITÉ SIMPLICITÉ
➔ Connexion sécurisée ➔ Interface facile à l’utiliser
➔ Garantie de protection des
données

ERGONOMIE MAINTENABILITÉ
➔ Interfaces ergonomiques ➔ Logiciel évolutif
et conviviales

17

De même , les besoins non fonctionnels sont les besoins qui permettent d'améliorer la
qualité des services de l'application
Diapositive 18

MODÉLESUTILISÉS

GLM GBM XGBoost


Estimer des modèles de Méthode d'ensemble Algorithme d'apprentissage
régression pour des résultats d'apprentissage avancé supervisé qui implémente
suivant des distributions un processus appelé
exponentielles. boosting pour produire des
modèles précis.
Diapositive 19

METRIQUÉSUTILISÉS

01 02

RMSE
Erreur
R au carré
quadratique
Modèle Machine moyenne racine
Learning

03 04

MSE MAE
Erreur quadratique Erreur absolue
moyenne moyenne

MSE : L'erreur quadratique moyenne représente la moyenne de la différence au carré entre les
valeurs d'origine et les valeurs prévues dans l'ensemble de données. Il mesure la variance des
résidus.
MAE : L'erreur absolue moyenne représente la moyenne de la différence absolue entre les
valeurs réelles et prévues dans l'ensemble de données. Il mesure la moyenne des résidus dans
l'ensemble de données.
RMSE : L'erreur quadratique moyenne est la racine carrée de l'erreur quadratique moyenne. Il
mesure l'écart type des résidus.
R2: Le coefficient de détermination ou R au carré représente la proportion de la variance dans la
variable dépendante qui s'explique par le modèle de régression linéaire. Il s'agit d'un score sans
échelle, c'est-à-dire que les valeurs soient petites ou grandes, la valeur de R carré sera inférieure
à un.
Diapositive 20

DIAGRAMMEDECASD'UTILISATION

20

Afin d'obtenir une vision global sur l'ensembles des fonctionnalités on a recours à un diagramme
de cas d'utilisation global ,
toujour après l'authentification :

l’administrateur doit pouvoir gérer les compte des utilisateurs.


ainsi en tant qu'un utilisateur du studio je dois gérer mes document qui sont des fichier texte ou
csv aussi gérer mes projet ou j peut partager ce projet gérer mes version des modele gérer les
dataset gérer l'expérimentation et faire des prédiction
Diapositive 21

04
CONCEPTION

21

● Pour réaliser ce projet nous avons adopté la conception en terme d’architecture et uml
● Durant ce chapitres on va présenter quelques diagrammes afin de mieux expliquer notre
projet.
● passant vers la partie 'architecture
Diapositive 22

ARCHITECTUREENMICROSERVICE

22

● dans les premier stade on a fait un étude d’architecture et puisque le domaine du ML est
tres heterogene ou plusieur technologie sont utilisés et pour faciliter l'intégration et
l'utilisation de ces technologies on a opté pour utiliser l’architecture en microservice.
● Contrairement aux applications monolithique, une architecture de microservices est une
approche pour développer des applications en tant que groupe de petits services facile à
maintenir.
● Les services ne sont pas nécessairement attachés à un langage ou une plateforme
spécifique.
● ces microservices interagi entre eux avec plusieur outil et type de communication

mais un autre challenge qui se pose quelle type de communication inter microservice on va
utiliser ?
Diapositive 23

ARCHITECTUREORIENTÉÉVÉNEMENT

Microservice A Microservice B

Consommation Publication
d'événement d'événement

Broker

Base de Base de
donnée A donnée A

23

et puisque notre application base sur des traitement qui prendre du temp et pour minimiser le
couplage entre les microservices on a pensé à l’architecture orientée événement (ou event
sourcing ) comme un patron de base ou chaque microservice mis ses message ou événement dans
un broker qui sont plus tart consommer par un autre microservice inscrit dans ce broker de
messaging se type de communication et asynchrone ou on peut éviter le couplage inter
microservice.

mais de même un autre problème se pose comment faire si on a des événements de mise a jours
ou de création en même temps l'utilisateur demande une lecture à partir du web service
comment peut on résoudre ce problème de session critique?
Diapositive 24

ARCHITECTUREGÉNÉRALE

24

passant vers notre architecture globale …..


Diapositive 25

DIAGRAMMEDESÉQUENCEDEPRÉDICTION

25

maintenant je vais présenter le diagramme de classe du micro service data-service noton que ce
digramme de classe décrit tout le patron du cqrs qui est utilisé partout ...
Diapositive 26

05
RÉALISATION

26

Après avoir décrire l'architecture, le diagramme de classe et séquence qui englobe de façon
générale le fonctionnement
de notre application nous allons maintenant présenter les technologies utilisee et la réalisation de
projet
Diapositive 27

TECHNOLOGIESUTILISÉS

H2OAI ➔ Une plateforme


permettant de gérer le
cycle de vie de Broker de
l'apprentissage
automatique messaging
➔ Offre les meilleures
➔ Un logiciel pour l'analyse performances en
de données Big data. terme débit d’envoi et
➔ Permet de produir et de réception des
tester des modèles de ML messages.
MLflow ➔ Offre une meilleur
scalabilité

27
Diapositive 28

TECHNOLOGIESUTILISÉS

BACKEND BASES DEDONNÉES


➔ Framework
TypeScript
➔ Framework SPA
➔ Liaison de données
bidirectionnelle

➔ PostgreSQL : base de
➔ Framework Java EE données relationnelle
➔ Tests unitaires et tests ➔ mongoDB : système de
d’intégrations gestion de base de
➔ Serveurs HTTP intégrés données orienté
documents
FRONTEND

28

Mongo pour lecture


Postgresql pour ecrire
Diapositive 29

TECHNOLOGIESUTILISÉS

SÉCURITÉ CONTAINERISATION
➔ Compatible API avec le
service de stockage en
nuage Amazon S3

➔ Outil de gestion d'identité REGISTRE ➔ Un outil pour empaqueter


et d'authentification. une application et ses
➔ Service de sécurité et de D’ARTEFACT dépendances dans un
validation des comptes conteneur isolé.

29
Diapositive 30
Diapositive 31

CONCLUSION
&
PERSPECTIVES
31

● Finalement on peut dire que L’objectif de ce projet de fin d’études tourne autour la
conception et le développement d’un studio de machine Learning en architecture
microservice.
● dans le but d’automatiser le cycle de vie du ml
● En perspectives, on souhaite développer un module de monitoring des modeles de
machine learning à partir du calcul des indicateurs clés de performances (KPI).
● Ainsi que développer un module d'analyse exploratoire de données (EDA) dans le but de
prevoir ce que les données peuvent nous dire avant la tâche de modélisation.
● J'espère que j'ai fait de mon mieux pour laisser une bonne impression sur mon
discipline, mes qualités et mes compétences techniques au personnel technique de
l'entreprise et de présenter un travail à la hauteur de la formation que j'ai eu au sein de
l'Ecole National des Ingénieurs de Tunis.
Diapositive 32

MERCI POURVOTRE
ATTENTION!

Avez-vous des
questions?
CREDITS: This presentation template was created by
Slidesgo, including icons by Flaticon, and infographics
& images by Freepik and illustrations by Stories

32

Vous aimerez peut-être aussi