Aller au contenu

Préférences et cookies

Afin d’améliorer votre expérience sur notre site et de réaliser des statistiques de visites, nous utilisons des cookies. Rien n’est déposé sans votre accord, et le refus n’enlève l’accès à aucun contenu. Ce choix peut être modifié à tout moment.

Gérer les traceursVos données

Personnaliser
Données & IAGrand dossier12 articlesPublié le

Panorama des principaux frameworks IA

Dossier de la rédaction

Le Monde Informatique

Scikit-learn, Google TensorFlow, Keras, Microsoft Cognitive Toolkit, Facebook PyTorch, etc., ces frameworks IA deviennent incontournables pour...

Aller au sommaire

Article 1 sur 12

Effervescence autour des frameworks IA

Par La RédactionPublié le 4 octobre 20193 min de lecture

Afin de démocratiser l’intelligence artificielle auprès d’un large public et plus seulement à quelques spécialistes très pointus comme c’était le cas auparavant, des laboratoires de recherche et des géants du web ont créé des frameworks dédiés. « Un framework IA est en quelque sorte une boîte à outils permettant de poser les fondations dans la création d’applications IA. Si je prends notre framework Scikit-learn, il regroupe plus de 160 méthodes différentes d'apprentissage statistique dont l’objectif est d’ajuster des modèles sur des données pour résoudre des tâches telles que la prédiction de caractéristiques de ces données », relève Gaël Varoquaux, chercheur à l’Inria. Sur le marché, il existe une multitude de frameworks IA mais pour Léo Dreyfus-Schmidt, Head of Research chez Dataiku, les plus utilisés pour un kit de survie se comptent sur les doigts des deux mains et cite pêle-mêle Scikit-learn, TensorFlow, PyTorch ou encore Keras. A titre indicatif, Dataiku, l’éditeur de la plateforme collaborative de datascience, exploite entre autres les frameworks Scikit-learn, TensorFlow ou encore Keras (voir témoignage client ci-dessous).

La majorité de ces frameworks

est disponible en open source et le plus souvent basée sur les langages de programmation Python et C++ (voir tableau en encadré). Les frameworks existants ne sont pas tous identiques, ils répondent à des besoins précis et sont souvent complémentaires. Par exemple, si Scikit-learn est livré avec des algorithmes standards ou plutôt généralistes de machine learning, TensorFlow, Caffe ou encore PyTorch sont, quant à eux, plus orientés vers l’apprentissage en profondeur (deep learning), lesquels sont plutôt efficaces pour des applications IA comme la compréhension d'images ou du langage naturel. « Scikit-learn ne va effectivement pas suffire pour obtenir des résultats satisfaisants sur des applications IA comme la compréhension d'images ou de la parole. Pour cela, il va falloir se tourner vers un outil d’apprentissage profond tel que TensorFlow, souvent utilisé conjointement avec Scikit-learn pour ces tâches », confirme Gaël Varoquaux.

La différence se fait aussi dans l’approche et la structure même du framework, par exemple si TensorFlow propose des tenseurs (ou tables de données multidimensionnelles) pour évoluer dans un modèle de réseau neuronal, Keras, quant à lui, se concentre sur la définition des couches (API) pour le réseau neuronal via une écriture plus simple avec moins de code. Ainsi, à la différence de TensorFlow, Keras nécessite un moteur (bien souvent celui de TensorFlow), pour exécuter un modèle graphique. D’où cette complémentarité entre les frameworks. Bien sûr, une concurrence directe existe entre certains frameworks à l’image des deux géants du web : Google avec TensorFlow et Facebook avec PyTorch, et ce, même si leur architecture n’est pas tout à fait identique. PyTorch se basant sur des graphiques dynamiques alors que TensorFlow sur des graphes statiques.

