View a markdown version of this page

Menggunakan driver Amazon EBS CSI di SageMaker HyperPod cluster EKS - Amazon SageMaker AI

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

Menggunakan driver Amazon EBS CSI di SageMaker HyperPod cluster EKS

SageMaker HyperPod mendukung driver Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI), yang mengelola siklus hidup volume Amazon EBS sebagai penyimpanan untuk volume Kubernetes yang Anda buat. Dengan driver Amazon EBS CSI, Anda dapat membuat, melampirkan, dan mengelola volume Amazon EBS untuk beban kerja pembelajaran mesin yang berjalan di cluster SageMaker HyperPod dengan orkestrasi Amazon EKS.

Kemampuan penyimpanan kunci

Driver Amazon EBS CSI aktif SageMaker HyperPod mendukung kemampuan penyimpanan berikut.

Untuk informasi selengkapnya tentang driver Amazon EBS CSI, lihat Menggunakan penyimpanan volume Kubernetes dengan Amazon EBS dari Panduan Pengguna Amazon EKS.

Untuk informasi selengkapnya tentang penyimpanan ke pod di klaster Anda, lihat Penyimpanan dari Dokumentasi Kubernetes.

Pertimbangan-pertimbangan

SageMaker HyperPod AMI sudah mengelola penyimpanan instans NVMe lokal di setiap node. Saat boot, ia menggabungkan semua drive NVMe node ke dalam satu grup volume LVM (vg.01) dan memasang hasilnya di. /opt/sagemaker Anda tidak perlu menginstal apa pun untuk menggunakan penyimpanan NVMe lokal — itu siap digunakan segera setelah node habis.

penting

Jangan menginstal driver CSI kedua yang menargetkan penyimpanan instans NVMe (kadang-kadang disebut driver CSI Penyimpanan Instans Lokal). Manajer penyimpanan kedua bertentangan dengan vg.01 dan menyebabkan kegagalan NVMe, I/O kegagalan pemasangan, dan status perangkat rusak yang tetap ada di seluruh reboot dan penggantian node.

Pembatasan ini hanya berlaku untuk driver yang mengelola penyimpanan instans NVMe lokal. Network-backed Driver CSI (Amazon EBS, Amazon FSx, Amazon EFS, dan Mountpoint untuk Amazon S3) tidak terpengaruh karena mereka tidak mengakses disk NVMe lokal.

Driver Amazon EBS CSI yang dijelaskan di halaman ini hanya mengelola volume Amazon EBS dan tidak terpengaruh oleh konflik ini. Konflik hanya berlaku untuk driver CSI yang mengelola penyimpanan instance NVMe lokal pada node.

Jika Anda telah menginstal driver CSI yang menargetkan penyimpanan instans NVMe dan melihat I/O kesalahan NVMe, ikuti langkah-langkah berikut:

  1. Copot pemasangan add-on driver CSI penyimpanan instans lokal.

  2. Ganti node yang terpengaruh (disarankan mengganti sekitar tiga sekaligus).

  3. Verifikasi bahwa penyimpanan instans NVMe dipulihkan. Keadaan yang dipulihkan berlanjut melalui reboot dan penggantian berikutnya.

penting

Jangan mengganti node sebelum menghapus add-on. Konflik akan berulang pada node baru, dan I/O kesalahan akan berlanjut.

Untuk menggunakan penyimpanan instans NVMe HyperPod, andalkan konfigurasi LVM bawaan AMI melalui jalur pemasangan standar (). /opt/sagemaker Untuk penyimpanan blok tingkat pod yang disediakan secara dinamis, gunakan driver Amazon EBS CSI seperti yang dijelaskan di bagian lain halaman ini.

Kasus penggunaan

Integrasi driver Amazon EBS CSI memungkinkan beberapa kasus penggunaan utama untuk beban kerja pelatihan dan inferensi pada kluster EKS. SageMaker HyperPod

Beban kerja pelatihan

  • Penyimpanan kumpulan data: Volume penyediaan untuk kumpulan data pelatihan yang bertahan di seluruh pod dimulai ulang

  • Penyimpanan pos pemeriksaan: Simpan pos pemeriksaan model dan hasil pelatihan menengah

  • Artefak bersama: Akses kumpulan data umum dan artefak model di beberapa pekerjaan pelatihan

Beban kerja inferensi

  • Penyimpanan model: Secara dinamis menyediakan volume berukuran tepat berdasarkan persyaratan model

  • Container caching: Buat penyimpanan sementara untuk meningkatkan kinerja inferensi

  • Pencatatan peristiwa: Simpan hasil inferensi dan log dengan penyimpanan persisten

Menyiapkan driver Amazon EBS CSI di SageMaker HyperPod kluster EKS

Driver Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) memungkinkan Anda menyediakan dan mengelola volume Amazon EBS secara dinamis untuk beban kerja kontainer yang berjalan di cluster dengan orkestrasi EKS. SageMaker HyperPod Bagian ini memandu Anda untuk menginstal dan mengonfigurasi driver Amazon EBS CSI untuk mengaktifkan penyimpanan persisten untuk beban kerja pembelajaran mesin Anda.

Prasyarat

Sebelum memulai, lakukan hal berikut:

Izin tambahan

Untuk menyiapkan add-on driver Amazon EBS CSI, ikuti petunjuk di Gunakan penyimpanan volume Kubernetes dengan Amazon EBS dari Panduan Pengguna Amazon EKS. Anda juga harus menambahkan izin tambahan berikut ke peran IAM yang digunakan untuk menjalankan add-on driver. Perhatikan bahwa ini adalah peran IAM yang ditentukan dalam konfigurasi akun layanan Anda untuk add-on driver, bukan peran eksekusi HyperPod klaster.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:AttachClusterNodeVolume", "sagemaker:DetachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" } ] }

Menggunakan API

Sebagai alternatif, Anda dapat menggunakan operasi AttachClusterNodeVolumedan DetachClusterNodeVolumeAPI untuk melampirkan dan melepaskan volume Amazon EBS Anda ke instans cluster SageMaker HyperPod EKS.

Persyaratan utama untuk menggunakan API ini termasuk yang berikut ini.

Izin yang diperlukan untuk pembuat sagemaker: AttachClusterNodeVolume

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:AttachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DescribeVolumes" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*" } ] }

Izin yang diperlukan untuk pembuat sagemaker: DetachClusterNodeVolume

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DetachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" }, { "Effect": "Allow", "Action": [ "ec2:DetachVolume", "ec2:DescribeVolumes" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*" } ] }

Izin yang diperlukan untuk AWS KMS keys

Tambahkan AWS KMS izin berikut hanya jika Anda menggunakan kunci KMS yang dikelola pelanggan untuk mengenkripsi volume Amazon EBS yang dilampirkan ke node cluster. HyperPod Izin ini tidak diperlukan jika Anda menggunakan kunci KMS yang AWS dikelola (opsi enkripsi default).

JSON
{ "Version":"2012-10-17", "Id": "key-default-1", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/caller-role" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/caller-role" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "111122223333", "kms:ViaService": "ec2.us-east-1.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" }, "Bool": { "kms:GrantIsForAWSResource": true }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt" ] } } } ] }
catatan

AWS KMS Izin ini tidak diperlukan sagemaker:DetachClusterNodeVolume saat melepaskan volume Cluster Auto Volume Attachment (CAVA) yang dienkripsi dengan kunci KMS yang dikelola pelanggan.