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.
Peaufinage de modèles dans un hub organisé
Dans votre hub de modèles privé organisé, vous pouvez exécuter des tâches d’entraînement de peaufinage à l’aide de vos références de modèles. Les références de modèles indiquent un JumpStart modèle accessible au public dans le hub public d' SageMaker IA, mais vous pouvez affiner le modèle sur vos propres données pour votre cas d'utilisation spécifique. Une fois le travail de peaufinage effectué, vous avez accès aux poids du modèle que vous pouvez ensuite utiliser ou déployer sur un point de terminaison.
Vous pouvez affiner des modèles de hub sélectionnés en quelques lignes de code à l'aide du SDK SageMaker Python. Pour des informations plus générales sur le réglage précis des JumpStart modèles accessibles au public, voirModèles de fondation et hyperparamètres pour le peaufinage.
Conditions préalables
Pour affiner une référence de JumpStart modèle dans votre hub sélectionné, procédez comme suit :
-
Assurez-vous que l'
TrainHubModelautorisation SageMaker AI est attachée au rôle IAM de votre utilisateur. Pour plus d’informations, consultez Ajout et suppression d’autorisations basées sur l’identité IAM dans le Guide de l’utilisateur AWS IAM.Vous pouvez attacher l’exemple de politique suivant à votre rôle IAM :
Note
Si votre hub organisé est partagé entre plusieurs comptes et que son contenu appartient à un autre compte, assurez-vous que votre
HubContent(la ressource de référence du modèle) dispose d’une politique IAM basée sur les ressources, qui accorde également l’autorisationTrainHubModelau compte demandeur, comme illustré dans l’exemple suivant. -
Disposez d'un hub privé organisé avec une référence de modèle à un JumpStart modèle que vous souhaitez peaufiner. Pour plus d’informations sur la création d’un hub privé, consultez Création d’un hub de modèle privé. Pour savoir comment ajouter des JumpStart modèles accessibles au public à votre hub privé, consultezAjout de modèles à un hub privé.
Note
Le JumpStart modèle que vous choisissez doit être réglable avec précision. Vous pouvez vérifier si un modèle peut être optimisé en consultant le tableau des algorithmes intégrés aux modèles pré-entraînés
. -
Disposez du jeu de données d’entraînement que vous souhaitez utiliser pour le peaufinage du modèle. Le jeu de données doit être dans le format d’entraînement approprié pour le modèle que vous souhaitez optimiser.
Peaufinage d’une référence de modèle dans un hub organisé
La procédure suivante explique comment affiner une référence de modèle dans votre hub privé organisé à l'aide du SDK SageMaker Python.
-
Assurez-vous que la dernière version (au moins
2.242.0) du SDK SageMaker Python est installée. Pour plus d'informations, consultez Utiliser la version 2.x du SDK SageMaker Python. !pip install --upgrade sagemaker -
Importez AWS SDK pour Python (Boto3) les modules dont vous aurez besoin depuis le SDK SageMaker Python.
import boto3 from sagemaker.jumpstart.estimator import JumpStartEstimator from sagemaker.session import Session -
Initialisez une session Boto3, un client SageMaker AI et une session du SDK SageMaker Python.
sagemaker_client = boto3.Session(region_name=<AWS-region>).client("sagemaker") sm_session = Session(sagemaker_client=sagemaker_client) -
Créez un
JumpStartEstimatoret fournissez l'ID du JumpStart modèle, le nom de votre hub contenant la référence du modèle et votre session du SDK SageMaker Python. Pour obtenir la liste des modèles IDs, consultez le tableau des algorithmes intégrés avec des modèles préentraînés. Vous pouvez éventuellement spécifier les champs
instance_typeetinstance_countlors de la création de l’estimateur. Si vous ne le faites pas, la tâche d’entraînement utilise le type et le nombre d’instances par défaut pour le modèle que vous utilisez.Facultatif : vous pouvez également spécifier le paramètre
output_pathsur l’emplacement Amazon S3 où vous souhaitez stocker les poids des modèles peaufinés. Si vous ne spécifiez pas leoutput_path, utilise un compartiment SageMaker AI Amazon S3 par défaut pour la région de votre compte, nommé au format suivant :sagemaker-.<region>-<account-id>estimator = JumpStartEstimator( model_id="meta-textgeneration-llama-3-2-1b", hub_name=<your-hub-name>, sagemaker_session=sm_session, # If you don't specify an existing session, a default one is created for you # Optional: specify your desired instance type and count for the training job # instance_type = "ml.g5.2xlarge" # instance_count = 1 # Optional: specify a custom S3 location to store the fine-tuned model artifacts # output_path: "s3://<output-path-for-model-artifacts>" ) -
Créez un dictionnaire avec la clé
training, dans lequel vous spécifiez l’emplacement de votre jeu de données de peaufinage. Cet exemple renvoie à un URI Amazon S3. Si vous avez d'autres considérations, telles que l'utilisation du mode local ou de plusieurs canaux de données d'entraînement, consultez JumpStartEstimator.fit ()dans la documentation du SDK SageMaker Python pour plus d'informations. training_input = { "training": "s3://<your-fine-tuning-dataset>" } -
Appelez la méthode
fit()de l’estimateur, puis transmettez vos données d’entraînement et votre acceptation du CLUF (le cas échéant).Note
L’exemple suivant définit la valeur sur
accept_eula=False.Vous devez la modifier surTrueafin d’accepter le CLUF.estimator.fit(inputs=training_input, accept_eula=False)
Votre tâche de peaufinage devrait maintenant commencer.
Vous pouvez vérifier votre travail de peaufinage en consultant vos tâches de formation, soit dans la console d' SageMaker IA, soit à l'aide de l'ListTrainingJobsAPI.
Vous pouvez accéder à vos artefacts de modèle affinés sur l'Amazon S3 output_path spécifié dans l'JumpStartEstimatorobjet (soit le compartiment Amazon S3 SageMaker AI par défaut pour la région, soit un chemin Amazon S3 personnalisé que vous avez spécifié, le cas échéant).