Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan model penyesuaian khusus dari Amazon S3 dan Amazon menggunakan kubectl FSx
Langkah-langkah berikut menunjukkan cara menerapkan model yang disimpan di Amazon S3 atau Amazon ke klaster FSx SageMaker HyperPod Amazon menggunakan kubectl.
Instruksi berikut berisi sel kode dan perintah yang dirancang untuk berjalan di terminal. Pastikan Anda telah mengonfigurasi lingkungan Anda dengan AWS kredensyal sebelum menjalankan perintah ini.
Prasyarat
Sebelum Anda mulai, verifikasi bahwa Anda telah:
-
Siapkan kemampuan inferensi di SageMaker HyperPod kluster Amazon Anda. Untuk informasi selengkapnya, lihat Menyiapkan HyperPod cluster Anda untuk penerapan model.
-
Menginstal utilitas kubectl
dan mengkonfigurasi jq di terminal Anda.
Penyiapan dan konfigurasi
Ganti semua nilai placeholder dengan pengidentifikasi sumber daya Anda yang sebenarnya.
-
Pilih Wilayah Anda di lingkungan Anda.
export REGION=<region> -
Inisialisasi nama cluster Anda. Ini mengidentifikasi HyperPod cluster tempat model Anda akan digunakan.
catatan
Periksa dengan admin klaster Anda untuk memastikan izin diberikan untuk peran atau pengguna ini. Anda dapat menjalankan
!aws sts get-caller-identity --query "Arn"untuk memeriksa peran atau pengguna mana yang Anda gunakan di terminal Anda.# Specify your hyperpod cluster name here HYPERPOD_CLUSTER_NAME="<Hyperpod_cluster_name>" # NOTE: For sample deployment, we use g5.8xlarge for deepseek-r1 1.5b model which has sufficient memory and GPU instance_type="ml.g5.8xlarge" -
Inisialisasi namespace cluster Anda. Admin klaster Anda seharusnya sudah membuat akun layanan hyperpod-inference di namespace Anda.
cluster_namespace="<namespace>" -
Buat CRD menggunakan salah satu opsi berikut:
Konfigurasikan caching KV dan perutean cerdas untuk meningkatkan kinerja
-
Aktifkan caching KV dengan mengatur
enableL1CachedanenableL2Cacheketrue.Then, aturl2CacheSpeckeredisdan perbaruil2CacheLocalUrldengan URL cluster Redis.kvCacheSpec: enableL1Cache: true enableL2Cache: true l2CacheSpec: l2CacheBackend: <redis | tieredstorage> l2CacheLocalUrl: <redis cluster URL if l2CacheBackend is redis >catatan
Jika cluster redis tidak berada dalam VPC Amazon yang sama dengan cluster, enkripsi untuk data dalam perjalanan tidak dijamin. HyperPod
catatan
Tidak perlu l2 CacheLocalUrl jika tieredstorage dipilih.
-
Aktifkan perutean cerdas dengan menyetel
enabledketruebawahintelligentRoutingSpec. Anda dapat menentukan strategi perutean mana yang akan digunakan di bawahroutingStrategy. Jika tidak ada strategi routing yang ditentukan, defaultnya.prefixawareintelligentRoutingSpec: enabled: true routingStrategy: <routing strategy to use> -
Aktifkan metrik router dan metrik caching dengan menyetel
enabledke bawah.truemetricsportNilai harus sama dengancontainerPortnilai di bawahmodelInvocationPort.metrics: enabled: true modelMetrics: port: <port value> ... modelInvocationPort: containerPort: <port value>
Terapkan model Anda dari Amazon S3 atau Amazon FSx
-
Dapatkan nama cluster Amazon EKS dari ARN HyperPod cluster untuk otentikasi kubectl.
export EKS_CLUSTER_NAME=$(aws --region $REGION sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME \ --query 'Orchestrator.Eks.ClusterArn' --output text | \ cut -d'/' -f2) aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $REGION -
Terapkan InferenceEndpointConfig model Anda dengan salah satu opsi berikut:
Verifikasi status penerapan Anda
-
Periksa apakah model berhasil digunakan.
kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE -
Periksa apakah titik akhir berhasil dibuat.
kubectl describe SageMakerEndpointRegistration $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE -
Uji titik akhir yang diterapkan untuk memverifikasi itu berfungsi dengan benar. Langkah ini mengonfirmasi bahwa model Anda berhasil diterapkan dan dapat memproses permintaan inferensi.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name $SAGEMAKER_ENDPOINT_NAME \ --content-type "application/json" \ --body '{"inputs": "What is AWS SageMaker?"}' \ --region $REGION \ --cli-binary-format raw-in-base64-out \ /dev/stdout
Kelola penerapan Anda
Setelah selesai menguji penerapan, gunakan perintah berikut untuk membersihkan sumber daya Anda.
catatan
Verifikasi bahwa Anda tidak lagi memerlukan model yang digunakan atau data yang disimpan sebelum melanjutkan.
Bersihkan sumber daya Anda
-
Hapus penerapan inferensi dan sumber daya Kubernetes terkait. Ini menghentikan kontainer model yang sedang berjalan dan menghapus SageMaker titik akhir.
kubectl delete inferenceendpointconfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE -
Verifikasi pembersihan telah berhasil dilakukan.
# # Check that Kubernetes resources are removed kubectl get pods,svc,deployment,InferenceEndpointConfig,sagemakerendpointregistration -n $CLUSTER_NAMESPACE# Verify SageMaker endpoint is deleted (should return error or empty) aws sagemaker describe-endpoint --endpoint-name $SAGEMAKER_ENDPOINT_NAME --region $REGION
Pemecahan masalah
Gunakan perintah debugging ini jika penerapan Anda tidak berfungsi seperti yang diharapkan.
-
Periksa status penerapan Kubernetes.
kubectl describe deployment $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE -
Periksa InferenceEndpointConfig status untuk melihat status penerapan tingkat tinggi dan masalah konfigurasi apa pun.
kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE -
Periksa status semua objek Kubernetes. Dapatkan tampilan komprehensif dari semua resource Kubernetes terkait di namespace Anda. Ini memberi Anda gambaran singkat tentang apa yang sedang berjalan dan apa yang mungkin hilang.
kubectl get pods,svc,deployment,InferenceEndpointConfig,sagemakerendpointregistration -n $CLUSTER_NAMESPACE