

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
<a name="distributed-training-scenarios"></a>

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 :
+ Passage d'un seul GPU à plusieurs GPUs
+ Mise à l'échelle d'une seule instance à plusieurs instances
+ Utilisation de scripts d’entraînement personnalisés

## Passage d'un seul GPU à plusieurs GPUs
<a name="scaling-from-one-GPU"></a>

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. L'une des solutions consiste à augmenter le nombre GPUs que vous utilisez pour la formation. Sur une instance comportant plusieurs GPUs, comme une instance `p3.16xlarge` qui en a huit GPUs, les données et le traitement sont répartis sur les huit GPUs. 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 légèrement plus de 1/8 du temps qu'il aurait fallu sur une instance `p3.2xlarge` avec un seul GPU.


|  Type d’instance  |  GPUs  | 
| --- | --- | 
|  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 GPUs de types d'instances p3 correspondants. Par exemple, `ml.p3.8xlarge` a le même nombre GPUs que `p3.8xlarge` - 4. 

## Mise à l'échelle d'une seule instance à plusieurs instances
<a name="scaling-from-one-instance"></a>

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 savoir combien il GPUs y en a dans chaque type d'instance p3. 

Si vous êtes passé d'un seul GPU sur un `p3.2xlarge` à quatre GPUs sur un`p3.8xlarge`, mais que vous décidez que vous avez besoin de plus de puissance de traitement, vous constaterez peut-être de meilleures performances et des coûts moins élevés si vous en choisissez un `p3.16xlarge` avant d'essayer 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 votre`instance_count`. Vous pouvez, par exemple, définir `instance_type = p3.16xlarge` et `instance_count = 2`. Au lieu de huit GPUs sur un seul`p3.16xlarge`, vous en avez 16 GPUs sur deux instances identiques. Le graphique suivant montre le [dimensionnement et le débit, en commençant par huit GPUs](https://aws.amazon.com/blogs/machine-learning/scalable-multi-node-training-with-tensorflow/) sur une seule instance et en augmentant jusqu'à 64 instances pour un total de 256 GPUs. 

 ![\[Chart showing how throughput increases and time to train decreases with more GPUs.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/distributed/Distributed-Training-in-SageMaker-image.png) 

## Scripts d'entraînement personnalisés
<a name="custom-training-scripts"></a>

Bien que l' SageMaker IA facilite le déploiement et la mise à l'échelle du nombre d'instances GPUs, la gestion des données et des résultats peut s'avérer très difficile, selon le framework de votre choix. 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](https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers.html) de l' SageMaker IA pour les Deep Learning Containers, ainsi que divers [exemples de blocs-notes](https://sagemaker-examples.readthedocs.io/en/latest/training/bring_your_own_container.html) illustrant les implémentations. 