TransmogrifAI, la bibliothèque AutoML publiée sur GitHub par Salesforce, contient moins de 10 lignes de code Scala écrites au-dessus d'Apache Spark. Elle peut être utilisée par les développeurs cherchant à former des modèles d’apprentissage automatique pour prédire le comportement des clients sans avoir à utiliser un jeu de données important pour l'apprentissage. C’est sous cette forme que l’éditeur CRM dans le cloud a choisi de mettre en open source la technologie qu’il utilise pour Einstein.

Cette bibliothèque « a été développée pour accélérer la productivité des développeurs d’algorithmes de machine learning en automatisant cette technologie et avec une API qui assure la sécurité, la modularité et la réutilisation au moment de la compilation » est-il indiqué sur le site dédié. Dans un long billet de blog posté sur Medium la semaine dernière, Shubba Nabar, directeur senior de la data science au sein de l’équipe développant Einstein chez Salesforce, a expliqué : « il y a trois ans, quand nous avons décidé de développer des capacités d’apprentissage automatique sur la plate-forme Salesforce, nous avons réalisé que mettre en place ce genre de systèmes à l’échelle des entreprises est encore plus difficile. »

Personnaliser les analyses et recommandations

Le défi lors du lancement d’Einstein était de pouvoir fournir des prévisions et des recommandations en se basant sur les données du client mais sans avoir à les regrouper. Challenge de taille pour l’éditeur avant de faire l’acquisition de plusieurs sociétés spécialisées dans l’apprentissage automatique. Metamind par exemple, dont le fondateur, Richard Socher, est devenu le directeur de la recherche chez Salesforce. « Nous disposons d'énormes quantités de données, des pétaoctets et des pétaoctets » indique Marc Benioff, désormais co-CEO de l’éditeur. « Nous pouvons maintenant utiliser ces données sans entacher la relation de confiance que nous avons avec nos clients. »

Et d’après le chef data scientist d’Einstein, Salesforce doit créer des modèles d’apprentissage spécifiques à chaque client, pour chaque cas d’utilisation. « Même si nous pouvions créer des modèles généraux, ça n’aurait aucun sens. Les données de nos clients sont uniques et respectent différents schémas, modèles et biais selon chaque processus métier » développe-t-il. Et d’ajouter que l’automatisation est le seul moyen de pouvoir développer ces milliers de modèles d’apprentissage spécifiques sans avoir à embaucher une armée de data scientists.

Besoin de modèles pour des données structurées et hétérogènes

Selon Shubba Nabar, la plupart des solutions AutoML se concentrent aujourd’hui sur un petit segment de la charge de travail de l'apprentissage machine. Ou bien elles sont conçues pour des données non structurées et homogènes pour les images, la voix et le langage. « Mais nous avions besoin d’une solution capable de produire rapidement des modèles efficaces pour des données structurées et hétérogènes à grande échelle. » La solution finale permet donc de construire un modèle de machine learning unique et modulaire pouvant fonctionner sur des ensembles de données plus petits et personnalisés.

En une dizaine de lignes de code, il est possible d'automatiser certaines tâches comme le nettoyage de données. (Crédit : Salesforce)

« Avec seulement quelques lignes de code, un data scientist peut automatiser le nettoyage des données, l’ingénierie des fonctionnalités et la sélection des modèles pour arriver à un modèle performant à partir duquel elle pourra explorer et itérer davantage » se félicite Shubba Nabar. Ces quelques lignes de code permettent aussi de réduire le délai moyen de formation d’un modèle performant de quelques semaines à quelques heures seulement.

Le data scientist en chef d’Einstein explique le choix de Salesforce de rendre ce projet libre de droit : « l'apprentissage automatique a le potentiel de transformer le fonctionnement des entreprises, et nous pensons que les obstacles à l'adoption ne peuvent être réduits que par un échange ouvert d'idées et de code. En open source, nous pouvons rassembler des perspectives diverses pour continuer à faire avancer la technologie et la rendre accessible à tous.