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/nvmeJenis 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
modelCacheConfigbidang 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 konfigurasi
hostPath, 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 podinference-pod-name-nnamespace
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.