BVA Data Science: Machine Learning sur des gros volumes de données, pour tous les « utilisateurs » marketing

big-data-machine-learning

L’équipe IT de BVA vient de mettre en place, dans le cadre d’une offre nommée DmrP® (Data marketing research Platform), une solution de machine Learning auto adaptative aux volumes de données en accès distant.

Une société de market research n’est pas une SSII. La solution mise au point ne nécessite aucune programmation, grâce à l’utilisation d’interfaces WYSIWYG accessibles à distance en mode SAS, avec pour cela toutes les ressources du cloud.

Elle permet aux utilisateurs les plus chevronnés de programmer dans les principaux langages du moment (R, Python ou Spark) mais uniquement si ces utilisateurs le souhaitent, que ce soit en input d’un modèle pour le finaliser ou en output, pour pouvoir intégrer la syntaxe de ce modèle dans des applications tierces.

Pour réaliser ce projet, les concepteurs se sont appuyés sur Azure de Microsoft pour le stockage et sur Modeler dIBM pour la partie Machine Learning. Ils ont par ailleurs eu recours à deux architectures standards d’éditeurs majeurs disponibles sur le marché, et cela, selon le volume de données gérées :

  • SSAS de SQL Server, pour les volumes moyens, en dessous de 3 terras avec une donnée mise à jour de manière asynchrone,
  • Une architecture Hadoop/Spark (Big data) pour les volumes infinis et/ou avec une mise à jour des données en temps réel.

Les deux architectures fonctionnent en toute transparence pour l’utilisateur marketing qui n’utilise pour cela que l’interface objet. L’outil auto-adapte l’espace de calcul et le langage.

Dans un marché des plateformes d’analyse de données en pleine explosion le but de ce travail de recherche est de construire réellement un véritable démonstrateur de l’ensemble du processus en le maîtrisant de bout en bout de manière opérationnelle pour bien le comprendre et le proposer à des clients.

Il ne s’agit pas seulement de montrer un cas de machine Learning en tant que tel. Les travaux réels pour un grand nombre de clients le font déjà au quotidien. L’objectif est bien d’avoir la maîtrise d’une solution technologique qui fonctionne et dont on puisse mesurer empiriquement les performances.

Le parti-pris est que toutes les données ne sont pas « big ». Toutefois, quand elles le sont vraiment et que l’on veut les rendre accessibles à l’analyse par le plus grand nombre, il faut des outils interfacés utilisateurs (WYSIWYG) simples à la manipulation et à l’analyse des données. Contrairement à la maxime, « tous les utilisateurs de machine learning/data mining ne seront pas tous des codeurs ».

Le marché a pendant très longtemps créé des outils avec du code pour commencer (SAS…). Ensuite se sont rajoutés , avec la popularité de Windows, des interfaces « objet » permettant de manipuler les données et les modèles : SAS Guide, SPSS racheté par IBM (un autre ancêtre des outils permettant dans l’interface de rajouter ou de compléter par du code, que ce soit dans sa solution d’analyse statistique plus classique ou celle de machine Learning).

Il y a donc fort à penser que les outils de nouvelle génération iront dans ce sens : Azure Machine Learning, Watson, Data Science Experience (si tant est que l’on arrive à bien définir son périmètre), Dataiku dans une moindre mesure…

Les puristes prétendent que les outils qui ne passent pas « que » par du code comme R et Python ne permettent pas de bien rentrer dans le modèle statistique lui-même. C’est un peu faire fi du passé car pendant des années SAS et SPSS ont été les outils des « plus » grands spécialistes de la statistique du marché.

Pour déployer largement l’usage de la data science sur des données volumineuses il faut donc des solutions nouvelles qui vont créer à la fois les clusters Hadoop sur un serveur et dans le cloud, générer du code Spark dans le cas présent, pour l’utilisateur final et de manière transparente lui permettre de faire du « machine Learning » via son interface utilisateur. Tout cela étant « généré » pour lui en arrière-plan par l’outil.

Dans ces nouvelles solutions on peut imaginer deux tendances d’évolution du marché :

  • Une API packagée qui fait tout (par exemple : un modèle d’attrition) auquel l’utilisateur connecte ses données et « en appuyant sur un bouton » fait tourner le modèle et obtient uniquement les résultats dans un tableau de bord, les individus en base étant alors scorés. Cette solution est l’objet d’autres travaux dans une offre qui s’appelle BVA Inside.
  • L’autre solution que nous privilégions ici est une interface utilisateur qui laisse la main sur la modélisation à l’utilisateur mais qui fait tout le back office : création des clusters, ajustement de la mémoire, transcodification du modèle en Spark et restitution des résultats. Evidemment « révolution numérique » oblige nous voulons cela sur un cloud sécurisé avec le meilleur rapport coût / simplicité / performance et une interface on line accessible de n’importe quel point : du bureau ou en Home Office.

Notre défi a été de faire travailler ensemble deux technologies best of breed d’éditeurs pour le moins concurrents. Cela peut aussi être un enjeu financier.
Le marché des plateformes de « machine learning » est en pleine explosion et selon nous seuls quelques éditeurs visionnaires, qui auront le meilleur mix entre interface conviviale, puissance des modèles et intégration de code en entrée ou en sortie de leurs plateformes, trouverons un très vaste marché. La concurrence devrait aussi avoir un effet positif sur les coûts d’accès à ces solutions.