Comment passer à l'échelle dans l'IA ?

Comment passer à l'échelle dans l'IA ? Tour d'horizon des différentes briques permettant d'industrialiser le développement, l'entraînement et le déploiement de modèles de machine learning.

Industrialiser la création et le déploiement d'algorithmes de machine learning (ML) implique un système informatique intégrant plusieurs processus clés. En amont, la data préparation consiste à optimiser les informations nécessaires à l'apprentissage machine. C'est une phase capitale. Des données d'entraînement bien conçues contribuent en effet à réduire le risque de biais susceptibles de surgir de l'IA. Imaginez une voiture autonome qui analyserait la silhouette d'un piéton traversant la chaussée comme un faux positif. La mésaventure est arrivée en mars 2018 à une voiture autonome Uber aux Etats-Unis. Le véhicule a renversé une passante qui a été tuée sur le coup. Après la préparation des données viennent les process de création et de paramétrage des modèles de ML puis l'apprentissage machine en tant que tel. Conditionnant la qualité et la précision des résultats, ces différentes étapes seront gérées via des outils de développement. Une fois alimentée en informations, l'IA est ensuite mise en œuvre sur le terrain via des pipelines de déploiement. Enfin, elle est monitorée et alimentée au fur et à mesure de l'arrivée de nouvelles connaissances.

"Pour bâtir une factory d'IA, deux types de solution : un IDE orienté machine learning d'une part, une plateforme de data science d'autre part"

"Pour bâtir une factory d'IA, on peut envisager deux types de solution : un environnement de développement intégré (IDE) orienté machine learning, type Anaconda d'une part, une plateforme de data science (comme Dataiku, ndlr) d'autre part", commente Didier Gaultier, directeur data science et IA chez Business & Decision, filiale d'Orange. L'IDE associera des librairies de data préparation, des éditeurs de code pour programmer les modèles, ou encore des notebooks regroupant algorithmes, data visualisations et documentation technique propre à chaque projet. Le tout 100% open source (voir l'infographie ci-dessous). Les plateformes de data science, elles, se distinguent par une logique de modélisation graphique des algorithmes et wokflows d'apprentissage. Une approche qui permet d'ajuster le poids des variables de ML beaucoup plus rapidement en évitant de rentrer dans le code, mais tout en y donnant accès si besoin. "Les plateformes de data science pilotent en outre l'entrainement et le versioning des modèles, et donnent accès à de multiples composants packagés", complète Didier Gaultier. Du coup, même si leur approche souvent propriétaire induit des coûts d'acquisition élevés au départ, ces offres peuvent potentiellement mener à un retour sur investissement plus rapide que les IDE. "Elles permettent de réduire le nombre moyen de jours-hommes d'un projet de machine learning d'un facteur 3", estime le consultant.

 

"Les plateformes de data science font désormais consensus", confirme Victor Azria, en charge de l'offre Data Science & Analytics pour l'ESN Capgemini France. "En s'inspirant du DevOps, elles introduisent le concept de MLOps en intégrant toutes les étapes du processus de ML, du développement à la maintenance des modèles au sein d'un environnement sans couture." Complétant l'édifice, les solutions d'automatisation du machine learning facilitent le prototypage rapide de cas d'usage. "Une fois le modèle conçu par un machine learning engineer, ces outils permettent à un non-data scientist de gérer la maintenance et les phases de réapprentissage", renchérit Didier Gaultier.

Spark pour l'IA temps réel

L'entraînement d'un modèle pourra évidemment être exécuté en sollicitant des ressources de calcul sur un cloud public distant. A la condition évidemment que les data sets d'apprentissage ne soient pas trop lourds pour être transférés via Internet. "Si c'est le cas et/ou si la confidentialité des données d'entraînement est jugée incompatible avec le cloud public, un cloud privé pourra se révéler nécessaire, voire opter pour une exécution des modèles directement sur l'objet", prévient Victor Azria.

La même problématique se pose lors du déploiement. Dans le cas d'une caméra de surveillance à reconnaissance d'images par exemple, le flux vidéo capté sera de facto beaucoup trop volumineux pour supporter un transit vers une plateforme distante. "D'autant que le temps de latence nécessaire sera incompatible avec la gestion d'un alerting qui se veut ici temps réel", insiste Victor Azria. Résultat, il sera nécessaire d'intégrer un moteur d'inférence à la caméra pour réaliser le traitement in situ. La multiplication des capteurs IoT, de la smart city à la maison connectée en passant par l'industrie, pousse la logique dans la même direction. Avec à la clé deux scénarios envisageables : exécuter les modèles sur des hubs IoT de proximité ou directement au cœur de l'objet.

"On passe de plus en plus d'IA d'aide à la décision à des IA opérationnelles"

Aux côtés de Python sur le terrain des langages de développement, Spark impose désormais sa marque dans l'IA sur le front des frameworks de traitement distribué. L'infrastructure de calcul en mémoire permet à l'apprentissage machine de s'exécuter en quasi temps réel sur des volumétries massives de données en évolution constante. "Pour un client, nous avons par exemple eu recours à Spark pour prédire l'arrivée des bateaux dans le port d'Anvers en fonction de leur position, de leur vitesse et de la météo", indique Didier Gaultier chez Business & Decision.

Pour industrialiser le déploiement des modèles, le container logiciel entre également dans la danse. Embarquant tous les composants nécessaires à leur exécution (algorithmes, paramètres, librairies associées), sa portabilité lui permet de passer rapidement des environnements de développement et d'entraînement aux systèmes de production sur le terrain. Et cela quelle que soit l'infrastructure sous-jacente : cloud privé, public, edge, IoT... Par la même occasion, le container évite les mauvaises surprises lors du déploiement en garantissant la présence d'une pile applicative homogène d'un bout à l'autre de la chaîne.

Un orchestrateur d'IAs

En vue d'aboutir à l'industrialisation de la fabrication d'une IA, reste à prendre en compte l'intégration croissante du machine learning au cœur des processus business. "C'est un fait. On passe de plus en plus d'IA d'aide à la décision à des IA opérationnelles", constate Patrick Darmon, directeur exécutif de l'activité Applied Intelligence France et Benelux pour le cabinet Accenture. D'où la nécessité de gérer voire d'automatiser l'enchaînement de plusieurs modèles d'apprentissage au sein d'un workflow.

"Prenez le cas du centre d'appels d'un assureur, un client appelant suite à un accident de voiture pourra d'abord converser avec un chatbot qui récupérera les données nécessaires au traitement de son dossier : constat et photos. Elles seront ensuite analysées par une deuxième IA qui identifiera les services de réparation à activer en fonction du contrat signé par le client. En parallèle, une troisième IA passera au crible les images pour détecter de potentielles anomalies révélant un risque de fraude", détaille Patrick Darmon. L'articulation de ces différents modèles de ML sera pilotée par un orchestrateur. "C'est une technologie que nous avons développée pour certains de nos clients. Pour l'heure, ce type de solution n'est proposée par aucun éditeur", pointe Patrick Darmon. "Mais il est fort à parier que de tels logiciels arrivent sur le marché d'ici quelques mois."