View a markdown version of this page

Ray Serve を使用した JumpStart モデルのデプロイ - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Ray Serve を使用した JumpStart モデルのデプロイ

JumpStart モデルは、モデルの重みを手動でダウンロードしたり、モデルロードコードを記述したり、サービングコンテナを設定したりすることなく、HyperPod で Ray Serve にデプロイできます。PyPI ウェブサイトの toolkit-for-ray-on-sagemaker-ai ライブラリには、デプロイ時に JumpStart からのモデルアーティファクトのダウンロードを処理するために Ray Serve の LLM API と統合JumpStartModelLoaderCallbackする が用意されています。

前提条件

IAM 許可を設定する

は SageMaker AI API をJumpStartModelLoaderCallback呼び出して、モデルアーティファクトをダウンロードするための署名付き URLs を取得します。Ray Serve ポッドには、次のアクセス許可を持つ IAM ロールが必要です。

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

Kubernetes サービスアカウントをこの IAM ロールにマッピングする Pod Identity 関連付けを作成します。詳細については、「Amazon EKS ユーザーガイド」の「EKS Pod Identity で IAM ロールを引き受けるように Kubernetes サービスアカウントを設定する」を参照してください。

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

serviceAccountName フィールドを使用して、RayServiceマニフェストでこのサービスアカウントを参照します (次の例を参照)。

モデルをデプロイする

次の例では、 LLMConfigで Ray Serve の を使用して JumpStart モデルをデプロイしますJumpStartModelLoaderCallback。コールバックは、サーブレプリカの起動時に署名付き URLs を使用して JumpStart からモデルアーティファクトをダウンロードし、それをサービングエンジン (vLLM) にロードして、OpenAI 互換 API を公開します。

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]})

RayService マニフェストimport_pathの appから参照し、「」の説明に従ってデプロイしますRay Serve を使用したモデルのデプロイ。headGroupSpec と の両方serviceAccountNameを、前のステップで作成した IAM ロールに関連付けられたサービスアカウントworkerGroupSpecsに設定します。

注記

モデルのライセンスと EULA 要件の詳細については、「基盤モデルの選択」を参照してください。

エンドポイントに到達する

デプロイでは、 用に作成された KubeRay サービスを通じて、ポート 8000 で OpenAI 互換のチャット完了 API が公開されますRayService。クイックテストには、 を使用しますkubectl port-forward。

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

次に、 にリクエストを送信しますhttp://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?"}] }'