View a markdown version of this page

Implementazione di un JumpStart modello con Ray Serve - Amazon SageMaker AI

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 toolkit-for-ray-on-sagemaker-ai sul sito web PyPI si integra con l'API LLM di Ray Serve per gestire il download degli artefatti del modello al momento della distribuzioneJumpStartModelLoaderCallback. JumpStart

Prerequisiti

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-name eks-cluster-name \ --namespace namespace \ --service-account jumpstart-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-svc 8000: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?"}] }'