Créer rapidement une IA business, c'est possible

Créer rapidement une IA business, c'est possible Plusieurs techniques existent pour accélérer le développement d'un modèle de machine learning orienté business : des algorithmes "tout en un" au transfert learning en passant par l'auto ML.

Développer rapidement des modèles d'apprentissage métier est désormais tout à fait possible. De nombreux outils et méthodes existent pour accélérer ce type de développement. A la base, on retrouvera évidemment les bibliothèques de machine learning ou de deep learning comme Keras, Apache MXNet, Pytorch, Scikit-Learn ou Tensorflow. Des sites web (ou "zoos") référencent aussi de très nombreux modèles issus de ces bibliothèques, mais adaptés à des objectifs précis : traduction automatique, reconnaissance d'images, gestion conversationnelle orientée chatbot, recommandation de produits via reinforcement learning, etc. Parmi ces sites figurent par exemple Model Zoo dans le deep learning ou Rlzoo dans l'apprentissage par renforcement.

"Les principaux clouds publics, au premier rang desquels AWS, Google Cloud ou Microsoft Azure, proposent des services managés de modèles tout en un", commente Marc Fanget, directeur technique chez Umanis. Ces offres recouvrent les usages de base de l'IA. Celle de Microsoft (Azure Cognitive Service) intègre par exemple la détection d'anomalies, l'identification de contenus indésirables, la reconnaissance et la synthèse vocale, la compréhension du langage naturel, l'analyse de sentiments… La traduction et la reconnaissance d'images font, là encore, partie de la liste. "Ces modèles seront entraînés avec des données propres à l'entreprise pour répondre à un contexte métier spécifique. En revanche, leur structure ne pourra pas être modifiée, et le format des data set d'apprentissage sera contraint", pondère Marc Fanget.

Le machine learning automatisé

Autre technique pour échafauder une IA rapidement : le machine learning automatisé (ou auto ML). Il existe désormais de nombreux outils dans ce domaine. DataRobot et H2O.ai ont lancé les toutes premières plateformes d'auto ML dès 2012. AWS, Google Cloud et Microsoft Azure leur ont emboité le pas en 2018 et 2019. En parallèle, les studios de data science ont investi le terrain. C'est le cas de Dataiku, Knime, Rapidminer et SAS. "L'automated machine learning permet à un data analyst de créer rapidement un modèle simple, par exemple un classifieur d'images, en l'entraînant à partir d'un data set de photos labellisées", explique Didier Gaultier, directeur data science & AI au sein de Business & Decision, filiale d'Orange experte en data.

Mais pour aboutir à un résultat satisfaisant sur des prédictions complexes, par exemple en économétrie, en recherche pharmaceutique ou encore dans la détection des fraudes, il sera nécessaire de personnaliser les modèles issus de l'auto ML voir de les combiner. "Prenons l'exemple des systèmes de détection d'attaques informatiques. Certaines attaques changent de signature en temps réel. Il n'est donc plus possible de les détecter via les algorithmes classiques. Pour les repérer, on doit passer par des approches semi-supervisées ou non-supervisées qui nécessitent l'intervention d'un data scientist", illustre le spécialiste Aymen Chakhari (lire l'article Le machine learning automatisé va-t-il remplacer le data scientist ?). L'auto ML n'en reste pas moins un bon outil pour accélérer les projets.

"Pour verticaliser un réseau de neurones, on pourra se contenter de compléter son apprentissage avec une base d'exemples spécifiques"

Dans cette quête de vitesse, le transfert d'apprentissage n'est pas non plus à négliger. Il consiste à reprendre des réseaux de neurones préentrainés puis de les adapter à la problématique cible. Explication : un réseau neuronal qui a appris à reconnaître un chien en photo pourra être repris pour détecter un chat. Ce dernier a également une tête, deux oreilles, quatre pattes, etc. Les couches du réseau correspondantes pourront ainsi être réexploitées. Ne restera plus que les couches supérieures à ajouter.

Evidemment, on pense immédiatement au modèle de langage BERT de Google, et surtout au GTP-3 d'OpenAI. "Il s'agit à ce jour du meilleur modèle neurolinguistique jamais conçu", reconnait Antoine Simoulin, responsable R&D au sein de l'expertise NLP chez Quantmetry. Les cas d'usage de GTP-3 sont pléthores : traduction évidemment, mais aussi synthèse de texte ou adaptation de celui-ci en langage courant, rédaction automatique d'article, génération d'une application à partir d'instructions en langage naturel, dialogue homme-machine... Ici, le réseau de neurones pourra être complété d'une couche centrée sur une tâche particulière, par exemple le filtrage de mails (avec les paramètres "spam", "message professionnel", "message sur telle ou telle thématiques"…). "Mais pour l'adapter, on n'aura pas forcément besoin de modifier son architecture et ses poids, on pourra également compléter son apprentissage avec une base spécifique d'exemples qualifiés et correctement labellisés lui permettant de se spécialiser sur un vocabulaire particulier", ajoute Antoine Simoulin.

Le transfert d'apprentissage

Reprendre de tels réseaux de neurones engendre néanmoins une contrainte de taille. "BERT compte entre 100 et 300 millions de paramètres selon les versions, et GPT3 quelque 175 milliards. Ce qui les rend lourds à manipuler et à entrainer, y compris sur de petits data set de spécialisation. L'infrastructure de calcul pour gérer cet apprentissage aura un coût que peu d'entreprises pourront se payer", prévient Antoine Simoulin, avant d'ajouter : "Pour répondre à cet enjeu, OpenAI a développé une API qui facilite l'accès à GPT3." Autre contrainte à prendre en compte, les résultats d'un réseau de neurones ne sont en général pas explicables mathématiquement. Il pourra aussi se tromper complètement dans de rares cas. Ce qui le rend difficile à appliquer dans certains domaines (lire Voiture autonome : quelle intelligence artificielle sous le capot ?).

Cela ne veut pas dire pour autant que le transfert learning n'est pas exploitable. L'IA factory d'un grand groupe pourra réutiliser les réseaux de neurones qu'elle a développés, par exemple pour reconnaitre des catégories de produits à aiguiller au sein d'un centre de tri (un processus non-critique qui supporte donc une petite marge d'erreur). Ils pourront être réexploités pour d'autres projets, typiquement pour identifier et automatiser le routage d'autres catégorie d'articles en provenance d'autres usines du groupe. Centré sur une tâche précise, le modèle en question ne sera pas aussi volumineux que les BERT ou GPT3, le transfert learning n'impliquera donc pas une puissance de calcul aussi conséquente que pour ces derniers.