Die Feinabstimmung öffentlich verfügbarer Foundation-Modelle mithilfe der Klasse JumpStartEstimator - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die Feinabstimmung öffentlich verfügbarer Foundation-Modelle mithilfe der Klasse JumpStartEstimator

Sie können einen integrierten Algorithmus oder ein vortrainiertes Modell in nur wenigen Codezeilen feinabstimmen, indem Sie den SageMaker Python SDK.

  1. Suchen Sie zunächst die Modell-ID für das Modell Ihrer Wahl in der Tabelle Integrierte Algorithmen mit vortrainiertem Modell.

  2. Definieren Sie anhand der Modell-ID Ihren Trainingsjob als JumpStart Schätzer.

    from sagemaker.jumpstart.estimator import JumpStartEstimator model_id = "huggingface-textgeneration1-gpt-j-6b" estimator = JumpStartEstimator(model_id=model_id)
  3. Führen Sie estimator.fit() Ihr Modell aus und verweisen Sie dabei auf die Trainingsdaten, die für die Feinabstimmung verwendet werden sollen.

    estimator.fit( {"train": training_dataset_s3_path, "validation": validation_dataset_s3_path} )
  4. Verwenden Sie dann die deploy Methode, um Ihr Modell automatisch für die Inferenz bereitzustellen. In diesem Beispiel verwenden wir das Modell GPT -J 6B von Hugging Face.

    predictor = estimator.deploy()
  5. Anschließend können Sie mithilfe der Methode eine Inferenz mit dem bereitgestellten Modell ausführen. predict

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

In diesem Beispiel wird das Foundation-Modell GPT -J 6B verwendet, das für eine Vielzahl von Anwendungsfällen zur Textgenerierung geeignet ist, z. B. für die Beantwortung von Fragen, Erkennung benannter Entitäten, Zusammenfassung und mehr. Weitere Informationen zu Modellanwendungsfällen finden Sie unter. Verfügbare Fundamentmodelle

Sie können optional Modellversionen oder Instanztypen angeben, wenn Sie Ihre erstellenJumpStartEstimator. Weitere Informationen zur JumpStartEstimator Klasse und ihren Parametern finden Sie unter JumpStartEstimator.

Überprüfen Sie die Standard-Instanztypen

Sie können bei der Feinabstimmung eines vortrainierten Modells mithilfe der Klasse optional bestimmte Modellversionen oder Instanztypen JumpStartEstimator einbeziehen. Alle JumpStart Modelle haben einen Standard-Instanztyp. Rufen Sie den Standard-Trainingsinstanztyp mit dem folgenden Code ab:

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

Mit der instance_types.retrieve() Methode können Sie alle unterstützten Instanztypen für ein bestimmtes JumpStart Modell anzeigen.

Überprüfen Sie die Standard-Hyperparameter

Um die für das Training verwendeten Standard-Hyperparameter zu überprüfen, können Sie die retrieve_default() Methode aus der hyperparameters Klasse verwenden.

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)

Weitere Informationen zu verfügbaren Hyperparametern finden Sie unter. Häufig unterstützte Feinabstimmung von Hyperparametern

Überprüfen Sie die Standard-Metrikdefinitionen

Sie können auch die standardmäßigen Metrikdefinitionen überprüfen:

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