Glossaire

Formation distribuée

Accélère la formation à l'IA avec la formation distribuée ! Apprends à réduire le temps de formation, à mettre à l'échelle les modèles et à optimiser les ressources pour les projets ML complexes.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

La formation distribuée est une technique utilisée dans l'apprentissage automatique pour accélérer le processus de formation des modèles, en particulier ceux qui sont grands et complexes comme ceux utilisés dans l'apprentissage profond. À mesure que les ensembles de données s'agrandissent et que les modèles deviennent plus sophistiqués, la formation sur un seul processeurCPU ou GPU) peut devenir excessivement lent. La formation distribuée relève ce défi en divisant la charge de calcul sur plusieurs unités de traitement, qui peuvent être situées sur une seule machine ou réparties sur plusieurs machines dans un réseau ou un environnement de cloud computing.

Comment fonctionne la formation distribuée

L'idée centrale de l'apprentissage distribué est le parallélisme. Au lieu de traiter les données et de calculer les mises à jour du modèle de façon séquentielle sur un processeur, la tâche est décomposée et exécutée simultanément sur plusieurs processeurs (souvent appelés "travailleurs"). Il existe deux stratégies principales :

  • Parallélisme des données: L'approche la plus courante. L'ensemble de données est divisé en morceaux plus petits, et chaque travailleur s'entraîne sur son propre morceau à l'aide d'une copie du modèle. Les résultats (gradients) sont ensuite combinés pour mettre à jour le modèle central. Cela fonctionne bien lorsque le modèle s'adapte à un seul travailleur mais que l'ensemble de données est très grand. Des frameworks comme PyTorch offrent des données parallèles distribuées.
  • Parallélisme de modèle: Utilisé lorsque le modèle lui-même est trop grand pour tenir dans la mémoire d'un seul employé. Différentes parties du modèle sont placées sur différents travailleurs, et les données circulent entre eux pendant la formation. Cette méthode est plus complexe à mettre en œuvre que le parallélisme de données. En savoir plus sur les approches deTensorFlow en matière de parallélisme de modèles.

Applications concrètes de la formation distribuée

La formation distribuée est essentielle pour s'attaquer aux problèmes d'IA à grande échelle dans divers domaines :

  • Formation de grands modèles linguistiques (LLM): Les modèles tels que GPT-4 ont des milliards de paramètres et sont formés sur des ensembles de données textuelles massives. La formation distribuée sur des milliers de GPU rend cela possible. De tels modèles alimentent des applications allant de la traduction automatique aux chatbots avancés.
  • Modèles avancés de vision par ordinateur: La formation de modèles de pointe pour des tâches telles que la segmentation d'images haute résolution, l'analyse détaillée d'images médicales ou les systèmes de perception pour les véhicules autonomes nécessite souvent une formation distribuée pour gérer des architectures complexes et de grands ensembles de données visuelles comme ImageNet.

Exemples de cas d'utilisation

  • Formation des modèlesYOLO d'Ultralytics : La formation distribuée peut réduire considérablement le temps nécessaire à la formation. Ultralytics YOLO en particulier sur les grands ensembles de données personnalisées pour la détection d'objets. En utilisant plusieurs GPU, les utilisateurs obtiennent une convergence plus rapide et potentiellement une meilleure précision du modèle.
  • Formation aux modèles basée sur le cloud: Les plateformes comme Ultralytics HUB offrent un moyen accessible d'exploiter les ressources de formation distribuées dans le cloud. Cela permet aux utilisateurs qui ne disposent pas d'un matériel local puissant de former efficacement de grands modèles à l'aide d'une infrastructure gérée par des fournisseurs comme AWS, Google Cloud ou Azure.

Formation distribuée vs. autres méthodes de formation

Il est utile de distinguer la formation distribuée des concepts connexes :

  • Formation centralisée: L'approche traditionnelle où l'ensemble du processus de formation se déroule sur une seule machine ou un seul appareil. C'est plus simple mais souvent trop lent pour les tâches modernes à grande échelle.
  • Apprentissage fédéré: Une approche distribuée différente principalement axée sur la confidentialité des données. Dans l'apprentissage fédéré, les modèles sont formés localement sur des appareils décentralisés (comme les téléphones portables) en utilisant des données locales. Seules les mises à jour des modèles, et non les données brutes, sont envoyées à un serveur central pour être agrégées. Cela contraste avec la formation distribuée typique où les données sont souvent centralisées ou réparties entre les travailleurs sous contrôle central.

La formation distribuée est une technique fondamentale pour repousser les limites de l'échelle et de la capacité des modèles d'IA. Des outils et des bibliothèques dans des cadres comme PyTorch, TensorFlowet des bibliothèques spécialisées comme Horovod simplifient sa mise en œuvre, rendant plus accessible la formation de modèles à grande échelle.

Tout lire