Meta dévoile MultiRay, une plateforme d’optimisation des modèles d’IA à grande échelle

MultiRay est actuellement employé dans plus de 125 cas d’utilisation chez Meta et prend en charge jusqu’à 20 millions de requêtes par seconde, soit 800 milliards par jour. Son premier modèle, TextRay, prend en charge les applications d’analyse de texte permettant notamment de supprimer des contenus mensongers et d’améliorer l’expérience de recherche des utilisateurs sur ses plateformes.

Grâce à cette nouvelle plateforme, les équipes de Meta peuvent ainsi rapidement améliorer les modèles de machine learning et les reproduire à différentes fins, comme par exemple la détection de discours haineux. Ces tâches sont ainsi optimisées et davantage automatisées que si chaque équipe devait développer de A à Z des modèles de grande envergure.

Dans les systèmes d’IA actuels qui traitent du texte, des images et d’autres modalités,  les meilleurs résultats découlent d’un modèle de grande envergure entraîné à l’aide d’une  immense quantité de données, qui est ensuite spécialisé pour effectuer une tâche bien  précise (par exemple, identifier un discours haineux). Il en résulte une solution de qualité,  certes, mais particulièrement coûteuse et limitée. Plus il y a de problèmes à résoudre,  plus il est nécessaire d’avoir de nombreux modèles qui risquent par ailleurs de se  transformer rapidement en de véritables gouffres financiers. Cela signifie qu’en pratique,  les modèles de grande envergure les plus récents sont rarement utilisés en production,  au profit de modèles plus modestes et plus simples.

Les modèles universels de MultiRay sont entraînés de manière à devenir performants  dans divers types de domaines et de tâches. Ce modèle polyvalent génère de meilleures  performances que les modèles spécialisés sur une tâche, utilisés précédemment. Grâce  à MultiRay, les équipes de Meta peuvent rapidement améliorer les modèles de machine  learning et les reproduire à différentes fins, telles que le marquage thématique des  publications ou la détection de discours haineux. Ces tâches sont ainsi optimisées et  davantage automatisées que si chaque équipe devait développer de A à Z des modèles  de bout en bout de grande envergure. 

TextRay, le tout premier modèle de MultiRay, est en cours de développement depuis  2020. Il prend en charge les applications d’analyse de texte permettant notamment de  supprimer des contenus mensongers et d’améliorer l’expérience de recherche des  utilisateurs sur nos plateformes.

Plus de modalités équivaut à plus de problèmes 

C’est un bon début, mais le monde réel est bien plus complexe car il intègre de  nombreuses modalités. Une publication Facebook, par exemple, peut contenir du texte,  des images et de la vidéo. Pour bien comprendre une publication, le système doit  analyser chacun de ces éléments à la fois séparément et conjointement. Cette pratique  consiste à combiner plusieurs modèles de calcul dans un modèle plus large et plus  avancé. L’augmentation de la puissance de calcul et de la consommation d’énergie qui  en découle ralentit les efforts que nous fournissons pour déployer les modèles de  machine learning les plus avancés dans nos produits et services. 

Le deuxième modèle de MultiRay, PostRay, regroupe dans un même modèle l’analyse  de texte et d’image. La plupart des publications sur Facebook et Instagram contenant des  données de texte et d’image, PostRay réduit le besoin des équipes de disposer de leur  propre compréhension des textes et des images. Divers cas d’utilisations sont possibles  chez Meta, notamment la classification de contenu, utilisée pour Reels. 

Dans la mesure où ils combinent simultanément différentes recherches de pointe dans  divers domaines, les modèles PostRay sont plus difficiles à entraîner, à déployer et à  maintenir. Avec MultiRay, il vous suffit d’effectuer ces tâches une seule fois pour en faire  profiter l’ensemble de l’entreprise. Ce système centralisé et polyvalent nous permet de  travailler directement avec des équipes de recherche de premier plan et de mettre en  application leurs travaux dès leur publication. 

Fonctionnement de MultiRay 

Le principal objectif de MultiRay est de faciliter l’accès à des modèles de base de grande  envergure chez Meta. Pour ce faire, il centralise l’exécution sur des programmes  d’accélération tels que des processeurs graphiques et a recours à un cache afin de faire  le plus d’économies possible sur le recalcul. MultiRay est actuellement employé dans  plus de 125 cas d’utilisation chez Meta et prend en charge jusqu’à 20 millions de  requêtes par seconde, soit 800 milliards par jour. 

