View a markdown version of this page

Bereitstellung eines JumpStart Modells mit Ray Serve - Amazon SageMaker KI

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.

Bereitstellung eines JumpStart Modells mit Ray Serve

Sie können JumpStart Modelle in Ray Serve on bereitstellen, HyperPod ohne die Modellgewichte manuell herunterzuladen, Code zum Laden von Modellen zu schreiben oder einen Serving-Container zu konfigurieren. Die https://pypi.org/project/toolkit-for-ray-on-sagemaker-ai/ Toolkit-for-ray-on-sagemaker-ai-Bibliothek auf der PyPI-Website bietet eine, die in die LLM-API von Ray Serve integriert ist, um JumpStartModelLoaderCallback das Herunterladen von Modellartefakten während der Bereitstellung zu verarbeiten. JumpStart

Voraussetzungen

Konfigurieren Sie die IAM-Berechtigungen.

Das JumpStartModelLoaderCallback ruft die SageMaker AI-API auf, um vorsignierte URLs zum Herunterladen von Modellartefakten abzurufen. Ihre Ray Serve-Pods benötigen eine IAM-Rolle mit den folgenden Berechtigungen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:CreateHubContentPresignedUrls", "Resource": "*" } ] }

Erstellen Sie eine Pod Identity-Zuordnung, die dieser IAM-Rolle ein Kubernetes-Dienstkonto zuordnet. Weitere Informationen finden Sie im Amazon EKS-Benutzerhandbuch unter Konfiguration eines Kubernetes-Dienstkontos zur Übernahme einer IAM-Rolle mit EKS Pod Identity.

aws eks create-pod-identity-association \ --cluster-name eks-cluster-name \ --namespace namespace \ --service-account jumpstart-ray-serve \ --role-arn arn:aws:iam::account-id:role/role-name

Verweisen Sie in Ihrem RayService Manifest mithilfe des serviceAccountName Felds auf dieses Dienstkonto (im folgenden Beispiel gezeigt).

Bereitstellen des Modells

Im folgenden Beispiel wird ein JumpStart Modell bereitgestellt, das Ray Serve's LLMConfig mit dem JumpStartModelLoaderCallback verwendet. Der Callback lädt Modellartefakte aus JumpStart vorsignierten URLs herunter, wenn das Serve-Replikat gestartet wird, und lädt sie in die Serving Engine (vLLM), wodurch eine API verfügbar gemacht wird. OpenAI-compatible

from ray.serve.llm import LLMConfig, build_openai_app from ray.llm._internal.common.callbacks.base import CallbackConfig from toolkit_for_ray_on_sagemaker_ai import JumpStartModelLoaderCallback llm_config = LLMConfig( model_loading_config={ "model_id": "my-llm", "model_source": "placeholder", }, callback_config=CallbackConfig( callback_class=JumpStartModelLoaderCallback, callback_kwargs={ "jumpstart_model_id": "huggingface-reasoning-qwen3-4b", "region": "us-east-1", "accept_eula": False, # Set to True after reviewing the model's EULA }, ), accelerator_type="A10G", ) app = build_openai_app({"llm_configs": [llm_config]})

Verweisen app Sie auf das import_path in Ihrem RayService Manifest und stellen Sie es dann wie unter beschrieben bereit. Bereitstellung eines Modells mit Ray Serve Stellen Sie sicher, dass beide vorhanden sindserviceAccountName, headGroupSpec und workerGroupSpecs stellen Sie das Dienstkonto ein, das der im vorherigen Schritt erstellten IAM-Rolle zugeordnet ist.

Anmerkung

Informationen zur Modelllizenzierung und zu den EULA-Anforderungen finden Sie unter Wählen Sie ein Basismodell aus.

Den Endpunkt erreichen

Bei der Bereitstellung wird eine API für den Abschluss von OpenAI-compatible Chats auf Port 8000 über den KubeRay Dienst bereitgestellt, der für den erstellt wurde. RayService Verwenden Sie für schnelle Tests: kubectl port-forward

kubectl port-forward svc/ray-service-head-svc 8000:8000

Dann sende Anfragen anhttp://localhost:8000:

curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "my-llm", "messages": [{"role": "user", "content": "What is Ray Serve?"}] }'