View a markdown version of this page

Implantando um JumpStart modelo com o Ray Serve - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implantando um JumpStart modelo com o Ray Serve

Você pode implantar JumpStart modelos no Ray Serve on HyperPod sem baixar manualmente os pesos do modelo, escrever o código de carregamento do modelo ou configurar um contêiner de serviço. A biblioteca toolkit-for-ray-on-sagemaker-ai no site PyPI fornece uma que se integra à API LLM da Ray Serve para lidar com o download de artefatos de JumpStartModelLoaderCallback modelo no momento da implantação. JumpStart

Pré-requisitos

Configurar permissões do IAM

Ele JumpStartModelLoaderCallback chama a API de SageMaker IA para recuperar URLs pré-assinados para baixar artefatos do modelo. Seus pods do Ray Serve precisam de uma função do IAM com as seguintes permissões.

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

Crie uma associação Pod Identity que mapeie uma conta de serviço do Kubernetes para essa função do IAM. Para obter mais informações, consulte Configurar uma conta de serviço do Kubernetes para assumir uma função do IAM com o EKS Pod Identity no Guia do usuário do Amazon EKS.

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

Consulte essa conta de serviço em seu RayService manifesto usando o serviceAccountName campo (mostrado no exemplo a seguir).

Implantar o modelo

O exemplo a seguir implanta um JumpStart modelo usando o Ray Serve LLMConfig com o. JumpStartModelLoaderCallback O callback baixa artefatos do modelo JumpStart usando URLs pré-assinados quando a réplica do servidor é iniciada e os carrega no mecanismo de veiculação (vLLM), expondo uma 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]})

Faça referência app ao import_path em seu RayService manifesto e, em seguida, implante-o conforme descrito emImplantando um modelo com o Ray Serve. Certifique-se de que ambos estejam headGroupSpec workerGroupSpecs configurados serviceAccountName para a conta de serviço associada à função do IAM criada na etapa anterior.

nota

Para obter informações sobre licenciamento de modelos e requisitos de EULA, consulte Escolher um modelo básico.

Alcançando o endpoint

A implantação expõe uma API de conclusão de OpenAI-compatible bate-papo na porta 8000 por meio do KubeRay serviço criado para o. RayService Para testes rápidos, usekubectl port-forward:

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

Em seguida, envie solicitações parahttp://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?"}] }'