Ces frameworks IA (téléchargeables depuis GitHub) sont aujourd’hui utilisés par un grand nombre d’entreprises parmi lesquelles Netflix pour faire de la recommandation de contenus à ses utilisateurs, Amazon pour de la recommandation produits aux clients ou Facebook pour faire entre autres de la reconnaissance d’images. En France, citons des sociétés comme Airbus (avec TensorFlow) pour la reconnaissance d’images, Data Publica, Dataiku avec l’usage de Scikit-learn pour faciliter la gestion des big data ou encore BNP Paribas Cardif, toujours avec Scikit-learn pour la conception d’offres d’assurance.

Le marché des IA en France

Les caractéristiques de quelques frameworks IA du marché (Rapport Prospective Intelligence Artificielle - Etat de l’art et perspective pour la France - source : cget, Tech’In, DGE et PIPAME). Lien vers ce site.

RNN (Recurrent neural network ou Réseau de neurones récurrents)

CNN (Convolution neural network ou Réseau de neurones à convolution)

Article 2 sur 12

Scikit-learn, le framework phare de la prédictivité

Par Benoît HuetPublié le 4 octobre 20192 min de lecture

Lutte contre la fraude et le spam, ciblage marketing, prévision des comportements des utilisateurs et utilisatrices, etc., c’est la finalité de l’exploitation d’un framework comme Scikit-learn dans les applications IA. « En 2009, une équipe de développeurs à l’Inria menée par moi-même a extrait des algorithmes de SciPy (ndlr : écrit à l’origine par David Courpaneau) pour créer le noyau de la boîte à outils Scikit-learn. Scikit-learn a alors rapidement grandi en rassemblant beaucoup de méthodes différentes. En 2011, une équipe internationale de volontaires se créait autour du noyau à l’Inria pour le développer. Aujourd’hui, des centaines de personnes réparties partout dans la planète y contribuent », résume Gaël Varoquaux, chercheur à l’Inria. Scikit-learn fournit des outils standards pour extraire la structure de données complexes (bases de données, textes, images) et les classifier en utilisant des techniques statistiques. Scikit-learn est développé en open source et est disponible sous licence BSD, c’est l’un des frameworks les plus utilisés au monde. « Nous évaluons son usage à 500 000 utilisateurs réguliers, il est exploité par un data scientiste sur 5, ce qui en fait l'outil d'apprentissage statistique le plus utilisé », reconnaît Gaël Varoquaux. Selon le chercheur, Scikit-learn est moins puissant qu’un Tensorflow mais beaucoup plus facile à utiliser et, par rapport à un outil comme R, ce framework est plus difficile à prendre en main mais peut être utilisé dans une chaîne de production pour des décisions automatiques. En termes d’évolution, Scikit-learn progresse dans beaucoup de directions différentes. « Cette boîte à outils s’enrichit de méthodes pour intégrer plus facilement des données imparfaites ou hétérogènes. Les méthodes existantes sont améliorées pour être plus rapides, pour pouvoir utiliser des grilles de calculs formées de multiples ordinateurs interconnectés. Finalement, nous rajoutons des outils pour interpréter et comprendre les prédictions des modèles », conclut Gaël Varoquaux. Pour accompagner l’écosystème Scikit-learn, un consortium (BCG Gamma, Microsoft, Axa, Daraiku, etc.) a été créé avec le soutien de la Fondation Inria il y a plus d’un an.

Article 3 sur 12

PyTorch, le framework pour le deep learning soutenu par Facebook

Par Benoît HuetPublié le 4 octobre 20192 min de lecture

