Pour aspirer massivement vos données, comment Meta a créé l'une des plus grandes infrastructures d'exploitation IA au monde, avec une croissance exponentielle au cours de ces dernières années

Meta exploite actuellement de nombreux centres de données avec des clusters d'entraînement GPU à travers le monde. Ses centres de données sont l'épine dorsale de ses opérations et sont méticuleusement conçus pour répondre aux demandes d'extension des capacités de calcul et de stockage. Cependant, il y a un an, alors que l'industrie atteignait un point d'inflexion critique en raison de l'essor de l'intelligence artificielle (IA), Meta a reconnu que pour être leader dans le domaine de l'IA générative, il lui fallait transformer sa flotte.

L'attention accrue portée par Meta à l'égard de l'IA s'explique à la fois par son rôle croissant dans l'obtention de résultats commerciaux et par l'augmentation considérable des besoins en calcul de ces types de charges de travail. En plus d'une utilisation plus large de l'IA traditionnelle pour des choses comme le ciblage publicitaire, Meta a également vu un nombre croissant de grands modèles d'IA générative qui imitent l'intelligence presque humaine dans tout ce qui va de l'interaction verbale humaine à la création d'images et d'autres médias. Ces types de modèles sont énormes, avec des trillions de paramètres d'entraînement, et pour les entraîner, l'entreprise a besoin de vastes ressources.

Nom : Engineering_at_Meta.png
Affichages : 18252
Taille : 225,6 Ko

Au cours de ce processus, Meta a mis en place l'une des plus grandes infrastructures de formation à l'IA au monde, qui a connu une croissance exponentielle au cours des dernières années. L'infrastructure de formation de Meta comprend des douzaines de clusters d'IA de différentes tailles, avec un plan pour passer à 600 000 GPU dans l'année à venir. Elle exécute chaque jour des milliers de tâches d'entraînement provenant de centaines d'équipes Meta différentes. Les caractéristiques des tâches de formation sont également très variables. Ils peuvent être aussi petits qu'un seul GPU fonctionnant pendant quelques minutes, alors que les travaux d'IA générative peuvent avoir des trillions de paramètres et s'étendent souvent sur des milliers d'hôtes qui doivent travailler ensemble et sont très sensibles aux interruptions. En outre, les tâches de formation sont liées de manière beaucoup plus étroite au matériel, et ce matériel varie considérablement. Meta exécute différents types de réseaux dorsaux, de topologies et de tâches de formation qui présentent des dépendances étroites entre les composants logiciels et matériels.

Cette transition n'a pas été sans difficultés. Meta a dû reconfigurer sa flotte sans perturber son hypercroissance, une tâche qui s'apparente à la reconstruction d'un avion en plein vol. Cela a poussé l'entreprise à innover et à collaborer avec les fournisseurs et les entreprises de services publics afin de créer un écosystème favorable. Ci-dessous, une seule de ces transformations sera examinée : comment Meta maintient ces clusters de formation et ce qui lui différencie de l'environnement d'IA moyen. Mais que signifie le terme " maintient " ? Il s'agit essentiellement de toute opération de mise à jour ou de vérification des composants logiciels et micrologiciels des clusters, y compris le chemin de mise en réseau.

Les principales caractéristiques de la formation sur GPU

La formation sur GPU présente des caractéristiques exigeantes :

  • Garanties de capacité : Bien que certains travaux de formation puissent être mis en pause, un grand nombre de travaux Meta sont critiques en termes de temps et récurrents ou en ligne. Cela signifie qu'il n'est pas possible d'utiliser de grandes quantités de capacité par défaut.
  • Les mauvais hôtes sont très mauvais : étant donné que de nombreux travaux exigent que tous les hôtes soient synchronisés, les mauvais hôtes qui sont un peu plus lents, qui ont du matériel non fatal ou qui ont des problèmes de réseau sont extrêmement préjudiciables.
  • Faible taux d'interruption : Étant donné que de nombreux hôtes travaillent les uns avec les autres sur un problème commun, les tâches d'apprentissage de l'IA sont sensibles aux interruptions.
  • Sécurité du déploiement : La pile logicielle d'IA est profonde et les problèmes sont souvent difficiles à cerner, c'est pourquoi Meta doit être prudent lorsqu'il s'agit de déployer de nouveaux composants.
  • Cohérence de l'hôte : Les tâches d'apprentissage de l'IA sont généralement inter-hôtes, et bien qu'en dehors de la version CUDA il y ait rarement des incompatibilités majeures, Meta a appris que la cohérence des clusters est très importante pour le débogage et l'évitement de SEV.

Quelle est la particularité de la formation sur GPU de Meta ?