Que sont les intégrations ? 

MultiRay utilise des modèles de base de grande envergure qui renvoient un point dans  un espace vectoriel avec un grand nombre de dimensions représentant l’entrée. Ce point,  appelé intégration, constitue une version de l’entrée d’origine bien plus adaptée au  machine learning. Au lieu de traiter l’entrée brute (telle que le texte ou les images), les  modèles axés sur des tâches peuvent réutiliser l’intégration de MultiRay, bien plus facile à manipuler. Les modèles de base déployés dans MultiRay sont conçus pour fonctionner  dans différents types de tâches, telles que la similarité et la classification. Cette  universalité rend nos intégrations relativement volumineuses (un grand nombre de kilo octets) de sorte qu’elles puissent transmettre davantage d’informations. 

Pourquoi centraliser les modèles de grande envergure ? 

Amortissement entre plusieurs équipes 

Les modèles de grande envergure et les contraintes de latence appellent à une exécution  sur des programmes d’accélération tels que des processeurs graphiques. Si ce type de  matériel spécialisé enregistre une forte demande au sein de Meta, il n’empêche pourtant  pas l’entraînement et l’hébergement de modèles de pointe de consommer énormément  d’énergie. Dans la mesure où les mêmes matériels et procédés de traitement peuvent  être utilisés à plusieurs reprises, les équipes clientèle de MultiRay se répartissent les  coûts de formation et d’hébergement de ces modèles. Les équipes ont ainsi accès à des  moyens bien plus importants et de meilleure qualité que ceux auxquels chacune d’entre  elles aurait pu individuellement prétendre. Ici, le tout vaut davantage que la somme des  éléments qui le constituent. 

Simplification du développement et des opérations 

Les équipes de Meta sont généralement responsables de leurs propres modèles et de  leur gestion, ainsi que de leurs infrastructures. L’envergure croissante des modèles  augmente la charge opérationnelle nécessaire à chaque équipe pour les entraîner et les  manier. Il est également plus difficile d’appliquer des techniques d’optimisation  sophistiquées à des modèles répartis entre plusieurs équipes. MultiRay intervient  uniquement dans quelques modèles centralisés de grande envergure, ce qui permet à  une seule équipe de gérer la majorité des opérations et de procéder à l’optimisation. Les  équipes client détiennent des modèles spécialisés plus restreints et faciles à gérer. Cela permet à de nombreuses équipes qui n’ont pas les capacités nécessaires pour entraîner,  déployer et gérer des systèmes d’IA innovants d’utiliser cette technologie. 

Accélération de la production 

Le service centralisé MultiRay étant utilisé par plus de 125 clients, les améliorations qui  y sont apportées profitent à tous. Il est ainsi devenu une “sandbox” permettant à nos  spécialistes du machine learning et des systèmes de procéder à des optimisations clé  bénéfiques à l’ensemble de l’écosystème des programmes d’accélération et à PyTorch.  Il s’agit par exemple du premier cas d’utilisation à grande échelle pour le déploiement en  production de la solution BetterTransformer de PyTorch chez Meta. À la clé ?  D’importantes économies sans répercussions sur la qualité.

Efficacité renforcée sur les programmes d’accélération :  traitement par lots de demandes croisées 

Le matériel des programmes d’accélération est plus efficace lorsqu’il traite plusieurs  demandes en parallèle, c’est-à-dire sous forme de lots. Un traitement par lots idéal  permet d’optimiser le service sans occasionner de retard. Cette méthode peut être source  de difficultés supplémentaires pour nos utilisateurs internes, notamment lorsque le lot  parfait est amené à changer avec l’apparition de nouveaux matériels ou modèles. 

Afin de leur faciliter la tâche, l’API externe de MultiRay est conçue pour recevoir à une  seule requête à la fois. Ensuite, MultiRay utilise en interne une logique de traitement par  lots afin de regrouper les demandes simultanées des utilisateurs dans un même lot. Il  nous suffit alors de rédiger la logique une seule fois, puis de l’ajuster afin de créer des  lots de modèles et de matériels de taille adéquate. Les clients à l’origine des requêtes  n’ont pas connaissance de ce traitement par lots, même lorsque nous apportons  d’importantes modifications en matière de performance, par exemple en augmentant la  taille de lot utilisée pour la migration vers un matériel de programme d’accélération de  processeur graphique nouvelle génération. 

