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.
Utilisation de la formation distribuée dans AWS Clean Rooms ML
Prérequis :
-
Et Compte AWS avec accès à AWS Clean Rooms
-
Une collaboration mise en place dans AWS Clean Rooms
-
Un algorithme de modèle configuré qui prend en charge la formation distribuée
-
Un ensemble de données volumineux adapté au traitement distribué
-
Autorisations appropriées pour créer et gérer des modèles de machine learning dans le cadre de la collaboration
-
EC2 Quota Amazon suffisant pour exécuter plusieurs instances dans le cadre d'une formation distribuée
La formation distribuée tire parti de la puissance de nombreux nœuds informatiques travaillant en parallèle pour traiter de grandes quantités de données et mettre à jour les paramètres du modèle de manière efficace.
Pour plus d'informations sur la formation distribuée, consultez la section Concepts de formation distribuée dans le manuel Amazon SageMaker AI Developer Guide.
- Console
-
Pour exécuter une tâche de formation distribuée (console)
-
Connectez-vous à la AWS Clean Rooms console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cleanrooms.
-
Dans le volet de navigation de gauche, sélectionnez Collaborations.
-
Sur la page Collaborations, choisissez la collaboration pour laquelle vous souhaitez créer un modèle entraîné.
-
Une fois la collaboration ouverte, choisissez l'onglet Modèles ML.
-
Sous Modèles ML personnalisés, dans la section Modèles entraînés, sélectionnez Créer un modèle entraîné.
-
Sur la page Créer un modèle entraîné, dans Algorithme de modèle associé, spécifiez l'algorithme
-
Pour obtenir des informations sur le modèle entraîné, entrez les informations suivantes :
-
Dans Nom, entrez un nom unique pour le modèle de la collaboration.
-
(Facultatif) Dans Description, entrez une description du modèle entraîné.
-
Pour le mode de saisie des données d'entraînement, choisissez l'une des options suivantes :
-
Sélectionnez Fichier si vous disposez d'un ensemble de données plus petit pouvant tenir sur le volume de stockage ML et si vous préférez un accès au système de fichiers traditionnel pour votre script de formation.
-
Sélectionnez Pipe pour les grands ensembles de données afin de diffuser des données directement depuis S3, évitant ainsi d'avoir à tout télécharger sur disque, ce qui peut améliorer la vitesse d'entraînement et réduire les besoins en stockage.
-
Choisissez FastFilesi vous souhaitez combiner les avantages du streaming depuis S3 avec l'accès au système de fichiers, en particulier pour la lecture séquentielle des données ou lorsque vous traitez moins de fichiers pour des temps de démarrage plus rapides.
-
Pour plus de détails sur le canal d'entrée ML, procédez comme suit :
-
Pour le canal d'entrée ML, spécifiez le canal d'entrée ML qui fournit des données à l'algorithme du modèle.
Pour ajouter un autre canal, choisissez Ajouter un autre canal d'entrée ML. Vous pouvez ajouter jusqu'à 19 canaux d'entrée ML supplémentaires.
-
Dans Nom du canal, entrez le nom du canal d'entrée ML.
-
Pour le type de distribution de données Amazon S3, choisissez l'une des options suivantes :
-
Sélectionnez Entièrement répliqué pour fournir à chaque instance de formation une copie complète de votre ensemble de données. Cela fonctionne mieux lorsque votre ensemble de données est suffisamment petit pour tenir en mémoire ou lorsque chaque instance doit accéder à toutes les données.
-
Sélectionnez Sharded by S3 key pour diviser votre ensemble de données entre les instances d'entraînement en fonction des clés S3. Chaque instance reçoit environ 1/n du total des objets S3, où « n » est le nombre d'instances. Cela fonctionne mieux pour les grands ensembles de données que vous souhaitez traiter en parallèle.
Tenez compte de la taille de votre jeu de données et des exigences de formation lors de la sélection d'un type de distribution. La réplication complète fournit un accès complet aux données mais nécessite davantage de stockage, tandis que la clé Sharded by S3 permet le traitement distribué de grands ensembles de données.
-
Pour Durée d'entraînement maximale, choisissez la durée maximale pendant laquelle vous souhaitez entraîner votre modèle.
-
Pour les hyperparamètres, spécifiez les paramètres spécifiques à l'algorithme et leurs valeurs prévues. Les hyperparamètres sont spécifiques au modèle en cours d'entraînement et sont utilisés pour affiner l'entraînement du modèle.
-
Pour les variables d'environnement, spécifiez les variables spécifiques à l'algorithme et leurs valeurs prévues. Les variables d'environnement sont définies dans le conteneur Docker.
-
Pour le chiffrement, pour utiliser une option personnalisée AWS KMS key, cochez la case Chiffrer le secret avec une clé KMS personnalisée.
-
Pour Configuration EC2 des ressources, spécifiez les informations relatives aux ressources de calcul utilisées pour l'entraînement des modèles.
-
Dans Type d'instance, choisissez le type d'instance que vous souhaitez exécuter.
Les types d'instances pris en charge pour la formation distribuée sont les suivants :
-
ml.m5.4xlarge
-
ml.m5.12xlarge
-
ml.m5.2xlarge
-
ml.g5.12xlarge
-
ml.g5.24xlarge
-
Dans Nombre d'instances, entrez le nombre d'instances.
-
Pour Taille du volume en Go, entrez la taille du volume de stockage ML.
-
Choisissez Créer un modèle entraîné.
- API
-
Pour exécuter une tâche de formation distribuée (API)
Exécutez le code suivant avec vos paramètres spécifiques :
import boto3
acr_ml_client= boto3.client('cleanroomsml')
acr_ml_client.create_trained_model(
membershipIdentifier= 'membership_id
',
configuredModelAlgorithmAssociationArn = 'arn:aws:cleanrooms-ml:region:account:membership
/membershipIdentifier/configured-model-algorithm-association/identifier
',
name='trained_model_name
',
trainingInputMode: "File",
resourceConfig={
'instanceCount': "3"
'instanceType': "ml.m5.xlarge",
'volumeSizeInGB': 3
},
dataChannels=[
{
"mlInputChannelArn": channel_arn_1,
"channelName": "channel_name
",
"S3DataDistributionType:" "FullyReplicated"
}
]
)
Une fois le modèle entraîné créé, vous ne pouvez pas le modifier. Pour apporter des modifications, supprimez le modèle entraîné et créez-en un nouveau.