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/JumpStartModelLoaderCallback das Herunterladen von Modellartefakten während der Bereitstellung zu verarbeiten. JumpStart
Voraussetzungen
-
Ein laufender Ray-Cluster
RayServiceoder ein, den Sie in den folgenden Schritten bereitstellen. Weitere Informationen finden Sie unter Bereitstellung eines Modells mit Ray Serve. -
Der KubeRay Operator wurde installiert. Weitere Informationen finden Sie unter Installation KubeRay auf HyperPod Amazon EKS.
-
Das Amazon EKS Pod Identity Agent-Add-on ist auf Ihrem Cluster installiert. Weitere Informationen finden Sie im Amazon EKS-Benutzerhandbuch unter EKS Pod Identity Agent einrichten.
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-nameeks-cluster-name\ --namespacenamespace\ --service-accountjumpstart-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-svc8000: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?"}] }'