Optimisation d'algorithmes d'apprentissage automatique pour architectures à mémoires distribuées

par Nicolas Tollenaere

Projet de thèse en Mathématiques et Informatique

Sous la direction de Fabrice Rastello.

Thèses en préparation à Grenoble Alpes , dans le cadre de École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble) , en partenariat avec Laboratoire d'Informatique de Grenoble (laboratoire) et de CAPP - Calculs, Algorithmes, Programmes et Preuves (equipe de recherche) depuis le 17-04-2019 .


  • Résumé

    Les approches d'apprentissage automatique connaissent depuis plusieurs années une explosion considérable. Cette explosion nécessite le développement conjoint d'architectures adaptées répondant aux nouveaux besoins de puissance de calculs. Ainsi, on assiste à l'apparition d'ASIC (Application Specific Integration Circuits) comme le Google TPU ou le GraphCore ITU. Ces architectures font souvent le choix de coeurs parallèles distribués sur des mémoires non cohérentes comme le Kalray MPPA. Cependant, ce choix vient au coût d'une complexité accrue de programmation pour les développeurs, les choix de placements des données ajoutant un supplément de difficulté significatif. L'objectif de la thèse est de fournir des outils permettant, à partir d'une description dans un langage spécifique de haut niveau des applications, de trouver une implémentation efficace en arbitrant intelligemment entre les différentes manières de distribuer les calculs et les données, et de trouver des compromis entre redondance des calculs et coûts des communications.

  • Titre traduit

    Optimizing Machine Learning algorithms for distributed architectures


  • Résumé

    Machine learning approaches are increasingly adopted in many different fields of programming, As a side-effect, one can observe the development of many new specific architectures (ASIC: Application Specific Integration Circuits) supposed to tackle the new computing challenges brought by these new approaches. A lot of these Asics are using parallel manycores distributed on non-coherent memories as with Kalray Massively Parallel Processor Array. However, this design choice comes at the price of severely increased programming complexity. Our goal is to develop, from a high-level domain specific language describing the machine learning algorithm, tools allowing us to automatically find a suitable and efficient implementation by exploring the many different ways of distributing data and computations, and by finding the best trade-off between computation redondancy and communication costs.