View a markdown version of this page

Model bobot caching dan caching gambar - Amazon SageMaker AI

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

Model bobot caching dan caching gambar

Saat Anda menskalakan penerapan inferensi, setiap pod baru harus menarik image container server inferensi dari registri. Itu juga harus mengunduh bobot model dari penyimpanan jarak jauh (Amazon S3 atau Amazon FSx) sebelum dapat melayani lalu lintas. Untuk model bahasa besar, mengunduh bobot model dan menarik gambar kontainer berkontribusi paling besar terhadap latensi awal dingin.

Untuk menghilangkan kemacetan ini selama penskalaan, konfigurasikan salah satu atau kedua mekanisme caching host-lokal berikut di Inferensi Amazon: SageMaker HyperPod

Model bobot caching () weightsCache

Pre-populates model file berat pada penyimpanan NVMe host-lokal pada setiap node yang memenuhi syarat. Pod inferensi pada node yang sama memuat bobot dari penyimpanan lokal alih-alih mengunduhnya dari sumber model jarak jauh, menghilangkan unduhan berlebihan di seluruh pod.

Caching gambar () imageCache

Pre-pulls image kontainer server inferensi ke node target sehingga pod baru dimulai tanpa menunggu penarikan gambar dingin.

Anda mengonfigurasi kedua mekanisme caching melalui modelCacheConfig bidang pada InferenceEndpointConfig atau JumpStartModel penerapan Anda.

Anda dapat mengaktifkan caching bobot dan caching gambar secara mandiri atau bersama-sama. Kedua fitur bekerja dengan semua sumber model SageMaker HyperPod Inferensi Amazon, termasuk SageMaker JumpStart penerapan Amazon (baik model bobot terbuka dan terjaga keamanannya) dan model khusus dari Amazon S3 atau Amazon FSx.

Prasyarat

Sebelum Anda mengaktifkan caching, verifikasi hal berikut:

Jenis instans dengan penyimpanan NVMe lokal

Caching bobot model menyimpan bobot pada penyimpanan NVMe host-lokal (secara default). /opt/dlami/nvme Jenis instans Anda harus menyediakan penyimpanan NVMe lokal pada konfigurasi. hostPath

Kapasitas NVMe yang memadai

Pastikan node memiliki penyimpanan lokal yang cukup untuk model Anda. Setiap penyebaran menggunakan direktori cache terisolasi sendiri, sehingga beberapa penerapan cache pada node yang sama masing-masing mengkonsumsi penyimpanan mereka sendiri.

Operator inferensi

Cluster Anda harus memiliki versi operator HyperPod Inference yang mendukung caching model. Jika modelCacheConfig bidang tidak dikenali, perbarui add-on operator inferensi ke versi terbaru.

penting

Jika tipe instans Anda tidak memiliki penyimpanan NVMe lokal pada konfigurasihostPath, caching bobot model tidak akan menghangatkan cache dan pod inferensi akan kembali mengunduh bobot dari sumber model jarak jauh. Verifikasi bahwa jenis instans Anda menyediakan penyimpanan NVMe lokal sebelum mengaktifkan fitur ini.

Konfigurasikan caching bobot model dan caching gambar

Tambahkan modelCacheConfig blok ke JumpStartModel sumber daya InferenceEndpointConfig atau sumber daya Anda. spec Contoh berikut memungkinkan caching bobot model dan caching gambar.

spec: # ... model source, worker, and TLS configuration ... modelCacheConfig: weightsCache: enabled: true hostPath: /opt/dlami/nvme imageCache: enabled: true

modelCacheConfigBidang ini mendukung sub-bidang berikut.

Bidang Default Deskripsi
weightsCache.enabled false Apakah caching bobot model host-local diaktifkan. Saattrue, operator mengisi bobot model pada penyimpanan host-lokal dan memasangnya ke pod inferensi.
weightsCache.hostPath /opt/dlami/nvme Jalur host tempat bobot model yang di-cache disimpan. Harus berupa jalur absolut yang tidak kosong paling banyak 255 karakter.
imageCache.enabled false Apakah caching gambar kontainer diaktifkan. Kapantrue, operator melakukan pra-menarik image kontainer server inferensi ke node target.

Cara kerja caching bobot model

weightsCache.enabledKapantrue, operator mengunduh bobot model dari sumber model jarak jauh (Amazon S3 atau Amazon FSx) ke penyimpanan NVMe lokal host pada setiap node yang memenuhi syarat sebelum pod inferensi mulai melayani lalu lintas. Pod inferensi memasang bobot cache hanya-baca dan memuat model dari penyimpanan lokal alih-alih mengunduhnya dari sumber jarak jauh berulang kali.

