En direct de Sunnyvale - Depuis des années, les start-ups traitant de l’IA se sont multipliées un peu partout dans le monde. Si certaines ont disparu ou ont été rachetées, d’autres arrivent à maturité avec des plateformes conçues pour la production. Nous vous avons déjà parlé de H2O l’an dernier, et cet automne nous avons rencontré une autre pépite baptisée Petuum (pour Perpetuum). Fondée en 2016 par Eric Xing, Ning Li et Qirong Ho, Petuum a construit une plate-forme baptisée Symphony qui dessert tout le spectre de l'intelligence artificielle. L’idée d’origine était d'industrialiser l'utilisation des ressources IA et ML, afin d’aider les entreprises à mettre en place rapidement des traitements analytiques plus efficaces grâce à des composants modulaires au lieu de développer une solution interne en exploitant les frameworks les plus courants sur le marché. 

Co-fondateur de la start-up, Qirong Ho nous a expliqué à Sunnyvale en octobre dernier que la mise en place d’une solution IA pour des besoins médicaux est, par exemple, très complexe. « Automatiser l’aide à la génération de rapport de diagnostics médicaux demande des interactions entre différents systèmes ». Déployable dans le cloud ou en mode local, Symphony permet de répondre à des cas d’usages comme la détection de lésions en radiologie, sous la supervision d’un médecin. Il s’agit bien d’une aide à la décision. Autre usage mis en avant par Qirong Ho, le catalogage des produits d’un magasin à partir de photos simplifie l’inventaire quotidien et le réassort dans la grande distribution.

Pour mieux adresser le marché, Petuum a segmenté verticalement son offre IA. (Crédit S.L.)

Afin de créer une infrastructure d'intelligence artificielle à déployer à l'échelle de l'entreprise, voire de l'industrie, Petuum a réduit la complexité du framework IA afin de le rendre accessible au programmeur moyen. Il était également nécessaire de faire fonctionner de concert plusieurs sortes de matériels. Symphony est en effet une plate-forme d'apprentissage machine distribuée construite autour des algorithmes suivants : convergent itératif, tolérance aux erreurs, structure dynamique et convergence non uniforme. Les algorithmes ML tolèrent souvent des erreurs limitées dans les calculs intermédiaires. Petuum synchronise donc les états des paramètres avec une garantie d'ancienneté limitée, ce qui permet d'obtenir des résultats corrects en raison de la nature tolérante aux erreurs de ML, mais avec un coût de traitement beaucoup moins élevé que la synchronisation en masse par itération classique.

Le modèle de traitement de Petuum est conçu pour supporter à la fois le parallélisme par distribution de donnée et le parallélisme du modèle. Dans l'apprentissage automatique parallèle des données, ces dernières sont partitionnées et réparties entre plusieurs instances qui mettent à jour chacun de ces sous-ensembles en parallèle. Avec le parallélisme du modèle, le modèle lui-même est partitionné et réparti entre les instances. Une fonction d'ordonnancement est utilisée pour limiter l'ensemble des paramètres sur lesquels une instance donnée opère. La plateforme Symphony comprend un ensemble d'instances, un ordonnanceur et un serveur de paramètres repensé. Un point est ici nécessaire sur une des innovations de Petuum. Les programmes d'IA sont très éloignés des logiciels déterministes conventionnels tels que les base de données, ils ne devraient donc pas être structurés comme eux. Là où les programmes conventionnels sont transactionnels et exécutifs, suivant une série d'étapes de progression, les programmes d'IA doivent résoudre les problèmes mathématiques comme le font les hommes, en itérant et en apprenant et, au besoin, en absorbant les erreurs et en prenant des tours sans précédent pour arriver à la réponse. Cet écart par rapport à la théorie classique de l'informatique a conduit Petuum à théoriser la synchronisation des machines, rendant obsolète le traditionnel serveur de paramètres au profit d’un modèle de type SSP (Synchronous Parallel Parameter).

Le serveur SSP permet aux machines de s'accorder en mettant en oeuvre une technique asynchrone limitée. Après avoir réuni la mémoire virtualisée de plusieurs machines sur un serveur, la fenêtre de synchronisation est liée, limitant les échanges entre les machines esclaves et la machine maître "conductrice". Contrairement aux échanges synchrones entre machines parallélisées, cela a permis d'améliorer considérablement la vitesse de traitement et, contrairement aux échanges asynchrones sans limite, d'éviter les erreurs. Les machines en sont venues à être unifiées et coordonnées automatiquement là où elles avaient été dissonantes ou discordantes auparavant. Une solution qui ressemble à une symphonie d’où le nom commercial de la solution baptisée par une équipe composée de passionnés de musique. Toutes ces informations ne sont qu’un abstract du travail de l’équipe emmenée par Eric Ying. Nous vous renvoyons donc bien volontiers sur le document de référence publié par la Carnegie Mellon University et l’Institute for Infocomm Research ( A*STAR) à Singapour à l’origine de la création de la start-up (Petuum: A New Platform for Distributed Machine Learning on Big Data).