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 verificare se un modello è ottimizzabile controllando la tabella Algoritmi con modelli. Built-in Pre-trained
-
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' SageMaker SDK Python.
-
Assicuratevi di avere installato l'ultima versione (almeno
2.242.0) di Python SDK. SageMaker Per ulteriori informazioni, consulta Usare la versione 3.x di Python SDK. SageMaker!pip install --upgrade sagemaker -
Importa AWS SDK for Python (Boto3) i moduli di cui avrai bisogno dall'SDK Python. SageMaker
import boto3 from sagemaker.train import ModelTrainer 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 un elenco degli ID dei modelli, consulta la tabella Built-in Algoritmi con Pre-trained modelli.Facoltativamente, è possibile specificare i
instance_countcampiinstance_typee durante 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 del 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>, # Optional: specify your desired instance type and count for the training job # instance_type = "ml.g5.2xlarge" # instance_count = 1 ) model_trainer = ModelTrainer.from_jumpstart_config(jumpstart_config=jumpstart_config) # 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 ulteriori considerazioni, come l'utilizzo della modalità locale o di più canali di dati di addestramento, consulta ModelTrainer.train ()nella documentazione di SageMaker Python SDK per maggiori informazioni. training_input = { "training": "s3://<your-fine-tuning-dataset>" } -
Richiama il
train()metodo del model trainer e trasmetti i tuoi dati di training 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.model_trainer.train(input_data_config=[training_input], accept_eula=False)
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).