L'apprentissage automatique a un problème d'intégration des données : le besoin de libre-service

5 minutes de lecture

Lorsque nous avons créé l'assistant d'intégration Iris, un moteur de recommandation alimenté par l'IA, c'était la première incursion de SnapLogic dans l'apprentissage machine (ML). Cette expérience nous a permis de tirer de nombreux enseignements utiles, mais l'un d'entre eux est ressorti du lot : nous avons découvert que l'apprentissage automatique posait de nombreux défis en matière d'intégration des données.

Bien sûr, au début du processus, nous savions que le développement d'un modèle de ML impliquait l'intégration de données. Mais nous n'avions pas mesuré l'ampleur et la gravité des problèmes d'intégration.

Les obstacles à l'intégration sont la norme

En effet, nous ne sommes pas les seuls à nous être heurtés à une multitude d'obstacles à l'intégration lorsque nous nous sommes lancés dans l'apprentissage automatique. Une enquête menée auprès de près de 200 scientifiques des données a révélé que 53 % des personnes interrogées consacraient la majeure partie de leur temps à la collecte, à l'étiquetage, au nettoyage et à l'organisation des données - autant de tâches d'intégration.

Malheureusement, dans le domaine de l'apprentissage automatique, vous ne pouvez pas échapper à la nécessité de nettoyer et de préparer vos données. Si vous entraînez un modèle avec de mauvaises données, vous obtiendrez un mauvais modèle en retour. Les "données sales" restent le plus grand problème auquel sont confrontés les scientifiques des données aujourd'hui[1].

Cela nous amène à conclure que la nécessité d'intégrer les données tout au long du cycle de vie de l'apprentissage automatique n'est pas près de disparaître. Mais les approches dominantes de ces problèmes d'intégration de données, axées sur le code, doivent changer. Les tâches d'intégration manuelle font perdre un temps précieux que les scientifiques des données devraient consacrer à des travaux stratégiques à fort impact. Dans le pire des cas, elles font complètement échouer vos projets d'apprentissage automatique, vous empêchant de voir le retour promis sur vos investissements en IA.

Le développement et le déploiement de l'apprentissage automatique ont désespérément besoin d'une intégration en libre-service.

Quels sont les principaux défis en matière d'intégration dans le domaine de l'apprentissage automatique ?

Dès le départ, le scientifique des données est confronté à des problèmes d'intégration. Il doit acquérir des données provenant de diverses sources dans le but de créer un vaste ensemble de données de formation de qualité.

Le data scientist peut avoir besoin d'extraire des données de points de vente d'un lac de données cloud tel qu'Amazon S3, d'extraire des fichiers journaux d'un serveur web ou de collecter des données d'inventaire à partir d'un système ERP Oracle. En règle générale, il demande à l'informatique d'accéder à ces données sous la forme d'une vidange ponctuelle. Ou bien ils écrivent des scripts personnalisés en Python, par exemple. Ces deux options sont lentes et difficiles à répéter de manière fiable. Si le data scientist souhaite accéder à d'autres tables au sein d'une source de données donnée, il doit suivre les mêmes étapes fastidieuses, ce qui retarde d'autant sa rentabilité.

D'autres défis d'intégration assaillent le scientifique des données lorsqu'il prépare les données brutes qu'il a acquises. Il doit filtrer les détails non pertinents, épurer les informations sensibles, détecter et supprimer les erreurs, modifier les types de données, nettoyer les valeurs manquantes et s'atteler à d'autres tâches de nettoyage des données. Traditionnellement, les data scientists préparent les données en codant en Python - ou dans un autre langage de programmation - dans des blocs-notes Jupyter. Certes, le codage offre une certaine souplesse dans la personnalisation des données, mais il fait perdre un temps précieux à des tâches non stratégiques et banales.

Le fardeau de l'intégration ne s'arrête pas là. Une fois que le data scientist a choisi un algorithme (par exemple, une régression logistique), il doit alimenter le modèle avec les données d'entraînement qu'il s'est efforcé de préparer. Là encore, il faut coder davantage. Après l'entraînement, le modèle doit être testé et faire l'objet d'une validation croisée pour s'assurer que ses prédictions sont exactes. Plus d'intégrations, plus de codage.