« PyTorch a d’abord été un outil pour les chercheurs en intelligence artificielle, conçu pour leur permettre d’exprimer facilement leurs idées concernant les réseaux de neurones dynamiques et de réaliser rapidement des prototypes et des expériences », souligne Joe Spisak, responsable produit PyTorch chez Facebook AI. Aujourd’hui, PyTorch 1.0, qui permet de réaliser des calculs tensoriels notamment pour l'apprentissage profond pour des applications liées au langage naturel ou à la vidéo, est une plateforme unifiée permettant aux développeurs d'intelligence artificielle de passer de la recherche à la production de manière transparente. Selon Joe Spisak, sans communiquer de chiffres précis, PyTorch est le deuxième projet open source à la croissance la plus rapide sur GitHub et est très populaire dans les institutions universitaires et industrielles, les formateurs et les étudiants ainsi qu’auprès des grandes et petites entreprises. A noter que Facebook l’utilise actuellement en production à grande échelle, par exemple pour alimenter plus de 6 milliards de traductions par jour. Microsoft, Toyota Research Institute, Airbnb, Genentech, OpenCV sont autant d’utilisateurs de ce framework. Pour Joe Spisak, PyTorch se distingue par la simplicité de son interface d'exploration autour du code Python. Par exemple, OpenCV, qui a choisi PyTorch, décrit sa simplicité et sa rapidité comme « étonnante ». PyTorch peut compter sur une communauté active qui fournit une multitude de fonctionnalités (modèles pré-formés, bibliothèques de traitement du langage naturel, d’apprentissage par renforcement, etc.). Parmi les évolutions envisagées, citons l’intégration de nouvelles bibliothèques d'API, la possibilité de nommer les tenseurs, la création de PyTorch Hub, un lieu unique pour la recherche, etc.

Article 4 sur 12

Keras, une bibliothèque pour construire un modèle simple de réseau de neurones

Par Benoît HuetPublié le 4 octobre 20191 min de lecture

