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-tuning dei modelli di hub selezionati
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 in base ai 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 SageMaker SDK. 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 di 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 curato con un riferimento a un JumpStart modello che desideri perfezionare. Per ulteriori informazioni sulla creazione di un hub privato, consulta Creazione di un hub di modelli privato. Per informazioni su 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. Per verificare se è possibile eseguire il fine-tuning di un modello, consulta la tabella degli algoritmi integrati con modelli preaddestrati
. -
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-tuning di un riferimento al modello di hub selezionato
La procedura seguente mostra come ottimizzare un riferimento al modello nel tuo hub privato curato utilizzando Python SageMaker SDK.
-
Assicurati di avere installato la versione più recente (almeno
2.242.0) di SageMaker Python SDK. Per ulteriori informazioni, consulta Usare la versione 2.x di SageMaker Python SDK. !pip install --upgrade sagemaker -
Importa i moduli AWS SDK per Python (Boto3) e i moduli di cui avrai bisogno dall' SageMaker SDK Python.
import boto3 from sagemaker.jumpstart.estimator import JumpStartEstimator from sagemaker.session import Session -
Inizializza una sessione Boto3, un client SageMaker AI e una sessione Python SageMaker SDK.
sagemaker_client = boto3.Session(region_name=<AWS-region>).client("sagemaker") sm_session = Session(sagemaker_client=sagemaker_client) -
Crea
JumpStartEstimatore fornisci l'ID del JumpStart modello, il nome del tuo hub che contiene il riferimento del modello e la tua sessione SageMaker Python SDK. Per un elenco di modelli IDs, consulta la tabella Algoritmi integrati con modelli preaddestrati. Facoltativamente, puoi specificare i campi
instance_typeeinstance_countdurante la creazione dello strumento di stima. 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 del tuo account, denominato con il seguente formato:.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>" ) -
Crea un dizionario con la chiave
trainingin cui specifichi la posizione del set di dati per il fine-tuning. Questo esempio rimanda a un URI Amazon S3. Se hai altre considerazioni, come l'utilizzo della modalità locale o di più canali di dati di addestramento, consulta JumpStartEstimator.fit () nella documentazionedi SageMaker Python SDK per ulteriori informazioni. training_input = { "training": "s3://<your-fine-tuning-dataset>" } -
Chiama il metodo
fit()dello strumento di stima e passa i dati di addestramento e l’accettazione dell’EULA (se applicabile).Nota
Il seguente esempio imposta
accept_eula=False.Per poter accettare l’EULA, è necessario modificare manualmente il valore inTrue.estimator.fit(inputs=training_input, accept_eula=False)
Il processo di fine-tuning dovrebbe ora iniziare.
Puoi controllare il tuo lavoro di perfezionamento visualizzando i lavori di formazione, nella console di SageMaker intelligenza artificiale o utilizzando l'API. ListTrainingJobs
Puoi accedere agli artefatti del modello ottimizzati su Amazon S3 specificato nell'JumpStartEstimatoroggetto (il bucket AI Amazon S3 predefinito per la regione o un percorso Amazon S3 personalizzato output_path che hai specificato, se applicabile). SageMaker