Meta utilise du matériel d'entraînement sur mesure avec les puces les plus récentes possibles et des réseaux dorsaux de haute performance dont la vitesse est fortement optimisée. Elle essaie également de rester aussi actuelle et flexible que possible avec la pile logicielle ; en cas de mises à jour du micrologiciel, cela permet à Meta d'utiliser de nouvelles fonctionnalités ou de réduire les taux d'échec.

Ensemble, cela signifie que Meta dispose de plus de :

  • 30 opérations de maintenance
  • 50 composants différents qui sont mis à jour
  • Trois tâches différentes de vérification de l'hôte pour garantir des performances et une stabilité optimales.
  • Des milliers de tâches d'hôte d'IA disruptives par jour.

Et cela doit se faire en toute sécurité, tout en garantissant la capacité. Après tout, les grappes de formation sont également utilisées de manière flexible pour exécuter une grande variété de charges de travail, allant de l'hôte unique à certains des plus gros travaux de formation au monde, et des tâches hors ligne aux travaux qui doivent être opérationnels 24 heures sur 24 et 7 jours sur 7.

Nom : Meta infra 1.PNG
Affichages : 941
Taille : 51,4 Ko

Compte tenu de la diversité des mises à niveau, Meta a à tout moment un grand nombre de changements en vol qui se chevauchent, y compris certains qui sont appliqués de manière cohérente, tels que les tâches de vérification. Accepter cela donne à Meta la flexibilité dont elle a besoin pour utiliser du matériel de pointe, faire évoluer son infrastructure et utiliser les deux de manière flexible. Dans les environnements plus petits, il est souvent possible de maintenir les grappes dans un état cohérent et de mettre à jour l'ensemble de la grappe et tous ses composants logiciels et micrologiciels au cours de la même fenêtre de maintenance. Cependant, dans un environnement aussi vaste et diversifié que Meta, cela présenterait des risques importants et serait irréalisable d'un point de vue opérationnel. Au lieu de cela, Meta s'assure que les composants sont compatibles les uns avec les autres et procède à des mises à niveau de manière progressive. Cette approche lui permet également de garantir la disponibilité de la capacité.

Trains de maintenance

En dehors des cas particuliers, Meta entretient sa flotte de clusters en utilisant une technique appelée trains de maintenance. Cette technique est utilisée pour toutes les capacités, y compris les capacités de calcul et de stockage. Un petit nombre de serveurs sont retirés de la production et maintenus avec toutes les mises à jour applicables. Les trains garantissent que toutes les capacités, à l'exception d'un domaine de maintenance, sont opérationnelles 24 heures sur 24 et 7 jours sur 7, ce qui permet de prévoir la capacité. Cette mesure est obligatoire pour toutes les capacités utilisées pour la formation en ligne et la formation récurrente.

Nom : Meta infra 2.PNG
Affichages : 969
Taille : 64,4 Ko

Les trains de maintenance prennent en charge toute nouvelle mise à niveau et garantissent un cycle de visite complet dans un délai déterminé. Les mises à niveau plus longues peuvent avoir des garanties de déploiement plus faibles et peuvent être programmées pour être appliquées en plusieurs cycles. Il est donc possible d'avoir de nombreuses mises à niveau qui se chevauchent et, si cela s'avère bénéfique, les mises à niveau peuvent être alignées.

En ce qui concerne la capacité d'IA, Meta a optimisé les domaines qui permettent différents types de capacité d'IA, des SLO très stricts et un contrat avec les services qui leur permet d'éviter les interruptions de maintenance et de formation, dans la mesure du possible.

Déploiement progressif

En raison de l'ampleur de l'infrastructure de Meta, l'entreprise a dû veiller à ce que tous les déploiements perturbateurs, en dehors des cas particuliers, se fassent de manière graduelle. Cela signifie que différents serveurs d'une grappe peuvent exécuter une pile d'hôtes différente pendant une courte période. C'est tout à fait normal dans une capacité traditionnelle, mais c'est un défi pour la formation à l'IA, car les tâches d'IA sont très étroitement liées au matériel.

Meta a veillé à ce que les tâches disposent d'une pile cohérente, tout en mettant à niveau les composants de niveau inférieur de manière progressive. En revanche, le travail d'IA lui-même, qui inclut la bibliothèque CUDA, est toujours cohérent. Cette distinction est nécessaire car les composants de niveau inférieur nécessitent souvent des heures d'installation et de configuration ou le redémarrage de l'hôte, alors que les composants de niveau supérieur dans le conteneur de tâches lui-même peuvent être redémarrés de manière fluide.