Operator mengisi cache pada node yang cocok dengan batasan penjadwalan penerapan inferensi, dan memberi label pada setiap node saat cache-nya hangat. Penerapan inferensi menggunakan afinitas node yang disukai pada label ini, sehingga pod dijadwalkan ke node hangat jika tersedia tetapi masih dapat menjadwalkan di tempat lain.

Isolasi

Setiap penyebaran menggunakan direktori cache per-deployment yang terisolasi di bawah konfigurasihostPath, sehingga beberapa penerapan model pada node yang sama tidak saling mengganggu.

Cache miss fallback

Jika pod dijadwalkan pada node di mana cache belum tersedia, penerapan akan kembali ke pemuatan bobot model langsung dari sumber model jarak jauh, sehingga penerapan tetap berfungsi bahkan tanpa cache hangat.

Penggantian simpul

Jika sebuah node diganti (misalnya, setelah gagal), operator harus menghangatkan cache pada node baru lagi sebelum pod dijadwalkan secara istimewa. Node hangat yang ada terus melayani lalu lintas sementara itu.

Pembersihan saat menghapus

Saat Anda menghapus penerapan, operator menghapus file bobot cache dari node yang diisinya.

Cara kerja caching gambar

imageCache.enabledKapantrue, operator melakukan pra-menarik image kontainer server inferensi ke node target. Karena gambar sudah ada di node, pod inferensi baru menghindari penarikan gambar dingin yang jika tidak akan menunda startup pod. Ini sangat bermanfaat untuk gambar server inferensi besar dan untuk penerapan yang sering diskalakan.

Caching gambar tidak tergantung pada caching bobot model. Anda dapat mengaktifkannya sendiri, atau menggabungkannya dengan caching bobot untuk mengurangi waktu penarikan gambar dan pengunduhan berat selama penskalaan.

Verifikasi bahwa caching berfungsi

Gunakan pemeriksaan berikut untuk mengonfirmasi bahwa caching aktif untuk penerapan Anda.

Periksa label node untuk cache hangat

Ketika cache node hangat, operator menerapkan label siap-cache padanya. Caching bobot model menggunakan label dengan awalaninference.sagemaker.aws.amazon.com/weights-cache-ready., dan caching gambar menggunakan awalaninference.sagemaker.aws.amazon.com/image-cache-ready., masing-masing diakhiran dengan UID konfigurasi cache.

kubectl get nodes --show-labels | grep "cache-ready"

Tidak ada output berarti belum ada node yang menghangatkan cache.

Periksa peristiwa pod untuk pemasangan cache

Periksa pod inferensi dan konfirmasikan bahwa pod tersebut memasang jalur cache host-local hanya-baca. Jika volume hostPath tidak ada, pod memuat bobot dari penyimpanan jarak jauh.

kubectl describe pod inference-pod-name -n namespace

Periksa log operator

Tinjau log operator inferensi untuk aktivitas atau kesalahan pemanasan cache.

kubectl logs -n hyperpod-inference-system deployment/hyperpod-inference-controller-manager | grep -i "cache"

Pemecahan masalah

Gejala Kemungkinan penyebab Resolusi
Pod mulai perlahan meskipun caching diaktifkan. Jalur NVMe tidak ada pada tipe instance. Verifikasi bahwa jenis instans Anda memiliki penyimpanan NVMe lokal dan yang hostPath cocok dengan titik pemasangan yang sebenarnya.
Cache tidak pernah hangat. Ruang disk tidak cukup di jalur host. Periksa kapasitas yang tersedia dihostPath. Model besar dapat membutuhkan penyimpanan lokal yang besar.
Tidak ada node yang diberi label sebagai cache-ready. Unduhan cache gagal, atau sumber jarak jauh tidak dapat dijangkau. Periksa log operator untuk kesalahan unduhan dan verifikasi akses jaringan ke Amazon S3 atau Amazon FSx.
Beberapa penerapan menyebabkan tekanan disk pada node. Penerapan yang di-cache berbagi penyimpanan NVMe node yang sama. Gunakan grup instance terpisah atau kurangi jumlah penyebaran cache bersamaan per node.

Pertimbangan-pertimbangan

  • Caching bobot model memerlukan tipe instance dengan penyimpanan NVMe lokal. EBS-only instance tidak didukung.

  • Ukuran model cache maksimum dibatasi oleh kapasitas NVMe yang tersedia pada jenis instans.

  • Waktu pemanasan cache tergantung pada ukuran model dan throughput jaringan ke sumber model jarak jauh.