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à.
Implementazione di un JumpStart modello con Ray Serve
È possibile distribuire JumpStart i modelli in Ray Serve on HyperPod senza scaricare manualmente i pesi dei modelli, scrivere codice per il caricamento dei modelli o configurare un service container. La libreria JumpStartModelLoaderCallback. JumpStart
Prerequisiti
-
Un cluster Ray in esecuzione
RayServiceo uno da implementare nei seguenti passaggi. Per ulteriori informazioni, consulta Implementazione di un modello con Ray Serve. -
L' KubeRay operatore ha installato. Per ulteriori informazioni, consulta Installazione KubeRay su HyperPod Amazon EKS.
-
Il componente aggiuntivo Amazon EKS Pod Identity Agent installato sul cluster. Per ulteriori informazioni, consulta Configurare l'EKS Pod Identity Agent nella Guida per l'utente di Amazon EKS.
Configurazione delle autorizzazioni IAM
JumpStartModelLoaderCallbackChiama l'API SageMaker AI per recuperare gli URL prefirmati per scaricare gli artefatti del modello. I tuoi pod Ray Serve necessitano di un ruolo IAM con le seguenti autorizzazioni.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:CreateHubContentPresignedUrls", "Resource": "*" } ] }
Crea un'associazione Pod Identity che associ un account di servizio Kubernetes a questo ruolo IAM. Per ulteriori informazioni, consulta Configurazione di un account di servizio Kubernetes per assumere un ruolo IAM con EKS Pod Identity nella Amazon EKS User Guide.
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
Fai riferimento a questo account di servizio nel tuo RayService manifesto utilizzando il serviceAccountName campo (mostrato nell'esempio seguente).
Implementazione del modello
L'esempio seguente implementa un JumpStart modello che utilizza Ray Serve LLMConfig con. JumpStartModelLoaderCallback Il callback scarica gli artefatti del modello derivanti dall' JumpStart utilizzo di URL prefirmati all'avvio della replica del server e li carica nel serving engine (vLLM), esponendo un'API. 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]})
Fai riferimento al app file import_path nel tuo RayService manifest, quindi implementalo come descritto in. Implementazione di un modello con Ray Serve Assicurati di averli entrambi headGroupSpec e workerGroupSpecs serviceAccountName impostali sull'account di servizio associato al ruolo IAM creato nel passaggio precedente.
Nota
Per informazioni sulle licenze modello e sui requisiti EULA, consulta Scegliere un modello base.
Raggiungere l'endpoint
La distribuzione espone un'API di completamento della OpenAI-compatible chat sulla porta 8000 tramite il KubeRay servizio creato per. RayService Per test rapidi, usa: kubectl port-forward
kubectl port-forward svc/ray-service-head-svc8000:8000
Quindi invia le richieste ahttp://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?"}] }'