Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Fine-tune modelli di hub curati
Nel tuo hub di modelli privato selezionato puoi eseguire job di addestramento per il fine-tuning utilizzando i riferimenti ai modelli. I riferimenti ai modelli rimandano a un JumpStart modello disponibile pubblicamente nell'hub pubblico di SageMaker intelligenza artificiale, ma puoi perfezionare il modello sui tuoi dati per il tuo caso d'uso specifico. Dopo il processo di fine-tuning, hai accesso ai pesi del modello che puoi quindi utilizzare o implementare su un endpoint.
Puoi ottimizzare i modelli di hub curati in poche righe di codice usando Python SDK. SageMaker Per informazioni più generali sulla messa a punto dei modelli disponibili al pubblico, consulta. JumpStart Modelli di fondazione e iperparametri per il fine-tuning
Prerequisiti
Per ottimizzare un riferimento al JumpStart modello nel tuo hub curato, procedi come segue:
-
Assicurati che al ruolo IAM dell'utente sia associata l'autorizzazione SageMaker AI
TrainHubModel. Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l’utente di AWS IAM.È consigliabile collegare al ruolo IAM dell’utente una policy come la seguente:
Nota
Se il tuo hub selezionato è condiviso tra più account e il contenuto dell’hub è di proprietà di un altro account, assicurati che il tuo
HubContent(la risorsa di riferimento al modello) disponga di una policy IAM basata su risorse che conceda anche l’autorizzazioneTrainHubModelall’account richiedente, come mostrato nell’esempio seguente. -
Disponi di un hub privato e curato con un riferimento al JumpStart modello che desideri perfezionare. Per ulteriori informazioni sulla creazione di un hub privato, consulta Creazione di un hub di modelli privato. Per sapere come aggiungere JumpStart modelli disponibili pubblicamente al tuo hub privato, consulta. Aggiunta di modelli a un hub privato
Nota
Il JumpStart modello scelto dovrebbe essere ottimizzabile. È possibile elencare i modelli disponibili in modo programmatico utilizzando il
hub.list_sagemaker_public_hub_models()metodo in Python SDK. SageMaker -
Scegli un set di dati di addestramento da utilizzare per il fine-tuning del modello. Il set di dati deve essere nel formato di addestramento appropriato per il modello di cui desideri eseguire il fine-tuning.
Fine-tune un riferimento al modello hub curato
La procedura seguente mostra come ottimizzare un riferimento al modello nel tuo hub privato curato utilizzando l'SDK Python. SageMaker
-
Assicuratevi di avere installato l'ultima versione (almeno
3.0.0) di Python SDK. SageMaker Per ulteriori informazioni, consulta Utilizzare la versione 3.x di SageMaker Python SDKsul sito Web Read the Docs. !pip install --upgrade sagemaker -
Importa i moduli AWS SDK per Python (Boto3) di cui hai bisogno dall'SDK Python. SageMaker
import boto3 from sagemaker.train import ModelTrainer from sagemaker.train.configs import Compute, InputData from sagemaker.core.jumpstart.configs import JumpStartConfig from sagemaker.core.helper.session_helper import Session -
Inizializza una sessione Boto3, un client SageMaker AI e una sessione Python SDK. SageMaker
sagemaker_client = boto3.Session(region_name=<AWS-region>).client("sagemaker") sm_session = Session(sagemaker_client=sagemaker_client) -
Crea un ID
ModelTrainerutilizzandofrom_jumpstart_confige fornisci l'ID del JumpStart modello, il nome del tuo hub che contiene il riferimento al modello e la tua sessione Python SDK. SageMaker Per elencare gli ID del modello disponibili a livello di codice, utilizzate ilhub.list_sagemaker_public_hub_models()metodo in Python SDK. SageMakerFacoltativamente, è possibile specificare i campi
instance_typeandinstance_countdurante la creazione di. ModelTrainer In caso contrario, il job di addestramento utilizza il tipo e il numero di istanze predefiniti per il modello che stai utilizzando.Se lo desideri, puoi anche specificare il
output_pathalla posizione Amazon S3 in cui intendi archiviare i pesi dei modelli ottimizzati con fine-tuning. Se non specifichi iloutput_path, utilizza un bucket SageMaker AI Amazon S3 predefinito per la regione nel tuo account, denominato con il seguente formato:.sagemaker-<region>-<account-id>jumpstart_config = JumpStartConfig( model_id="meta-textgeneration-llama-3-2-1b", hub_name=<your-hub-name>, # For gated models, set accept_eula=True to accept the end-user license agreement. # This example uses False. Change it to True to accept the EULA for gated models. accept_eula=False, ) model_trainer = ModelTrainer.from_jumpstart_config( jumpstart_config=jumpstart_config, # Optional: specify your desired instance type and count for the training job. # compute=Compute(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>", ) -
Crea un oggetto
InputData. Impostachannel_namesutrainedata_sourcesulla posizione del tuo set di dati di ottimizzazione. Nell'esempio seguente, sostituiscilocon l'URI Amazon S3 del tuo set di dati. Se hai altre considerazioni, ad esempio l'utilizzo della modalità locale o di più canali di dati di training, consulta SageMaker Train<your-fine-tuning-dataset>nella documentazione di SageMaker Python SDK sul sito Web Read the Docs. training_input = InputData( channel_name="train", data_source="s3://<your-fine-tuning-dataset>", ) -
Richiama il
train()metodo del model trainer e trasmetti i tuoi dati di allenamento. Dichiara l'accettazione dell'EULA nelJumpStartConfigcampo (mostrato nel passaggio precedente), non nella chiamata.train()Nota
L'esempio precedente illustra.
JumpStartConfigaccept_eula=FalsePer i modelli regolamentati, è necessario modificare il valore in perTrueaccettare l'EULA.model_trainer.train(input_data_config=[training_input])
Il processo di fine-tuning dovrebbe ora iniziare.
Puoi verificare il tuo lavoro di perfezionamento visualizzando i lavori di formazione, nella console SageMaker AI o utilizzando l'API. ListTrainingJobs
Puoi accedere agli artefatti del modello ottimizzati su Amazon S3 output_path che sono stati specificati nell'ModelTraineroggetto (il bucket SageMaker AI Amazon S3 predefinito per la regione o un percorso Amazon S3 personalizzato che hai specificato, se applicabile).