Cache : trouver le juste équilibre entre puissance de calcul et  optimisation du stockage 

MultiRay se sert d’un cache pour faire le plus d’économies possible en matière de  recalcul. Ce cache à plusieurs niveaux lui permet de réduire les coûts et la latence,  chaque niveau générant davantage de résultats plus lentement, et donc à moindre coût.  Ces niveaux vont du cache local par hôte rapide, mais restreint, dans la RAM de chaque  serveur MultiRay, au cache plus lent, mais distribué à plus grande échelle, dans la  mémoire flash 

Les modèles MultiRay sont de grande envergure et génèrent des intégrations  proportionnelles (un grand nombre de kilo-octets) afin d’en préserver l’universalité. Pour  l’analyse de texte, ces intégrations sont bien plus importantes que les entrées en tant que  telles. Même s’il faut moins d’énergie pour traiter une intégration issue du cache que pour  la recalculer, il en faut tout de même. Dans la mesure où la mémoire cache disponible  est limitée, les résultats ne peuvent pas y être stockés à long terme. 

MultiRay mesure les schémas de demande des différents clients afin de déterminer les  meilleurs paramètres de cache (taille, durée de vie, stratégies de mise à jour) et réduire le coût total du service. Nous utilisons par exemple ces données mesurées afin de simuler  l’énergie requise pour différents paramètres de durée de vie du cache. C’est ainsi que  nous parvenons à trouver le juste équilibre entre le recalcul d’une demande sur les  programmes d’accélération et son extraction du cache. Cette boucle de rétroaction nous  a permis d’améliorer l’efficacité de MultiRay malgré l’évolution constante des  comportements des utilisateurs. 

Le revers de la médaille : les défis d’un service centralisé 

Tout service centralisé utilisé par Meta comporte son lot de défis. Certains d’entre eux,  tels que la gestion des clients, les quotas ou l’affectation des coûts, considérés comme  résolus pour les systèmes à grande échelle tels que les bases de données, ont dû être  adaptés au secteur de l’IA. La taille des requêtes et le taux de réussite du cache ont tous  deux une incidence sur l’énergie nécessaire au traitement des requêtes. Les quotas sont  donc plus complexes. Par ailleurs, le partage des dépenses liées aux modèles MultiRay,  de meilleure qualité mais également plus onéreux, ne fonctionne que si nos modèles sont  utilisés à grande échelle. Pour ce faire, ils se doivent d’être extrêmement performants  dans de nombreux cas d’utilisation. Cet objectif mouvant nous a amenés à beaucoup  investir dans l’actualisation de nos modèles (gestion des versions, mise à jour vers de  nouvelles versions, arrêt de la prise en charge de versions obsolètes) ainsi que dans  l’élaboration d’architectures et de flux de formation innovants afin d’accélérer la  production et de continuer à proposer une technologie de pointe aux utilisateurs de  MultiRay. 

En savoir plus sur MultiRay 

Si vous souhaitez en apprendre davantage sur MultiRay, nous vous invitons à découvrir  les recherches effectuées par l’équipe Foundational AI Research (FAIR) de Meta qui l’ont  inspiré : 

  • Multiscale vision transformers (Transformateurs de vision à multi-échelle) et  Masked autoencoders as spatiotemporal learners (Auto-encodeurs masqués comme sources d’apprentissage spatio-temporel) : recherches préalables  permettant de déduire comment MultiRay pourrait être appliqué à des tâches en lien avec la vidéo à l’avenir. 

Remerciements
Nous tenons également à remercier Akram Baharlouei, Charles Bai, Chenyang Yu, Jeff
Wang, Manisha Jain, Maxim Grechkin, Michael Wu, Rao Bayyana et Ves Stoyanov pour
leur contribution.

Source : communiqué de presse Meta

Recevez gratuitement l'actualité de l'intelligence artificielle

Suivez la Newsletter de référence sur l'intelligence artificielle (+ de 18 000 membres), quotidienne et 100% gratuite.


Tout comme vous, nous n'apprécions pas le spam. Vos coordonnées ne seront transmises à aucun tiers.
Partager l'article
intelligence artificielle
À PROPOS DE NOUS
Le portail francophone consacré à l'intelligence artificielle et à la datascience, à destination des chercheurs, étudiants, professionnels et passionnés.