Fine-tuning dei modelli di fondazione disponibili al pubblico con la classe JumpStartEstimator - 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-tuning dei modelli di fondazione disponibili al pubblico con la classe JumpStartEstimator

Nota

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

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

  1. Innanzitutto, trova l’ID del modello relativo al modello di tua scelta nella tabella degli algoritmi integrati con modelli preaddestrati.

  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 di fondazione 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))