Cela semble simple, mais en raison de l'intégration étroite de l'IA avec le matériel, Meta a dû procéder à de nombreux développements, y compris des tests minutieux à tous les niveaux inférieurs, une surveillance spéciale et une collaboration étroite avec les fournisseurs.

Dans l'ensemble, ces efforts ont été couronnés de succès. La pile d'IA en général a beaucoup évolué au cours des trois dernières années. Meta a également ajouté des outils pour les rares mises à jour qui brisent la compatibilité.

Sélection des domaines d'entretien appropriés

L'un des moyens de garantir des performances optimales de l'IA consistait à travailler avec les équipes d'IA pour concevoir la taille optimale des domaines de maintenance. Un domaine de maintenance est le pourcentage de capacité que Meta met hors service en une seule fois, et le choix de la taille optimale est fonction à la fois du coût des interruptions et de la capacité perdue pendant la durée de la maintenance. Les coûts d'interruption étant élevés pour les travaux d'IA, l'optimisation de cette relation a permis de réduire considérablement les frais généraux de maintenance pour la capacité d'IA.

Nom : Meta infra 3.PNG
Affichages : 931
Taille : 46,1 Ko

OpsPlanner : l'orchestrateur de travail disruptif de Meta

Les exigences en matière de cohérence sont essentielles pour la capacité d'IA. Par exemple, si vous souhaitez passer à une nouvelle version de CUDA, vous pouvez avoir besoin de toute la capacité sur une nouvelle version de pilote. Cela devient très difficile dans un environnement comprenant des milliers d'hôtes et de nombreuses opérations planifiées et non planifiées qui peuvent se chevaucher. Pour faire cela en toute sécurité et garantir que les hôtes bénéficient des mises à jour correctes avant d'entrer en production, Meta les a unifiées dans l'orchestrateur de travail OpsPlanner. Il peut non seulement travailler sur des champs d'opérations qui se chevauchent et les sérialiser correctement, mais aussi les sortir et les mettre en production en toute sécurité. En outre, il dispose d'un flux de transfert intégré qui garantit un comportement d'escalade correct et évite les chevauchements et les blocages. OpsPlanner peut également s'assurer que les mises à niveau sont appliquées aux hôtes avant qu'ils ne soient remis en production. Enfin, OpsPlanner possède des tampons de maintenance planifiée et de défaillance et les protège. En outre, il est très efficace et efficient : OpsPlanner traite actuellement un million d'opérations par jour.

Nom : Meta infra 4.PNG
Affichages : 947
Taille : 52,0 Ko

Scénarios de sécurité et de défaillance

Meta dispose d'un large éventail de dispositifs de sécurité :

  • L'arrêt automatique des trains de maintenance si les tampons de maintenance ou de défaillance sont épuisés ;
  • Le retrait automatique des mises à niveau défaillantes ; et
  • Des phases de déploiement pour les mises à niveau, de sorte que seuls les changements bien testés atteignent les systèmes globaux.

Toutefois, en cas de problème, il est possible de réagir rapidement, en fonction de la solution à apporter, grâce à des trains d'urgence, à des opérations de maintenance à grande échelle pour les mises à niveau défectueuses, etc.

Une évolution rapide vers l'avenir de l'IA générative

Meta croit en la rapidité d'action et en l'apprentissage par la pratique. L'innovation rapide fait partie de sa philosophie. C'est ce qui a fondamentalement façonné le parcours de Meta, qui n'a cessé d'innover pour construire l'infrastructure fondamentale qui fait d'elle un leader dans le domaine de l'IA générative. Meta continuera à se consacrer à la création de technologies qui non seulement lui seront profitables, mais qui auront également un impact positif sur la société dans son ensemble.

Alors que Meta continue d'aller de l'avant, elle vous invite à la rejoindre dans cette aventure. Ensemble, il est possible de façonner un avenir où l'IA n'est pas seulement un outil, mais une force pour le bien, qui transforme les industries, responsabilise les individus et crée un monde plus durable.

Le meilleur reste à venir, et Meta est enthousiaste à l'idée d'être le pionnier des possibilités de demain en matière d'IA générative.

Source : Meta

Et vous ?

Quel est votre avis sur le sujet ?
Trouvez-vous cette initiative de Meta judicieuse ou pertinente ?

Voir aussi :

Comment Meta entraîne les grands modèles de langage en permettant aux chercheurs d'utiliser PyTorch et d'autres nouveaux développements open-source

Construire l'infrastructure GenAI de Meta : la société partage les détails sur deux nouveaux clusters de 24 000 GPU, qui ont été conçus pour soutenir la recherche et le développement en matière d'IA