Utiliser l'IA générative pour améliorer les tests logiciels

Utiliser l'IA générative pour améliorer les tests logiciels

L’IA générative suscite beaucoup d’attention en raison de sa capacité à créer du texte et des images. Mais ces médias ne représentent qu’une fraction des données qui prolifèrent aujourd’hui dans notre société. Les données sont générées chaque fois qu'un patient passe par un système médical, qu'une tempête impacte un vol ou qu'une personne interagit avec une application logicielle.

L’utilisation de l’IA générative pour créer des données synthétiques réalistes autour de ces scénarios peut aider les organisations à traiter plus efficacement les patients, à réacheminer les avions ou à améliorer les plates-formes logicielles, en particulier dans les scénarios où les données du monde réel sont limitées ou sensibles.

Au cours des trois dernières années, DataCebo, une spin-out du MIT, a proposé un système logiciel génératif appelé Synthetic Data Vault pour aider les organisations à créer des données synthétiques afin de tester des applications logicielles et de former des modèles d'apprentissage automatique.

Le Synthetic Data Vault, ou SDV, a été téléchargé plus d'un million de fois, et plus de 10 000 data scientists utilisent la bibliothèque open source pour générer des données tabulaires synthétiques. Les fondateurs – le chercheur principal Kalyan Veeramachaneni et l'ancienne élève Neha Patki '15, SM '16 – estiment que le succès de l'entreprise est dû à la capacité de SDV à révolutionner les tests logiciels.

SDV devient viral

En 2016, le groupe de Veeramachaneni du Data to AI Lab a dévoilé une suite d'outils d'IA générative open source pour aider les organisations à créer des données synthétiques correspondant aux propriétés statistiques des données réelles.

Les entreprises peuvent utiliser des données synthétiques au lieu d'informations sensibles dans leurs programmes tout en préservant les relations statistiques entre les points de données. Les entreprises peuvent également utiliser des données synthétiques pour exécuter de nouveaux logiciels via des simulations afin de voir leurs performances avant de les rendre publics.

Le groupe de Veeramachaneni a rencontré ce problème parce qu'il travaillait avec des entreprises qui souhaitaient partager leurs données à des fins de recherche.

« Le MIT vous aide à voir tous ces différents cas d'utilisation », explique Patki. « Vous travaillez avec des sociétés financières et des sociétés de soins de santé, et tous ces projets sont utiles pour formuler des solutions dans tous les secteurs. »

En 2020, les chercheurs ont fondé DataCebo pour créer davantage de fonctionnalités SDV pour les grandes organisations. Depuis, les cas d’usage ont été aussi impressionnants que variés.

Avec le nouveau simulateur de vol de DataCebo, par exemple, les compagnies aériennes peuvent planifier des événements météorologiques rares d'une manière qui serait impossible en utilisant uniquement des données historiques. Dans une autre application, les utilisateurs du SDV ont synthétisé les dossiers médicaux pour prédire les résultats de santé des patients atteints de mucoviscidose. Une équipe norvégienne a récemment utilisé SDV pour créer des données synthétiques sur les étudiants afin d'évaluer si les différentes politiques d'admission étaient méritocratiques et exemptes de préjugés.

En 2021, la plateforme de science des données Kaggle a organisé un concours destiné aux data scientists qui ont utilisé SDV pour créer des ensembles de données synthétiques afin d'éviter d'utiliser des données propriétaires. Environ 30 000 data scientists ont participé, élaborant des solutions et prédisant les résultats sur la base des données réalistes de l'entreprise.

Et à mesure que DataCebo s'est développé, l'entreprise est restée fidèle à ses racines au MIT : tous les employés actuels de l'entreprise sont des anciens élèves du MIT.

Tests de logiciels de suralimentation

Bien que leurs outils open source soient utilisés pour une variété de cas d’utilisation, la société se concentre sur l’augmentation de sa présence dans les tests de logiciels.

« Vous avez besoin de données pour tester ces applications logicielles », explique Veeramachaneni. « Traditionnellement, les développeurs écrivent manuellement des scripts pour créer des données synthétiques. Avec des modèles génératifs créés à l'aide de SDV, vous pouvez apprendre à partir d'un échantillon de données collectées, puis échantillonner un grand volume de données synthétiques (qui ont les mêmes propriétés que les données réelles), ou créez des scénarios spécifiques et des cas extrêmes, et utilisez les données pour tester votre application.

Par exemple, si une banque voulait tester un programme conçu pour rejeter les transferts depuis des comptes sans argent, elle devrait simuler des transactions simultanées sur plusieurs comptes. Faire cela avec des données créées manuellement prendrait beaucoup de temps. Avec les modèles génératifs de DataCebo, les clients peuvent créer n'importe quel cas limite qu'ils souhaitent tester.

« Il est courant que les industries disposent de données sensibles dans une certaine mesure », explique Patki. « Souvent, lorsque vous travaillez dans un domaine contenant des données sensibles, vous êtes confronté à des réglementations, et même s'il n'existe pas de réglementation légale, il est dans l'intérêt des entreprises de faire preuve de diligence pour déterminer qui a accès à quoi et à quel moment. les données synthétiques sont toujours meilleures du point de vue de la confidentialité.

Mise à l'échelle des données synthétiques

Veeramachaneni estime que DataCebo fait progresser le domaine de ce qu'il appelle les données d'entreprise synthétiques, ou les données générées à partir du comportement des utilisateurs sur les applications logicielles des grandes entreprises.

« Les données d'entreprise de ce type sont complexes et il n'existe pas de disponibilité universelle, contrairement aux données linguistiques », explique Veeramachaneni. « Lorsque les gens utilisent notre logiciel accessible au public et signalent s'il fonctionne selon un certain modèle, nous apprenons beaucoup de ces modèles uniques, et cela nous permet d'améliorer nos algorithmes. D'un certain point de vue, nous construisons un corpus de ces modèles complexes, qui pour le langage et les images est facilement disponible. « 

DataCebo a également récemment publié des fonctionnalités pour améliorer l'utilité de SDV, notamment des outils permettant d'évaluer le « réalisme » des données générées, appelés bibliothèque SDMetrics, ainsi qu'un moyen de comparer les performances des modèles appelé SDGym.

« Il s'agit de garantir que les organisations font confiance à ces nouvelles données », explique Veeramachaneni. « [Our tools offer] données synthétiques programmables, ce qui signifie que nous permettons aux entreprises d'insérer leurs connaissances et leur intuition spécifiques pour construire des modèles plus transparents.

Alors que les entreprises de tous les secteurs se précipitent pour adopter l’IA et d’autres outils de science des données, DataCebo les aide à le faire d’une manière plus transparente et responsable.

« Dans les prochaines années, les données synthétiques issues de modèles génératifs transformeront tout le travail sur les données », déclare Veeramachaneni. « Nous pensons que 90 % des opérations d'une entreprise peuvent être réalisées avec des données synthétiques. »