View a markdown version of this page

Fine-tune modelli di base disponibili al pubblico con la JumpStartEstimatorclasse - Amazon SageMaker AI

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 base disponibili al pubblico con la JumpStartEstimatorclasse

Nota

Per istruzioni su come eseguire il fine-tuning dei modelli di fondazione in un hub privato selezionato, consulta Fine-tune modelli di hub curati.

Puoi perfezionare un algoritmo integrato o un modello pre-addestrato in poche righe di codice utilizzando l'SDK. SageMaker Python

  1. Per prima cosa, trova l'ID del modello per il modello che preferisci nella tabella Built-in Algorithms with pre-training Model Table.

  2. Utilizzando l'ID del modello, definisci il tuo lavoro di formazione come estimatore JumpStart.

    from sagemaker.jumpstart.estimator import JumpStartEstimator model_id = "huggingface-textgeneration1-gpt-j-6b" estimator = JumpStartEstimator(model_id=model_id)
  3. Esegui estimator.fit() sul tuo modello, indicando i dati di addestramento da utilizzare per il fine-tuning.

    estimator.fit( {"train": training_dataset_s3_path, "validation": validation_dataset_s3_path} )
  4. Quindi, utilizza il metodo deploy per implementare automaticamente il modello per l’inferenza. In questo esempio, utilizziamo il modello GPT-J 6B di. Hugging Face

    predictor = estimator.deploy()
  5. È quindi possibile eseguire l’inferenza con il modello implementato utilizzando il metodo predict.

    question = "What is Southern California often abbreviated as?" response = predictor.predict(question) print(response)
Nota

Questo esempio utilizza il modello base GPT-J 6B, adatto a un'ampia gamma di casi d'uso per la generazione di testo, tra cui la risposta a domande, il riconoscimento di entità denominate, il riepilogo e altro ancora. Per ulteriori informazioni sui casi d’uso dei modelli, consulta Modelli di fondazione disponibili.

Facoltativamente, puoi specificare le versioni del modello o i tipi di istanza durante la creazione del tuo JumpStartEstimator. Per ulteriori informazioni sulla JumpStartEstimator classe e i relativi parametri, consultate. JumpStartEstimator

Controllo dei tipi di istanza predefiniti

Se lo desideri, durante il fine-tuning di un modello preaddestrato puoi includere versioni di modello o tipi di istanza specifici utilizzando la classe JumpStartEstimator. Tutti i JumpStart modelli hanno un tipo di istanza predefinito. Recupera il tipo di istanza di implementazione predefinita utilizzando il seguente codice:

from sagemaker import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope="training") print(instance_type)

È possibile visualizzare tutti i tipi di istanza supportati per un determinato JumpStart modello con il instance_types.retrieve() metodo.

Controllo degli iperparametri predefiniti

Per controllare gli iperparametri predefiniti utilizzati per l’addestramento, puoi applicare il metodo retrieve_default() della classe hyperparameters.

from sagemaker import hyperparameters my_hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version) print(my_hyperparameters) # Optionally override default hyperparameters for fine-tuning my_hyperparameters["epoch"] = "3" my_hyperparameters["per_device_train_batch_size"] = "4" # Optionally validate hyperparameters for the model hyperparameters.validate(model_id=model_id, model_version=model_version, hyperparameters=my_hyperparameters)

Per ulteriori informazioni sugli iperparametri disponibili, consulta iperparametri comunemente supportati per il fine-tuning.

Controllo delle definizioni delle metriche predefinite

Puoi anche controllare le definizioni delle metriche predefinite:

print(metric_definitions.retrieve_default(model_id=model_id, model_version=model_version))