Les processus de science des données dans le contexte de l’apprentissage automatique et de l’IA peuvent être divisés en quatre phases distinctes :
- acquisition et exploration de données,
- construction de modèles,
- déploiement de modèles et
- évaluation et perfectionnement en ligne.
D'après mon expérience, les phases les plus gênantes sont les phases d'acquisition de données et de déploiement de modèles dans tout processus de science des données basé sur l'apprentissage automatique, et voici deux façons de les optimiser :
1. Établissez une banque de données hautement accessible.
Dans la plupart des organisations, les données ne sont pas stockées dans un emplacement central. Prenons simplement les informations liées aux clients. Vous disposez des coordonnées des clients, des e-mails d’assistance client, des commentaires des clients et de l’historique de navigation des clients si votre entreprise est une application Web. Toutes ces données sont naturellement dispersées, car elles répondent à des objectifs différents. Ils peuvent résider dans différentes bases de données et certains peuvent être entièrement structurés et d'autres non structurés, et peuvent même être stockés sous forme de fichiers texte brut.
Malheureusement, la dispersion de ces ensembles de données est très limitée au travail de science des données, car la base de tous les problèmes de PNL, d'apprentissage automatique et d'IA est données. Ainsi, disposer de toutes ces données au même endroit – la banque de données – est primordial pour accélérer le développement et le déploiement de modèles. Étant donné qu’il s’agit d’un élément crucial de tous les processus de science des données, les organisations devraient embaucher des ingénieurs de données qualifiés pour les aider à créer leurs banques de données. Cela peut facilement commencer par de simples vidages de données dans un seul emplacement et se transformer lentement en un référentiel de données bien pensé, entièrement documenté et interrogeable avec des outils utilitaires pour exporter des sous-ensembles de données dans différents formats à des fins différentes.
2. Exposez vos modèles en tant que service pour une intégration transparente.
En plus de permettre l'accès aux données, il est également important de pouvoir intégrer dans le produit les modèles développés par les data scientists. Il peut être extrêmement difficile d'intégrer des modèles développés en Python avec une application Web fonctionnant sur Ruby. De plus, les modèles peuvent comporter de nombreuses dépendances de données que votre produit n'est peut-être pas en mesure de fournir.
Une façon de résoudre ce problème consiste à mettre en place une infrastructure solide autour de votre modèle et à exposer juste assez de fonctionnalités nécessaires à votre produit afin d'utiliser le modèle comme « service Web ». Par exemple, si votre application a besoin d'une classification des sentiments sur les avis sur les produits, il lui suffit d'appeler le service Web, en fournissant le texte pertinent, et le service restituera la classification des sentiments appropriée que le produit peut directement utiliser. De cette façon, l’intégration se fait simplement sous la forme d’un appel API. En dissociant le modèle et le produit qui l'utilise, il est très facile pour les nouveaux produits que vous proposez d'utiliser également ces modèles sans tracas.
Désormais, mettre en place l’infrastructure autour de votre modèle est une toute autre histoire et nécessite un lourd investissement initial de la part de vos équipes d’ingénierie. Une fois l'infrastructure en place, il ne reste plus qu'à construire des modèles adaptés à l'infrastructure.