
Avec le compilateur JIT maintenant beaucoup plus mature
La technologie de Machine Learning, branche de l’Intelligence artificielle, est en train de faire son chemin en s’adaptant à divers domaines d’activité à travers les plateformes d’apprentissage machine qui s’améliorent et se démocratisent rapidement. Lors de sa conférence F8 2019 qui s’est terminée le mercredi dernier, Facebook a annoncé la disponibilité d’une nouvelle version de son framework de Machine Learning open source, PyTorch 1.1. Les améliorations annoncées par la firme devraient permettre de meilleures performances et offrir de nouveaux outils pour mieux comprendre et visualiser les modèles d'apprentissage machine.
PyTorch 1.1 vient avec le compilateur JIT (Compilation juste à temps) qui est maintenant beaucoup plus mature d’après Facebook, le support natif de TensorBoard pour la visualisation Machine Learning, de nouvelles API et des capacités améliorées de formation distribuée. En parallèle, Facebook a annoncé Ax et BoTorch : deux outils dédiés à l’optimisation de modèles de Machine Learning. Auparavant, ces outils étaient déjà utilisés en interne. À présent, Facebook les propose en open source afin de profiter des contributions des chercheurs du monde entier.
Ces améliorations viennent alors que la précédente version PyTorch 1.0 a connu un succès quant à son adoption, a dit Facebook. « Depuis sa sortie il y a quelques mois, PyTorch 1.0 a été rapidement adopté comme une plateforme d'apprentissage puissant et flexible qui permet aux ingénieurs et chercheurs de passer rapidement de la recherche à la production ».
Selon Facebook, les grandes entreprises de tous les secteurs d’activité commencent à utiliser son framework PyTorch à la fois pour faciliter leur recherche et pour déployer à grande échelle des applications telles que la traduction, la vision par ordinateur, les interfaces conversationnelles, la recherche pharmaceutique, l'optimisation des usines et la recherche automatisée sur la conduite. Des universités telles que Stanford, UC Berkeley, Caltech et bien d'autres utilisent PyTorch comme outil fondamental pour leurs cours d'apprentissage machine (ML), pour ne citer que ces exemples d’adoption.
Le compilateur JIT beaucoup plus mature
L’un des changements majeurs apportés au PyTorch 1.1, c’est la révision du compilateur JIT ayant conduit à la correction des bogues présents dans la version alpha du compilateur qui ne fonctionnait probablement pas beaucoup plus vite que le mode de base de PyTorch. Ces problèmes ont été résolus maintenant et la nouvelle version du compilateur JIT a atteint une certaine maturité, d’après Facebook. Maintenant il est possible que beaucoup plus de concepts de langage de programmation de Python à PyTorch puissent être implémentés. Facebook dit que son compilateur JIT est capable désormais de déterminer au moment de l'exécution comment générer le code le plus efficace.
Auparavant, PyTorch permettait aux développeurs de diviser les données de formation entre processeurs pour le parallélisme des données. Maintenant, selon Facebook, la nouvelle version du framework permet également de diviser les réseaux neuronaux entre des GPU. Le découpage des modèles permet désormais un parallélisme d'instruction avec lequel les réseaux peuvent désormais réaliser des techniques MIMD (Multiple Instruction, Multiple Data).
TensorBoard pour la visualisation Machine Learning
La dernière mise à jour de PyTorch assure la prise en charge native et de premiers ordre de la visualisation et du débogage des modèles avec TensorBoard, grâce à une simple commande « from torch.utils.tensorboard import SummaryWriter ». TensorBoard est une suite d'applications Web pour l'inspection et la compréhension des exécutions et des graphiques de formation.
Facebook a publié également PyTorch 1.1 avec des API qui permettent une prise en charge des tenseurs booléens et une meilleure prise en charge des réseaux de neurones récurrents personnalisés, d’après l’annonce de blog Facebook IA. Facebook a également publié Ax et BoTorch, des outils dédiés à l’optimisation de modèles de Machine Learning.
La bibliothèque BoTorch pour simplifier et accélérer l’optimisation de modèles de Machine Learning pour les spécialistes de données
Le Framework BoTorch est basé sur la bibliothèque d’optimisation bayésienne PyTorch. Il existe déjà d’autres bibliothèques d’optimisation bayésienne. Cependant, selon Facebook, les bibliothèques existantes sont difficiles à étendre et à personnaliser. Et d’ordinaire, l’optimisation requiert de multiples tentatives successives, de nombreuses expériences qui se solderont par un échec avant de parvenir au résultat escompté. Selon Facebook, BoTorch répond à cette problématique.
BoTorch répond également à la vision de Facebook de simplifier et d’accélérer l’optimisation de modèles de Machine Learning pour les spécialistes de données. Avec BoTorch, le processus d’expérimentation est automatisé, d’après l’annonce de blog.
Facebook Ax pour gérer, déployer et automatiser les expériences d’intelligence artificielle
Un autre outil annoncé par Facebook en parallèle avec PyTorch 1.1 est Ax. Ax est un outil plus généraliste qui est basé sur PyTorch et qui permet de gérer, de déployer et d’automatiser les expériences d’intelligence artificielle. Ax s’appuie également sur les fonctionnalités de BoTorch afin d’optimiser le paramétrage et le réglage des modèles.
Ax comme BoTorch était déjà utilisé en interne par Facebook pour différentes tâches allant de l’optimisation de l’infrastructure back-end d’Instagram à l’amélioration du taux de réponse à ses sondages d’utilisateurs. Facebook a décidé de les rendre open source pour pouvoir collaborer avec les meilleurs chercheurs du domaine, l’objectif de la firme étant bien évidemment d’ouvrir ses outils aux contributions afin de profiter en interne des améliorations apportées. Pour rappel, la première version a été développée en collaboration avec la Cornelle University, entre autres.
Facebook utilise Ax avec des outils de simulations et de testing A/B. D’après l’annonce de blog, pendant que l’expérience est lancée, Ax est capable de choisir automatiquement la meilleure stratégie d’optimisation. Il peut s’agir de l’optimisation bayésienne, mais aussi de l’optimisation bandit ou de tout autre algorithme.
Il aussi important de savoir que Ax n’est pas lié à seulement lié qu’à Pytorch, la plateforme peut aussi être connectée par des chercheurs à leur propre code en utilisant les interfaces PyTorch et NumPy du service. Ainsi, grâce à ces deux outils complémentaires, les développeurs peuvent se focaliser sur la mise en production de leurs services.
Comme Facebook, Microsoft et Google ont aussi leur plateforme d’optimisation des modèles Machine Learning nommé respectivement Azure Machine Learning et IA Platform. L'objectif commun principal que visent ces géants du numérique en simplifiant le processus de création de modèles est de permettre aux développeurs et aux professionnels des données de tous niveaux de compétences de construire des modèles avancés d'apprentissage machine.
Source : Pytorch
Et vous ?



Lire aussi





Vous avez lu gratuitement 3 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.