Keras est une bibliothèque d’API de réseaux de neurones écrite en Python par François Chollet, ingénieur français (travaillant actuellement pour Google) dans le cadre du projet de recherche Oneiros (Open-ended Neuro-Electronic Intelligent Robot Operating System). Sa particularité est qu’elle s’exécute depuis un moteur de deep learning de type TensorFlow. Cette pile se distingue par sa convivialité, sa modularité et sa flexibilité et prend en charge les réseaux récurrents et à convolution (très utilisés dans la classification d'image ou la reconnaissance visuelle). Les utilisateurs de Keras apprécient effectivement sa transparence par exemple dans l’intégration automatique avec TensorFlow ou sa simplicité, ce framework réduit au minimum le nombre d’opérations humaines requises et fournit un retour clair et exploitable en cas d'erreur. De même, concernant sa modularité, Keras est considéré comme un modèle du genre, il comprend ainsi un certain nombre de modules autonomes (les niveaux neuronaux, les fonctions de coût, les optimiseurs, les schémas d'initialisation, etc.) qu’il est aussi possible de combiner pour créer de nouveaux modèles sans devoir disposer de back-ends complexes. A noter que Scikit-learn peut utiliser des modèles Keras. Cette boîte à outils est également optimisée pour les plateformes GPU de Nvidia et TPU de Google. Ce framework compte environ 250 000 utilisateurs dans le monde dont des grands groupes comme Netflix ou encore Uber mais aussi chez les chercheurs de CERN et de la NASA.

Article 5 sur 12

Apache MXNet, un framework multilingue simple à utiliser

Par Benoît HuetPublié le 4 octobre 20191 min de lecture

Depuis la plateforme cloud AWS SageMaker, les utilisateurs peuvent facilement créer leur modèle de deep learning sur Apache MXNet, ils peuvent aussi le faire depuis Microsoft Azure. Soutenu par la fondation Apache, le framework MXNet est en effet surtout connu pour être accessible depuis une infrastructure cloud dynamique. MXNet est une bibliothèque de réseau de neurones réputée concise et simple par exemple pour résoudre un problème de classification d’images. Parfaitement optimisé pour la plateforme GPU Nvidia et son environnement Cuda, MXNet supporte une multitude de langages (C ++, Python, Julia, R, Scala, etc.) et prend en charge la programmation dite impérative et symbolique, ce qui permet aux développeurs adeptes de cette programmation de se familiariser avec l'apprentissage en profondeur tout en leur simplifiant le suivi, le débogage, la sauvegarde des points de contrôle ou encore la modification des hyperparamètres (taux d’apprentissage, arrêts précoces). Pour créer plus rapidement des modèles d’apprentissage, les développeurs peuvent exploiter l’interface Gluon pour MXNet. Ainsi, depuis cette interface graphique, ils ont accès à un ensemble de composants de réseau neuronal optimisés et prédéfinis. En seulement quelques lignes de code Gluon, il est possible de créer des réseaux convolutifs et des réseaux récurrents pour la détection d'objets, la reconnaissance vocale, la recommandation et la personnalisation.

Article 6 sur 12

Caffe : la recherche apprécie sa vitesse

Par Benoît HuetPublié le 4 octobre 20192 min de lecture

Caffe est aussi un framework open source dédié au deep learning mais écrit en C++ avec une interface en Python et Matlab pour la partie graphique. Développé par Yangqing Jia à l’université de Berkeley, Caffe, qui supporte un certain nombre de réseaux de neurones (CNN, RNN, LSTM), est surtout exploité dans la classification et la segmentation des images, sans oublier la parole. En l’associant à une plateforme GPU Nvidia, Caffe exécute des modèles très rapidement, ce qui le destine comme l’outil idéal pour des projets de recherche universitaire et d’applications industrielles à grande échelle en matière de vision par ordinateur, de traitement du langage et de création multimédia. Des tests publiés par Nvidia montrent que les performances de Caffe sur un GPU Tesla P100 (Architecture K40 avec 2 processeurs Xeon E5 2699 à 2,2 GHz) permettent de traiter près de 110 images par seconde. A noter que la plateforme IA Nvidia Jetson pour les machines autonomes supporte entre autres frameworks Caffe. Le fondeur propose également Nvidia Caffe, également connu sous le nom de NVCaffe, une émanation de Caffe gérée par le fournisseur et adaptée à ses GPU, en particulier dans les configurations multi-GPU. Yahoo a aussi intégré Caffe avec le framework de calcul distribué Spark pour créer une distribution de deep learning baptisée CaffeOnSpark. A noter qu’il existe également sur le marché le framework Caffe2 initié par Facebook. Ce dernier, qui reprend le code source de Caffe, a été conçu pour l’expression, la rapidité et la modularité, notamment pour le déploiement en production, ce qui n’a jamais été l’objectif de PyTorch (lui aussi appartenant à Facebook). Fin 2018, Caffe2 a fusionné avec PyTorch.

Article 7 sur 12

Google TensorFlow, le plus populaire

Par Benoît HuetPublié le 4 octobre 20192 min de lecture

En stade de projet chez Google en 2011, le framework TensorFlow a été proposé en version publique en 2017 (version 1). « TensorFlow est une vue très affirmée écrit sous la forme de graphes de calcul. C’est d’abord un moteur de calcul très performant pour faire du deep learning mais aussi de la simulation ; TensorFlow est également reconnu comme très malléable », précise Laurent Julliard, Customer Engineering chez Google. Ecrit en C++ pour le moteur de bas niveau et en Python au-dessus, TensorFlow est le plus répandu des frameworks IA avec 2 000 contributeurs réguliers. D’ailleurs, près de 70 % des projets IA dans le monde exploitent ce framework. Les utilisateurs apprécient son niveau de performances grâce à sa technique de compilation. Depuis juin dernier, TensorFlow est disponible en v2. Parmi les nouvelles fonctions, notons le support complet de la bibliothèque d’API simplifiée Keras, l’intégration d’un mode d’interprétation de langage, sans oublier la prise en charge de TensorBoard pour contrôler tout ce qui se passe via un dashboard graphique, de TensorFlow Light pour faire tourner les modèles sur IoS et Android et de TensorFlow Extended (approche autoML). Signalons aussi que Google propose une boîte à outils KubeFlow pour faciliter les déploiements à grande échelle des pipelines de calcul Kubernetes. De nombreuses entreprises exploitent TensorFlow dont Airbus qui dissocie, grâce à ce framework, la neige des cimes des nuages. L’avionneur a ainsi diminué son taux d’erreur dans la correction des images satellites de 11 à 3 %. Parmi les autres clients, on peut citer Ubisoft, Carrefour, Atos, GRDF ou encore Dailymotion (voir témoignage client).

Article 8 sur 12

Fin de carrière pour Microsoft Cognitive Toolkit, priorité à ONNX

Par Benoît HuetPublié le 4 octobre 20192 min de lecture

« Nous arrêtons le développement de Microsoft Cognitive Toolkit (ex CNTK) même si nous continuons à supporter le framework notamment pour les corrections de bugs. Nous concentrons ainsi notre stratégie IA vers ONNX (Open Neural Network Exchange) », annonce Bernard Ourghanlian, directeur technique de Microsoft. Pour expliquer l’arrêt de CNTK, Microsoft se base sur les habitudes et les usages des datascientists et des clients, très fidèles à leurs outils et à leur environnement. Dans ce contexte, l’éditeur concentre donc ses efforts sur ONNX qui permet de définir un format ouvert pour les modèles de machine learning sur tout type de hardware via le moteur ONNX Runtime. Si à l’origine, ONNX était un projet conjoint avec Facebook, aujourd’hui, il compte une trentaine de membres (Amazon, Nvidia, ARM, Alibaba, Huawei, etc.) hormis Google. Le framework ONNX embarque ainsi tous les principaux frameworks IA du marché dont PyTorch, Caffe, MXNet, Scikit-learn, etc. et convertit, comme le précise Bernard Ourghanlian, des modèles dans un format neutre que l’on va entrainer via Azure Machine Learning par exemple. ONNX est disponible en open source et accessible sur GitHub mais aussi en natif sous Windows 10. Microsoft a récemment publié les performances d’ONNX : « en moyenne, nous avons un gain de performances de deux fois y compris sur des développements en natif sous TensorFlow. Dans Office, un modèle a été utilisé (sur une base de CMTK) pour faire de la correction grammaticale, avec pour résultat un taux d’amélioration de la latence proche de 15 », souligne Bernard Ourghanlian. Autre exemple : Azure Cognitive Services a constaté une réduction de la latence de 3,5 fois pour un modèle de reconnaissance optique de caractères.

Article 9 sur 12

Des processeurs dopés aux instructions IA

Par Benoît HuetPublié le 4 octobre 20193 min de lecture

Les applications IA couplées aux big data réclament d’importantes performances de calcul (les CPU plutôt pour les phases d’inférence et les GPU pour l’accélération des algorithmes et les réseaux de neurones). Dans ce contexte, les fournisseurs comme Intel, Nvidia, Huawei ou encore AMD proposent des processeurs qui accélèrent les applications IA, et donc pour ce faire, ils câblent au cœur de leurs puces un certain nombre d’instructions. C’est par exemple le cas d’Intel avec sa seconde génération de processeurs Xeon (Cascade Lake) dotés d’instructions VNNI (Vector neural network instructions) proposées par la technologie Deep Learning Boost d’Intel. Idem pour la 10e génération de processeurs Core pour les laptops, annoncée le mois dernier, qui embarque ce jeu d’instructions Deep Learning Boost. En parallèle, Intel propose des ASIC dédiés à l’IA comme le Nervana Neural Network Processor sur lequel Facebook travaille en partenariat avec le fondeur pour ses serveurs. Lors de l’événement récent Hot Chips 2019 à Palo Alto, Intel a donné plus de détails sur les deux processeurs de sa gamme Nervana, le NNP-I, du deep learning pour les grands datacenters et NNP-T pour la formation de modèles de deep learning à grande échelle.

De son côté, Derek Bouius, responsable produits chez AMD, indique étudier les ASIC dédiés pour des meilleures performances et capacités énergétiques. En attendant, AMD prend en charge les versions actuelles de deux des frameworks ML les plus populaires : PyTorch et TensorFlow, la plupart du code étant disponible dans les upstream repositories. De même, la gamme actuelle Radeon Instinct profite d’optimisations s’agissant des opérations en précision mixte particulièrement adaptées pour l’apprentissage machine sur les workloads d’entrainement. Ces GPU se destinent à différents marchés et notamment le HPC, la virtualisation ou encore le cloud gaming.

Des GPU de Nvidia aux TPU de Google

Nvidia, le pionnier du calcul intensif accéléré par GPU, a pris très tôt en compte l’accélération des algorithmes de deep learning dans ses GPU. Aujourd’hui, la santé, les voitures connectées, les jeux vidéo, le calcul intensif, les villes intelligentes, etc., sont autant de domaines ciblés par le fondeur. Nvidia commercialise même un kit de développement IA GPU, (https://www.lemondeinformatique.fr/actualites/lire-NVIDIA-devoile-un-kit-de-developpement-ia-gpu-a-99$-74698.html), le Jetson Nano Developer qui intègre entre autres les frameworks IA TensorFlow, PyTorch, Caffe, Keras et MXNet. De même, selon Stéphane Quentin, responsable de la communication en France, Nvidia supporte tous les frameworks IA avec une prise en charge dans les cœurs de calcul Tensor tant sur l’architecture Volta que Turing. Citons également Qualcomm qui agit sur l’IA (notamment sur la partie photo) depuis les terminaux mobiles avec les Snapdragon 665, 730 et 730G ou encore IBM et ses Power9 qui prennent en charge les traitements intensifs en deep learning via un certain nombre de frameworks. N’oublions pas les TPU (Tensor Processing Unit) de Google, des puces conçues spécialement pour le framework TensorFlow. Rappelons que le TPU de Google a été l'une des clés du succès de l'intelligence artificielle AlphaGo pour vaincre les meilleurs joueurs humains de GO du monde. Dans la même philosophie, Google a créé des Edges TPU, en inférence également, pour les systèmes embarqués. Le fabricant coréen LG, par exemple, les exploite dans ses dalles d’écran pour effectuer du contrôle qualité. L’Edge est aussi une priorité pour Microsoft qui mise sur les FPGA pour l’apprentissage automatique. Pour Bernard Ourghanlian, le FPGA est versatile et est très efficient en termes d’énergie par rapport à un GPU. Enfin, le géant chinois Alibaba a annoncé, lors de la conférence annuelle d'Alibaba Cloud Apsara Computing qui se tient actuellement à Hangzhou en Chine, la NPU Hanguang 800, une puce IA actuellement utilisée en chez Alibaba dans la recherche de produits et la traduction automatique pour ses sites e-commerce, les recommandations personnalisées, la publicité et les services clients intelligents. Un autre chinois, Huawei pousse sa plateforme Ascend 910 IA avec des accélérateurs Da Vinci (NPU) travaillant avec des nœuds x86 ou ARM. L’architecture Da Vinci a été conçue pour concurrencer les accélérateurs IA Nvidia Tesla (GPU) au sein de la solution DGX (avec des nœuds Intel Xeon), qui sont aujourd’hui plébiscités pour les traitements IA en local.

Article 10 sur 12

Dataiku conquis par le framework Scikit-learn

Par Benoît HuetPublié le 4 octobre 20192 min de lecture

« Notre première collaboration avec le framework Scikit-learn date de 2013, à cette époque, nous ne parlions pas encore de TensorFlow ou de PyTorch », fait remarquer Léo Dreyfus-Schmidt, Head of Research chez Dataiku, une entreprise franco-américaine qui édite une plateforme collaborative intelligente de data science, et d’ajouter : « Nous utilisons Scikit-learn pour notre plateforme Data Science Studio qui permet de transformer les données brutes en prévisions via du machine Learning ». Bien sûr, comme le précise Léo Dreyfus-Schmidt, Scikit-learn n’est pas le seul framework IA utilisé, l’éditeur exploite aussi les piles d’outils de Kera et de TensorFlow pour entrainer des modèles de deep learning.

Une souplesse d’utilisation

« De mon point de vue, Scikit-learn reste incontournable, ce framework dispose d’une bonne renommée et le côté réassurant est aussi qu’il soit proposé en open source, un vrai gage de transparence. De plus, ses concepteurs ont réussi à le rendre accessible avec son interface de programmation. Ainsi, pour un utilisateur qui n’est pas à l’aise avec le langage Python, il bénéficie d’une certaine souplesse dans le calcul des métriques, le nettoyage des données… , de nombreuses tâches sont automatisées », explique Léo Dreyfus-Schmidt. Il faut savoir que Dataiku est membre du consortium Scikit-learn depuis sa création il y a un peu plus d’un an et apporte aussi, à ce titre, sa contribution dans les améliorations et les nouvelles fonctions du framework. Dataiku n’exploite pas la totalité des fonctions du framework, comme le précise Léo Dreyfus-Schmidt, une réflexion sur l’application est effectuée en amont selon les besoins. De plus, l’emploi de ce type de framework facilite certes une partie du travail mais il reste un important travail pour le rendre actif en production. « Nous y ajoutons de nombreux développements en interne », confirme le responsable de la recherche chez Dataiku qui peut compter sur sa solide équipe R&D d’une cinquantaine de personnes sur un effectif total de 300 collaborateurs.

Article 11 sur 12

La gestion du cycle de vie des frameworks depuis la plateforme de data intelligence de SAP

Par Benoît HuetPublié le 4 octobre 20192 min de lecture

« SAP propose une plateforme ouverte dans laquelle les datascientists peuvent utiliser les frameworks (sous forme conteneurisée) de leur choix comme TensorFlow, Keras ou Scikit-learn. En soi, SAP ne se substitue pas aux utilisateurs dans le choix de ces modèles, nous les intégrons par défaut tout simplement, bien sûr, nous les utilisons aussi en interne ; toutefois, la vraie valeur ajoutée de SAP se trouve dans la gestion du cycle de vie de ces modèles. Comment les injecte-t-on dans les processus métiers ? Comment établir une relation de confiance entre les utilisateurs et les algorithmes de ML ? Notre mission est bien d’apporter des méthodologies associées à ces frameworks », explique Arta Alavi, expert IA dans les équipes R&D de SAP France. En effet, SAP gère avant tout l’élasticité et le monitoring de sa plateforme de data intelligence dédiée aux datascientists. Même si l’expert IA de SAP reconnaît l’importance des frameworks, il tient aussi à préciser que ce sont surtout les compétences humaines qui font la différence dans la réalisation des modèles.

Egalement, des frameworks propriétaires pour ses propres solutions

Evidemment, tous les utilisateurs ne sont pas des datascientists, l’éditeur a donc créé en parallèle des solutions via Analytics Cloud pour les non-datascientists dans lesquelles les solutions ML sont intégrées. « Dans cette plateforme, nous intégrons d’abord des algorithmes propriétaires issus de nos rachats comme Kxen (https://www.lemondeinformatique.fr/actualites/lire-sap-rachete-kxen-et-ses-technologies-d-analyse-predictive-54976.html) qui nous permet par exemple de réaliser des forecasts de planning à grande échelle. Toutefois, nous réfléchissons dans notre roadmap à intégrer les frameworks IA du marché les plus répandus », indique Arta Alavi. Autre exemple, suite au rachat en 2018 de Recast.ai, une startup française spécialisée dans l’intelligence artificielle conversationnelle, SAP souhaite intégrer des chatbots dans les applications, bien sûr, ce framework hérité du rachat n’a rien à voir avec des modèles d’utilisation. Signalons enfin que les équipes de SAP contribuent aussi à l’enrichissement des frameworks IA, notamment sur leur conteneurisation vers Kubernetes.

Article 12 sur 12 · Contenu Partenaire

L'Intelligence Artificielle au centre de la solution de Criteo

Proposé par IntelPublié le 4 octobre 20193 min de lecture

Contenu Partenaire

Criteo, start-up créée en France en 2005 par JB Rudelle, est reconnue aujourd’hui comme un leader mondial de la publicité en ligne personnalisée. Criteo offre à ses clients des annonces efficaces sur tous les canaux, en appliquant une technologie de Machine Learning avancée, liée à des ensembles de données inégalés. Grâce à son centre de Recherche et Développement (R&D), l’entreprise fournit à ses clients une plateforme publicitaire intelligente capable de cibler efficacement les consommateurs sur tous les canaux, répondant avec précision et rapidité à leurs besoins.

Pour ce faire, Criteo s’appuie sans mesure sur l’IA depuis 15 ans en appliquant une technologie de Machine Learning avancée, liée à des ensembles de données inégalés. ; Au sein de l’entreprise, prêt de 700 collaborateurs (sur 2900 au total) travaillent au sein du pôle de recherche et développement. « En 2018, nous avons créé un laboratoire, le Criteo AI Lab, qui compte une centaine de chercheurs et d’ingénieurs dont l’objectif est de repousser les limites de nos connaissances en IA, les tester à grande échelle et les mettre en production », indique Romain Lerallut, VP à la tête du Criteo AI Lab.

Au quotidien, les algorithmes de Machine Learning et Deep Learning construisent des modèles de prédiction et de recommandation capables de proposer la recommandation la plus appropriée : il s’agit d’afficher la publicité dont l’internaute aura besoin, au bon moment, sur le bon canal, afin de convertir la publicité en vente, transformer l’internaute en consommateur. Pour y parvenir, Criteo s’appuie sur son infrastructure, l’un des plus gros clusters Hadoop en Europe (4000 nœuds, 300 Po, 5 pétaflops) capable de trier, vérifier et analyser un conséquent volume de données. « Le travail sur les données représente 30 à 50 % du temps du projet afin de les rendre disponibles pour l’apprentissage et la prédiction », indique Romain Lerallut. Dans son infrastructure, Criteo exploite à la fois des processeurs graphiques, notamment pour le traitement des images, mais aussi, et même majoritairement, des CPUs (processeurs Intel® Xeon® Scalable) pour la préparation des données, l’inférence, et une grande partie du training.

« Les CPUs offrent à la fois des performances de calcul et de faibles consommations, notamment pour certains types de modèles comme la régression logistique ou les arbres de décision. N’oublions pas que nous sommes soumis dans nos datacenters à des contraintes énergétiques très fortes », concède Romain Lerallut. L’entreprise travaille ainsi massivement avec des technologies open source (Hadoop, TensorFlow, CouchBase, etc.), contribue à leur évolution et partage ses recherches lors de grandes conférences internationales telles que ICML (International Conference on Machine Learning). Pour Criteo, l’infrastructure, matérielle et logicielle, joue un rôle majeur dans l’intelligence artificielle.

Des temps de réponse toujours plus bas

L’enjeux est de taille : être capable d’apporter une réponse pertinente en un temps record, dans le contexte d’un volume de données croissant : le temps de réponse devra être de l’ordre de la milliseconde en supportant des modèles d’apprentissage plus larges et plus profonds. Que ce soit en apprentissage ou en prédiction, l’accès aux données peut être un goulot d’étranglement et il faut raisonner au niveau du système en entier. « En quelque sorte, Criteo dispose d’un moteur massif qu’il faut alimenter avec de gros tuyaux pour exploiter tout le carburant », compare Romain Lerallut.

Intel, en tant que partenaire technologique, Intel accompagne Criteo dans son ambition de rendre l’IA toujours plus efficace, performante, et économique. Ainsi, Intel insère les CPU Intel® Xeon® Scalable au sein des serveurs existants (calculs d’inférence et de training) et continuera à performer en proposant à l’avenir des architectures dédiées au Deep Learning haute performance via des cartes Intel® Nervana™ NNP-I/T. L’architecture d’Intel, agnostique en termes de couches logicielles, supporte les solutions et les frameworks Open Source. Depuis ces architectures largement optimisées pour exécuter les calculs d’IA, Intel propose son expertise R&D à Criteo pour ses tests et phases exploratoires.