Facebook annonce son framework de Machine Learning PyTorch 1.1
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.

Nom : facebook-ai.jpg
Affichages : 1848
Taille : 14,5 Ko

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 ?

Que pensez-vous des nouvelles mises à jour apportées dans Pytorch 1.1 ?
Utilisiez-vous Pytorch 1.0 ? Quels sont les nouveaux outils qui vous intéressent le plus ?
Quel commentaire faites-vous de la décision de rendre open source BoTorch et Ax ?

Lire aussi

Sondage : quels sont les meilleurs langages de programmation pour l'IA ? Quels sont vos critères ?
Google lance une plateforme d'IA de bout en bout pour permettre aux développeurs de réaliser leurs projets, à moindre coût
Microsoft révèle une UI par glisser-déposer pour son service Azure Machine Learning, pour la création de modèles IA et l'expérience de déploiement
L'« Ingénieur en Machine Learning » classé meilleur métier aux États-Unis en 2019, grâce à une croissance des offres de 344 % entre 2015 et 2018
Facebook bannit de ses plate-formes plusieurs leaders extrémistes et personnalités controversées, que l'entreprise considère comme dangereux