Modèles et plateformes d’IA

Le Fiber d’Uber est un nouveau cadre de formation de modèles d’IA distribués

mm
Ajouter Unite.AI à vos sources préférées sur Google

Selon VentureBeat, les chercheurs en IA d’Uber ont récemment publié un article sur Arxiv décrivant une nouvelle plate-forme conçue pour aider à la création de modèles d’IA distribués. La plate-forme s’appelle Fiber, et elle peut être utilisée pour les tâches d’apprentissage par renforcement et l’apprentissage basé sur la population. Fiber est conçu pour rendre la computation parallèle à grande échelle plus accessible aux non-experts, leur permettant de profiter de la puissance des algorithmes et des modèles d’IA distribués.

Fiber a récemment été rendu open-source sur GitHub, et il est compatible avec Python 3.6 ou supérieur, avec Kubernetes exécuté sur un système Linux et exécuté dans un environnement cloud. Selon l’équipe de chercheurs, la plate-forme est capable de scaler facilement jusqu’à des centaines ou des milliers de machines individuelles.

L’équipe de chercheurs d’Uber explique que beaucoup des avancées récentes et pertinentes en intelligence artificielle ont été impulsées par des modèles plus grands et des algorithmes plus nombreux formés à l’aide de techniques de formation distribuées. Cependant, la création de modèles basés sur la population et de modèles de renforcement reste une tâche difficile pour les schémas de formation distribués, car ils ont souvent des problèmes d’efficacité et de flexibilité. Fiber rend le système distribué plus fiable et plus flexible en combinant le logiciel de gestion de cluster avec une mise à l’échelle dynamique et en permettant aux utilisateurs de déplacer leurs travaux d’une machine à un grand nombre de machines de manière transparente.

Fiber est composé de trois composants différents : une API, un backend et une couche de cluster. La couche API permet aux utilisateurs de créer des éléments tels que des files d’attente, des gestionnaires et des processus. La couche backend de Fiber permet à l’utilisateur de créer et de terminer des travaux gérés par différents clusters, et la couche de cluster gère les clusters individuels ainsi que leurs ressources, ce qui réduit considérablement le nombre d’éléments que Fiber doit suivre.

Fiber permet de mettre des travaux en file d’attente et de les exécuter à distance sur une machine locale ou sur plusieurs machines, en utilisant le concept de processus basés sur des travaux. Fiber utilise également des conteneurs pour s’assurer que les données de saisie et les packages dépendants sont auto-contenus. Le cadre Fiber inclut même une gestion des erreurs intégrée, de sorte que si un travailleur se bloque, il peut être rapidement rétabli. Fiber est capable de faire tout cela tout en interagissant avec les gestionnaires de cluster, permettant aux applications Fiber de s’exécuter comme si elles étaient des applications normales exécutées sur un cluster de machines donné.

Les résultats expérimentaux ont montré que le temps de réponse moyen de Fiber était de quelques millisecondes et qu’il a également mieux escaladé que les techniques d’IA de base lorsqu’il a été construit avec 2 048 cœurs de processeur/travailleurs. Le temps nécessaire pour compléter les travaux a diminué progressivement à mesure que le nombre de travailleurs a augmenté. IPyParallel a complété 50 itérations de formation en environ 1 400 secondes, tandis que Fiber a pu compléter les mêmes 50 itérations de formation en environ 50 secondes avec 512 travailleurs disponibles.

Les co-auteurs de l’article Fiber expliquent que Fiber est capable d’atteindre plusieurs objectifs, tels que la mise à l’échelle dynamique des algorithmes et l’utilisation de grandes quantités de puissance de calcul :

« [Notre travail montre] que Fiber atteint de nombreux objectifs, notamment l’utilisation efficace d’une grande quantité de matériel informatique hétérogène, la mise à l’échelle dynamique des algorithmes pour améliorer l’efficacité d’utilisation des ressources, la réduction de la charge d’ingénierie nécessaire pour faire fonctionner les algorithmes d’apprentissage par renforcement et les algorithmes basés sur la population sur des clusters de machines, et l’adaptation rapide à différents environnements de calcul pour améliorer l’efficacité de la recherche. Nous nous attendons à ce qu’il permette de faire progresser la résolution de problèmes difficiles d’apprentissage par renforcement avec des algorithmes d’apprentissage par renforcement et des méthodes basées sur la population en rendant plus facile le développement de ces méthodes et leur formation à l’échelle nécessaire pour vraiment les faire briller ».

Blogueur et programmeur avec des spécialités en Machine Learning et Deep Learning sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.