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.
Einsatz und Vorhersagen des Autopilot-Modells
Nach der Optimierung eines großen Sprachmodells (LLM) können Sie das Modell für die Textgenerierung in Echtzeit einsetzen, indem Sie einen Endpunkt einrichten, um interaktive Vorhersagen zu erhalten.
Anmerkung
Wir empfehlen, Inferenzaufträge in Echtzeit in ml.g5.12xlarge auszuführen, um eine bessere Leistung zu erzielen. Alternativ eignen sich ml.g5.8xlarge-Instances für Textgenerierungsaufgaben mit Falcon-7B-Instruct und MPT-7B-Instruct.
Die Einzelheiten dieser Instances finden Sie in der Kategorie Beschleunigte Datenverarbeitung
Textgenerierung in Echtzeit
Sie können Ihr fein abgestimmtes Modell manuell SageMaker APIs auf einem SageMaker KI-Hosting-Echtzeit-Inferenzendpunkt bereitstellen und dann mit der Erstellung von Prognosen beginnen, indem Sie den Endpunkt wie folgt aufrufen.
Anmerkung
Alternativ können Sie bei der Erstellung Ihres Experiments zur Feinabstimmung in Autopilot die Option zur automatischen Bereitstellung wählen. Informationen zur Einrichtung der automatischen Bereitstellung von Modellen finden Sie unter So aktivieren Sie die automatische Bereitstellung.
Sie können das SageMaker Python-SDK und die JumpStartModel Klasse auch verwenden, um Schlussfolgerungen mit Modellen durchzuführen, die von Autopilot optimiert wurden. Dies kann erreicht werden, indem ein benutzerdefinierter Speicherort für das Artefakt des Modells in Amazon S3 angegeben wird. Informationen zur Definition Ihres Modells als Modell und zur Bereitstellung Ihres JumpStart Modells zu Inferenzzwecken finden Sie unter Low-Code-Bereitstellung
-
Rufen Sie die Definitionen der Inference-Container-Kandidaten ab.
Sie finden das
InferenceContainerDefinitionsinnerhalb desBestCandidateObjekts, das aus der Antwort auf den DescribeAutoMLJobV2-API-Aufruf abgerufen wurde. Eine Container-Definition für Inference bezieht sich auf die containerisierte Umgebung, die für die Bereitstellung und Ausführung des von Ihnen trainierten Modells konzipiert ist, um Vorhersagen zu treffen.Das folgende AWS CLI Befehlsbeispiel verwendet die DescribeAutoMLJobV2-API, um empfohlene Containerdefinitionen für Ihren Jobnamen abzurufen.
aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-namejob-name--regionregion -
Erstellen Sie ein SageMaker KI-Modell
Verwenden Sie die Containerdefinitionen aus dem vorherigen Schritt, um mithilfe der CreateModelAPI ein SageMaker KI-Modell zu erstellen. Sehen Sie sich den folgenden AWS CLI Befehl als Beispiel an. Verwenden Sie den
CandidateNamefür Ihren Modellnamen.aws sagemaker create-model --model-name '<your-candidate-name>' \ --primary-container '<container-definition' \ --execution-role-arn '<execution-role-arn>' --region '<region> -
Endpunktkonfiguration erstellen
Das folgende AWS CLI Befehlsbeispiel verwendet die CreateEndpointConfigAPI, um eine Endpunktkonfiguration zu erstellen.
Anmerkung
Um zu verhindern, dass bei der Endpunkterstellung aufgrund eines langwierigen Modell-Downloads ein Timeout auftritt, empfehlen wir die Einstellung
ModelDataDownloadTimeoutInSeconds = 3600undContainerStartupHealthCheckTimeoutInSeconds = 3600.aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \ --production-variants '<list-of-production-variants>' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \ --region '<region>' -
Erstellen des Endpunkts
Das folgende AWS CLI Beispiel verwendet die CreateEndpointAPI, um den Endpunkt zu erstellen.
aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \ --endpoint-config-name '<endpoint-config-name-you-just-created>' \ --region '<region>'Überprüfen Sie den Fortschritt Ihrer Endpunktbereitstellung mithilfe der DescribeEndpointAPI. Sehen Sie sich den folgenden AWS CLI Befehl als Beispiel an.
aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region<region>Nach den
EndpointStatusÄnderungen anInServiceist der Endpunkt für Echtzeit-Inferences einsatzbereit. -
Endpunkt aufrufen
Der folgende Befehl ruft den Endpunkt für Echtzeit-Inferences auf. Ihre Eingabeaufforderung muss in Byte codiert sein.
Anmerkung
Das Format Ihrer Eingabeaufforderung hängt vom Sprachmodell ab. Weitere Informationen zum Format von Textgenerierungsaufforderungen finden Sie unter Anfrageformat für Textgenerierungsmodelle für Echtzeit-Inferenz.
aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ --region '<region>' --body '<your-promt-in-bytes>' [--content-type] 'application/json'<outfile>
Anfrageformat für Textgenerierungsmodelle für Echtzeit-Inferenz
Verschiedene große Sprachmodelle (LLMs) können spezifische Softwareabhängigkeiten, Laufzeitumgebungen und Hardwareanforderungen haben, die den von Autopilot empfohlenen Container zum Hosten des Modells für die Inferenz beeinflussen. Darüber hinaus bestimmt jedes Modell das erforderliche Eingabedatenformat und das erwartete Format für Vorhersagen und Ausgaben.
Hier finden Sie Beispieleingaben für einige Modelle und empfohlene Container.
-
Für Falcon-Modelle mit dem empfohlenen Container
huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04:payload = { "inputs": "Large language model fine-tuning is defined as", "parameters": { "do_sample": false, "top_p": 0.9, "temperature": 0.1, "max_new_tokens": 128, "stop": ["<|endoftext|>", "</s>"] } } -
Für alle anderen Modelle mit dem empfohlenen Container
djl-inference:0.22.1-fastertransformer5.3.0-cu118:payload= { "text_inputs": "Large language model fine-tuning is defined as" }