19/02/2020
query_builder8 min de lecture
Big data

MLaaS - Machine Learning as a Service

Le Machine Learning as a Service regroupe différents outils de Machine Learning distribués sous forme de services Cloud. Il permet aux utilisateurs de profiter du Machine Learning à moindre coût, tout en leur permettant de gagner du temps.
Cet article présente les différentes solutions disponibles actuellement et laquelle semble être la plus performante en matière de coût et de qualité du service.

Pourquoi le MLaaS ?


Le traitement préalable des données, l'entraînement et l'évaluation de modèle, ainsi que les prédictions peuvent être effectués via le MLaaS. Les fournisseurs de services proposent des outils d'analyses prédictives, de Deep Learning, de Dataviz, de traitement naturel du langage et bien plus encore.

La puissance de calcul nécessaire est fournie par les Data Centers des fournisseurs de services.

Etat de l'adoption du Cloud en 2018


Comme le montre le graphe, le Cloud le plus adopté est AWS car il est LE précurseur du Cloud. Ensuite vient Azure qui essaie de rattraper son retard en proposant une interface plus métier par rapport à AWS et Google Cloud essayant d'être le plus transparent en terme de prix par rapport à ses concurrents.


Challenges du Cloud




Ce graphe explique les plus grands challenges du Cloud. On peut voir que la gestion des coûts est un enjeu majeur concernant le choix de la plateforme Cloud. Par ailleurs, le facteur "Sécurité" est aussi important à prendre en compte car la protection des données est un point non négligeable.

Etat des solutions - AWS


Dans AWS, l'utilisateur peut choisir différentes options pour faire du MLaaS.

Option 1 - API's



Option 2 - SageMaker

La seconde option est d'utiliser Amazon SageMaker.

Amazon SageMaker est un service entièrement géré qui couvre l'ensemble du flux de travail de Machine Learning pour étiqueter et préparer les données, choisir un algorithme, former le modèle, l'ajuster et l'optimiser pour le déploiement, effectuer des prévisions et prendre des mesures.

Il est principalement destiné aux Datascientists confirmés qui souhaitent avoir un environnement de développement extrêmement complet depuis le Cloud. L'interface est très sommaire mais fonctionnelle.

SageMaker propose aussi l'Automatic Model Tuning une feature qui peut faciliter le développement Amazon SageMaker, de la même façon que Google AutoML, peut régler automatiquement un modèle en configurant des milliers de combinaisons de paramètres d'algorithmes différentes, afin de parvenir aux prévisions les plus précises que le modèle soit capable de produire.




Etat des solutions - Azure


Microsoft offre de nombreuses possibilités pour utiliser le MLaaS.

Il en existe 4

• L'utilisation d'APis fournies
• L'utilisation du système de Machine Leaming Automatique : AutoML
• L'utilisation du Studio Azure ML permettant de créer/utiliser/analyser des modèles grâce à une interface visuelle très simple à base de drag-and-drop). (Destiné aux novices)
• L'utilisation du Service Azure ML permettant d'utiliser Python pour créer/exploiter/analyser des modèles.
• Il possède des environnements déjà préconfigurés, des Jupyter notebooks, et plein d'autres options plus poussées. (Destiné aux utilisateurs confinnés)

Option 1 - API's



Exemple de démo : « Vision par ordinateur »



Option 2 - Auto ML

L’Automated Machine Learning permet de créer une IA automatiquement sans coder, il suffit simplement de rassembler un dataset et I’outil choisira I’aIgorithme le plus optimisé pour traiter celui-ci. II montre ensuite tous les algorithmes testés, les performances de ces derniers et des graphiques résumant le tout.



Les performances sont très impressionnantes et le modèle est facile a exploiter ce qui est un très bon point.

Option 3 - Studio Azure ML

Studio Azure NL est très facile a prendre en main pour un novice comme pour un déveIoppeur/un data scientist. II permet de faire des expérimentations rapides, des graphiques a base de drag-and-drop, et offre des résultats en peu de temps.

On peut voir toutes les étapes du développement, et I’outil offre un large panel d’algorithmes pour satisfaire tous types d’utilisateurs.

II est gratuit a hauteur de 10GB mais payant 9€90/mois pour avoir des outils plus poussés.



Option 4 - Service Azure ML

Service Azure NL est plus orienté pour des utilisateurs expérimentés.

La grande différence avec « Studio Azure ML » est que Service Azure NL permet la personnalisation des modéles De plus, Service Azure NL foumit de nombreux outils performants tels que I’autoNL.

Par ailleurs, on peut y gérer un grand nombre d’options plus poussées : créer des notebooks, des pipelines, des modéles, des déploiements, etc.



Azure IA Gallery

Par ailleurs, Azure propose sa propre galerie « d’expérimentations » mais offre aussi la possibilité aux utilisateurs de proposer les leurs tout comme le permet Kaggle avec les différents projets.

II existe donc une très grande communauté a travers cette plateforme et un support utilisateur important.


Etat des solutions - Google Cloud Plateform


Dans GCP, I'utilisateur peut choisir différentes options pour faire du MLaaS.

Option 1 - API's



Option 2 - Auto ML

La seconde option est de générer ses propres modèles avec le service AutoML (encore en béta).

Ce service est plutôt destiné à des utilisateurs inexpérimentés car il permet de trouver les algorithmes les plus optimisés pour une tache donnée automatiquement.

Les résultats sont très corrects et peuvent permettre de rapidement prototyper un projet simple.

Cependant, AutoML donne peu de métriques et peu de détails sur son fonctionnement ce qui peut être assez frustrant pour des utilisateurs confirmés.



AutoML est disponible pour plusieurs disciplines de I'IA :



Option 3 - AI Platform

La troisième option est de réaliser ses propres modèles avec I’AI platform dédiée aux Datascientists confirmés.

L’outil permet de gérer tout le pipeline d’une application machine learning, de I’étiquetage des données au déploiement en production.

GCP propose un service de Jupyter Notebook et des environnements entièrement configurés pour de nombreux frameworks ML.


Pricing


AWS : Le prix d'Amazon est particulièrement insondable. Bien qu'il offre un calculateur de coûts, il est difficile d'obtenir des estimations précises en raison du grand nombre de variables en jeu. L'utilisation d'outils de gestion des coûts tiers est fortement recommandée.
Azure : Microsoft Azure ne simplifie pas les En raison de la complexité des options de licences logicielles de Microsoft et de I'utilisation de remises basées sur la situation, sa structure de prix peut être difficile à comprendre sans aide extérieure et/ou expérience considérable.
Google : En revanche, Google utilise ses prix comme point de différenciation. Son objectif est d'offrir des prix plus attractifs que les autres fournisseurs pour pallier à son manque d’expérience dans le milieu du Google utilise des remises importantes et des contrats exceptionnellement flexibles pour gagner en popularité.

Tableau récapitulatif



Conclusion


Nous pensons que Microsoft Azure est le plus adapté à notre besoin car il permet de rapidement faire des prototypes grâce à Azure Studio tout en offrant tous les outils nécessaires pour entraîner des modèles personnalisés.

Ce service nous permettra de rapidement monter en compétence sur des POCs via Studio et restera suffisamment complet sur des missions clients avec Service. Les 2 autres options restent tout à fait viables cependant car elles offrent des services relativement similaires.

Vous avez aimé ?
Partagez avec votre réseau
favorite7
favorite7