Le cadre de formation open source augmente la vitesse de pré-formation des grands modèles de langage en cas d’échecs
Alors que la demande de technologies permettant l’IA générative continue de monter en flèche, les capacités de traitement doivent suivre le rythme pour s’adapter à la formation des modèles et à la tolérance aux pannes. Des chercheurs de l’Université du Michigan ont conçu une solution spécifique aux charges de travail modernes de l’IA.
Une équipe de recherche a développé Oobleck, un cadre de formation open source de grands modèles, utilisant le concept de modèles de pipeline pour fournir une récupération rapide et garantie des pannes sans dégradation du débit de formation.
Les résultats ont été présentés en octobre 2023 dans les actes du 29e Symposium sur les principes des systèmes d’exploitation à Coblence, en Allemagne.
« Oobleck est une solution à usage général pour ajouter une résilience efficace à toute pré-formation de grands modèles. En conséquence, son impact se fera sentir dans la pré-formation des modèles de base pour l’ensemble de leurs applications, de la grande technologie au calcul haute performance. aux domaines scientifiques et médicaux », a déclaré Mosharaf Chowdhury, professeur agrégé de génie électrique et d’informatique et auteur correspondant de l’article.
Les modèles de langage volumineux nécessitent des clusters GPU massifs pendant de longues durées pendant la pré-formation, et la probabilité de pannes augmente avec l’échelle et la durée de la formation. Lorsque des pannes se produisent, la nature synchrone de la pré-formation des grands modèles de langage amplifie le problème, car tous les GPU participants restent inactifs jusqu’à ce que la panne soit résolue.
Les frameworks existants ont peu de prise en charge systémique de la tolérance aux pannes lors de la pré-formation des grands modèles de langage. Les solutions actuelles s’appuient sur des points de contrôle ou un recalcul pour récupérer après une panne, mais les deux méthodes prennent du temps et entraînent une inactivité à l’échelle du cluster pendant la récupération, sans aucune garantie formelle de tolérance aux pannes.
Les modèles de pipeline sont au cœur de la conception d’Oobleck. Un modèle de pipeline, une spécification de l’exécution du pipeline de formation pour un nombre donné de nœuds, est utilisé pour instancier les réplicas du pipeline. Tous les modèles de pipeline sont logiquement équivalents (c’est-à-dire qu’ils peuvent être utilisés ensemble pour entraîner le même modèle) mais physiquement hétérogènes (c’est-à-dire qu’ils utilisent un nombre différent de nœuds).
« Oobleck est le premier travail qui exploite la redondance inhérente aux grands modèles de langage pour la tolérance aux pannes tout en combinant des modèles hétérogènes pré-générés. Ensemble, ce cadre offre un débit élevé avec une utilisation maximale, une tolérance aux pannes garantie et une récupération rapide sans les frais généraux liés aux points de contrôle ou approches basées sur le recalcul », a déclaré Insu Jang, doctorant en informatique et en ingénierie et premier auteur de l’article.
Étant donné une tâche de formation commençant par le nombre maximum d’échecs simultanés à tolérer, f, le moteur d’exécution d’Oobleck instancie au moins f + 1 pipeline hétérogène à partir de l’ensemble de modèles généré. Le lot global fixe est distribué proportionnellement à la capacité de calcul des répliques du pipeline pour éviter d’avoir des retardataires dans la synchronisation de la formation.
En cas d’échec, Oobleck réinstancie simplement les pipelines à partir des modèles de pipeline précalculés, évitant ainsi l’analyse exigeante consistant à trouver une nouvelle configuration optimale au moment de l’exécution. Il est prouvé que l’utilisation de l’ensemble précalculé de modèles de pipeline permet toujours à Oobleck de se rétablir après moins d’échecs.
La résilience face à des événements imprévisibles est un problème classique en informatique. Au lieu de résoudre les problèmes après leur apparition, ce qui est lent, ou de planifier tous les scénarios possibles, ce qui est pratiquement impossible, les modèles de pipeline établissent un équilibre entre vitesse et efficacité dans une informatique distribuée résiliente.
« Oobleck donne la première démonstration de l’efficacité de cette idée, mais elle peut potentiellement être appliquée à n’importe quel système informatique distribué où la même dichotomie existe. À l’avenir, nous souhaitons appliquer des modèles de pipeline pour améliorer la résilience de toutes les facettes des applications GenAI. en commençant par les systèmes de service d’inférence », a déclaré Chowdhury.
Oobleck est open source et disponible sur GitHub.