View a markdown version of this page

Menyebarkan JumpStart model dengan Ray Serve - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyebarkan JumpStart model dengan Ray Serve

Anda dapat menerapkan JumpStart model ke Ray Serve HyperPod tanpa mengunduh bobot model secara manual, menulis kode pemuatan model, atau mengonfigurasi wadah penyajian. Perpustakaan toolkit-for-ray-on-sagemaker-ai di situs web PyPI menyediakan file yang terintegrasi dengan API LLM Ray Serve untuk menangani unduhan JumpStartModelLoaderCallback artefak model dari saat penerapan. JumpStart

Prasyarat

Mengonfigurasi izin IAM

Ini JumpStartModelLoaderCallback memanggil SageMaker AI API untuk mengambil URL yang telah ditetapkan sebelumnya untuk mengunduh artefak model. Pod Ray Serve Anda memerlukan peran IAM dengan izin berikut.

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

Buat asosiasi Pod Identity yang memetakan akun layanan Kubernetes ke peran IAM ini. Untuk informasi selengkapnya, lihat Mengonfigurasi akun layanan Kubernetes untuk mengambil peran IAM dengan EKS Pod Identity di Panduan Pengguna 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

Referensikan akun layanan ini dalam RayService manifes Anda menggunakan serviceAccountName bidang (ditunjukkan pada contoh berikut).

Menyebarkan model

Contoh berikut menyebarkan JumpStart model menggunakan Ray Serve LLMConfig dengan. JumpStartModelLoaderCallback Callback mengunduh artefak model dari JumpStart menggunakan URL yang telah ditetapkan sebelumnya saat replika servis dimulai dan memuatnya ke dalam mesin penyajian (VllM), mengekspos 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]})

Referensi app dari import_path RayService manifes Anda, lalu terapkan seperti yang dijelaskan dalamMenerapkan model dengan Ray Serve. Pastikan keduanya headGroupSpec dan workerGroupSpecs atur serviceAccountName ke akun layanan yang terkait dengan peran IAM yang dibuat pada langkah sebelumnya.

catatan

Untuk informasi tentang lisensi model dan persyaratan EULA, lihat Memilih model pondasi.

Mencapai titik akhir

Penerapan mengekspos API penyelesaian OpenAI-compatible obrolan pada port 8000 melalui KubeRay layanan yang dibuat untuk. RayService Untuk pengujian cepat, gunakankubectl port-forward:

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

Kemudian kirim permintaan kehttp://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?"}] }'