Lorsque le modèle est enfin prêt à être utilisé dans le monde réel, le scientifique des données doit souvent le remettre à une équipe de développement de logiciels (DevOps) pour qu'il soit opérationnel. Dans de nombreux cas, DevOps doit convertir ce code dans un format différent. De plus, ils doivent héberger le modèle dans un service web pour répondre aux demandes d'API. Ces activités sont fortement liées à l'intégration et nécessitent l'utilisation de scripts manuels.

Dans l'idéal, vous allez itérer votre modèle pour continuer à améliorer la précision de ses prédictions après sa mise en service. Mais cela n'est possible que si vous l'entraînez continuellement avec de nouvelles données. Cela signifie que vous devez passer par toute la procédure d'acquisition de nouvelles données sources, de nettoyage et de préparation des données, de recrutement de développeurs pour remettre votre modèle en production, et ainsi de suite.

Le codage excessif, la redondance et les essais et erreurs manuels de l'approche traditionnelle de l'apprentissage automatique ne peuvent plus durer. Il est temps d'intégrer le libre-service au processus d'apprentissage automatique.

Imaginer un avenir en libre-service pour l'apprentissage automatique

Une solution en libre-service pour le cycle de vie de l'apprentissage automatique devrait automatiser les tâches routinières, mais néanmoins importantes, comme le brassage des données. Elle doit également éliminer les redondances. Par exemple, lors de la création d'un ensemble de données d'apprentissage initial, vous devez être en mesure d'intégrer les données sources une seule fois, puis de réutiliser ce pipeline pour l'apprentissage continu à l'avenir.

Dans un environnement en libre-service, les scientifiques des données ne seront plus accaparés par des activités d'intégration telles que la collecte, le nettoyage et l'organisation des données. Au lieu de cela, ils feront preuve d'esprit critique, résoudront des problèmes commerciaux cruciaux, construiront des modèles d'apprentissage automatique extraordinaires, imagineront d'autres cas d'utilisation de l'IA et trouveront de nouveaux moyens d'apporter de la valeur ajoutée.

La ML en libre-service devrait également rendre l'apprentissage automatique accessible à ceux qui ont des compétences moins spécialisées mais qui sont en phase avec les priorités de l'entreprise (par exemple, les analystes commerciaux et les scientifiques de données citoyens). Tout comme la "démocratisation" des tâches dans d'autres domaines, cela réduira les goulets d'étranglement et permettra à un plus grand nombre de personnes au sein des organisations d'obtenir des résultats grâce à l'apprentissage automatique.

Les entreprises pourront ainsi explorer beaucoup plus de domaines d'application de la technologie qu'elles ne le feraient autrement. Elles seront ainsi en mesure de produire un plus grand nombre de modèles efficaces qui apporteront de la valeur à l'entreprise.

L'impact de la ML en libre-service sera massif

En fin de compte, une solution de ML en libre-service devrait accélérer le développement et le déploiement de l'apprentissage automatique. Les entreprises pourront ainsi explorer bien plus de domaines d'application de la technologie qu'elles ne pourraient le faire autrement. En conséquence, elles produiront un plus grand nombre de modèles efficaces qui apporteront de la valeur à l'entreprise. Elles disposeront non seulement de modèles permettant, par exemple, de rationaliser les opérations, mais aussi de modèles améliorant la sécurité des produits, augmentant les ventes de produits existants et créant de nouveaux canaux de revenus.

Ce que nous décrivons est une solution en libre-service qui gère à la fois l'intégration des données et le développement et le déploiement de l'apprentissage automatique. L'impact d'une telle solution pourrait être profond. Chez SnapLogic, nous avons l'intuition que l'apprentissage automatique en libre-service pourrait bien être à portée de main. Restez à l'écoute.


[1] Ceci est basé sur une enquête menée auprès de milliers de data scientists. Cette question particulière a reçu 7 376 réponses de scientifiques des données et d'autres professionnels centrés sur les données, tels que les analystes, les ingénieurs des données, les programmeurs, etc.
https://www.kaggle.com/surveys/2017

Ancien directeur des données chez SnapLogic

Nous recrutons !

Découvrez votre prochaine grande opportunité de carrière.