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 en AWS Clean Rooms
-
Un algorithme de modèle configuré qui prend en charge la formation distribuée
-
Un vaste ensemble de données 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
-
Quota Amazon EC2 suffisant pour exécuter plusieurs instances pour une formation distribuée
La formation distribuée tire parti de la puissance de nombreux nœuds informatiques fonctionnant en parallèle pour traiter de grandes quantités de données et mettre à jour efficacement les paramètres du modèle.
Pour plus d'informations sur la formation distribuée, consultez la section Concepts de formation distribuée dans le guide du développeur Amazon SageMaker AI.
- Console
-
Pour exécuter une tâche de formation distribuée (console)
-
Connectez-vous à Console de gestion AWS et ouvrez la AWS Clean Rooms console à l'adresse https://console.aws.amazon.com/cleanrooms.
-
Dans le volet de navigation de gauche, choisissez 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, choisissez Créer un modèle entraîné.
-
Sur la page Créer un modèle entraîné, pour Algorithme de modèle associé, spécifiez l'algorithme
-
Pour plus de détails sur le modèle Trained, entrez les informations suivantes :
-
Dans le champ 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 de tout télécharger sur disque, ce qui peut améliorer la vitesse d'apprentissage et réduire les besoins de stockage.
-
Sélectionnez FastFile cette option si vous souhaitez combiner les avantages du streaming depuis S3 avec l'accès au système de fichiers, en particulier pour les données lues de manière séquentielle ou pour traiter moins de fichiers pour accélérer les démarrages.
-
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 les 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 d'entraînement une copie complète de votre jeu 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 ensemble de données et des exigences de formation lorsque vous sélectionnez 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 tous les paramètres spécifiques à l'algorithme et leurs valeurs prévues. Les hyperparamètres sont spécifiques au modèle en cours d'apprentissage et sont utilisés pour affiner l'entraînement du modèle.
-
Pour les variables d'environnement, spécifiez toutes 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 un code personnalisé AWS KMS key, cochez la case Chiffrer le secret avec une clé KMS personnalisée.
-
Pour la configuration des ressources EC2, spécifiez des informations sur les ressources de calcul utilisées pour l'apprentissage 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 le champ 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 plus le modifier. Pour apporter des modifications, supprimez le modèle entraîné et créez-en un nouveau.