View a markdown version of this page

Mise à l’échelle d’un entraînement - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mise à l’échelle d’un entraînement

Les sections suivantes décrivent les scénarios dans lesquels vous souhaiterez peut-être étendre la formation, ainsi que la manière dont vous pouvez le faire en utilisant AWS les ressources. Vous pouvez avoir besoin de mettre à l’échelle un entraînement dans l’un des cas suivants :

  • Mise à l’échelle d’un seul GPU à plusieurs GPU

  • Mise à l'échelle d'une seule instance à plusieurs instances

  • Utilisation de scripts d’entraînement personnalisés

Mise à l’échelle d’un seul GPU à plusieurs GPU

La quantité de données ou la taille du modèle utilisé en machine learning peut créer des situations où le temps d'entraînement d'un modèle est supérieur au temps dont vous disposez. Parfois, le format du modèle ou le volume des données rend l'entraînement impossible. Une solution consiste à augmenter le nombre de GPU que vous utilisez pour l'entraînement. Sur une instance avec plusieurs GPU, comme une instance p3.16xlarge avec huit GPU, les données et le traitement sont divisés entre les huit GPU. L'utilisation de bibliothèques d'entraînement distribué peut accélérer de façon quasi linéaire le temps nécessaire à l'entraînement de votre modèle. Cela prend un peu plus 1/8 de temps qu'p3.2xlargeavec un seul GPU.

Type d’instance Processeurs graphiques
p3.2xlarge 1
p3.8xlarge 4
p3.16xlarge 8
p3dn.24xlarge 8
Note

Les types d'instances ml utilisés par l' SageMaker entraînement ont le même nombre de GPU que les types d'instances p3 correspondants. Par exemple, une instance ml.p3.8xlarge a le même nombre de GPU qu'une instance p3.8xlarge - 4.

Mise à l'échelle d'une seule instance à plusieurs instances

Pour augmenter la mise à l'échelle de votre entraînement, vous pouvez utiliser plus d'instances. Vous devrez toutefois choisir un type d'instance plus grand avant d'ajouter d'autres instances. Consultez le tableau précédent pour voir combien de GPU contient chaque type d'instance p3.

Si vous êtes passé d'un seul GPU sur une instance p3.2xlarge à quatre GPU sur une instance p3.8xlarge, mais que vous avez besoin de plus de puissance de traitement, il peut être avantageux du point de vue des performances et des coûts de choisir une instance p3.16xlarge avant d'augmenter le nombre d'instances. Selon les bibliothèques que vous utilisez, en continuant votre entraînement sur une seule instance, vous améliorez les performances et réduisez les coûts par rapport à un scénario à plusieurs instances.

Lorsque vous êtes prêt à augmenter le nombre d'instances, vous pouvez le faire à l'aide de la estimator fonction SageMaker AI Python SDK en définissant votreinstance_count. Vous pouvez, par exemple, définir instance_type = p3.16xlarge et instance_count = 2. Au lieu d'avoir huit GPU sur une seule instance p3.16xlarge, vous disposez de 16 GPU sur deux instances identiques. Le graphique suivant montre la mise à l'échelle et le débit en commençant par huit GPU sur une seule instance, puis le passage à 64 instances pour un total de 256 GPU.

Chart showing how throughput increases and time to train decreases with more GPUs.

Scripts d'entraînement personnalisés

Bien que l' SageMaker IA facilite le déploiement et la mise à l'échelle du nombre d'instances et de GPU, en fonction du framework de votre choix, la gestion des données et des résultats peut s'avérer très difficile. C'est pourquoi des bibliothèques de support externes sont souvent utilisées. Cette forme la plus élémentaire de formation distribuée nécessite la modification de votre script d'entraînement pour gérer la distribution des données.

SageMaker L'IA prend également en charge Horovod et la mise en œuvre de formations distribuées natives à chaque framework d'apprentissage profond majeur. Si vous choisissez d'utiliser des exemples issus de ces frameworks, vous pouvez suivre le guide des conteneurs de l' SageMaker IA pour les Deep Learning Containers, ainsi que divers exemples de blocs-notes illustrant les implémentations.