Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan pekerjaan pelatihan dengan cluster heterogen di Amazon AI SageMaker
Bagian ini memberikan instruksi tentang cara menjalankan pekerjaan pelatihan menggunakan cluster heterogen yang terdiri dari beberapa jenis instance.
Perhatikan hal berikut sebelum Anda mulai.
-
Semua grup instance berbagi gambar Docker dan skrip pelatihan yang sama. Oleh karena itu, skrip pelatihan Anda harus dimodifikasi untuk mendeteksi grup instans mana yang dimilikinya dan eksekusi fork yang sesuai.
-
Fitur cluster heterogen tidak kompatibel dengan mode lokal SageMaker AI.
-
Aliran CloudWatch log Amazon dari pekerjaan pelatihan klaster heterogen tidak dikelompokkan berdasarkan grup instans. Anda perlu mencari tahu dari log node mana yang ada di grup mana.
Opsi 1: Menggunakan SageMaker Python SDK
Ikuti petunjuk tentang cara mengonfigurasi grup instance untuk cluster heterogen menggunakan SageMaker Python SDK.
-
Untuk mengonfigurasi grup instance dari cluster heterogen untuk pekerjaan pelatihan, gunakan
sagemaker.instance_group.InstanceGroup
kelas. Anda dapat menentukan nama kustom untuk setiap grup instans, jenis instans, dan jumlah instance untuk setiap grup instans. Untuk informasi selengkapnya, lihat sagemaker.instance_group. InstanceGroupdalam dokumentasi SageMaker AI Python SDK. catatan
Untuk informasi selengkapnya tentang jenis instans yang tersedia dan jumlah maksimum grup instans yang dapat Anda konfigurasikan dalam klaster heterogen, lihat referensi InstanceGroupAPI.
Contoh kode berikut menunjukkan cara mengatur dua grup instance yang terdiri dari dua instance
ml.c5.18xlarge
khusus CPU bernamainstance_group_1
dan satu instanceml.p3dn.24xlarge
GPU bernamainstance_group_2
, seperti yang ditunjukkan pada diagram berikut.Diagram sebelumnya menunjukkan contoh konseptual tentang bagaimana proses pra-pelatihan, seperti preprocessing data, dapat ditugaskan ke grup instance CPU dan mengalirkan data yang telah diproses sebelumnya ke grup instance GPU.
from sagemaker.instance_group import InstanceGroup instance_group_1 = InstanceGroup( "
instance_group_1
", "ml.c5.18xlarge
",2
) instance_group_2 = InstanceGroup( "instance_group_2
", "ml.p3dn.24xlarge
",1
) -
Dengan menggunakan objek grup instance, siapkan saluran input pelatihan dan tetapkan grup instance ke saluran melalui
instance_group_names
argumen sagemaker.inputs. TrainingInputkelas. instance_group_names
Argumen menerima daftar string nama grup contoh.Contoh berikut menunjukkan cara mengatur dua saluran input pelatihan dan menetapkan grup instance yang dibuat dalam contoh langkah sebelumnya. Anda juga dapat menentukan jalur bucket Amazon S3 ke
s3_data
argumen untuk grup instans untuk memproses data untuk tujuan penggunaan Anda.from sagemaker.inputs import TrainingInput training_input_channel_1 = TrainingInput( s3_data_type='
S3Prefix
', # Available Options: S3Prefix | ManifestFile | AugmentedManifestFile s3_data='s3://your-training-data-storage/folder1
', distribution='FullyReplicated
', # Available Options: FullyReplicated | ShardedByS3Key input_mode='File
', # Available Options: File | Pipe | FastFile instance_groups=["instance_group_1
"] ) training_input_channel_2 = TrainingInput( s3_data_type='S3Prefix
', s3_data='s3://your-training-data-storage/folder2
', distribution='FullyReplicated
', input_mode='File
', instance_groups=["instance_group_2
"] )Untuk informasi selengkapnya tentang argumen
TrainingInput
, lihat tautan berikut.-
Sagemaker.input. TrainingInput
kelas dalam dokumentasi SageMaker Python SDK -
DataSourceAPI S3 dalam Referensi SageMaker AI API
-
-
Konfigurasikan estimator SageMaker AI dengan
instance_groups
argumen seperti yang ditunjukkan pada contoh kode berikut.instance_groups
Argumen menerima daftarInstanceGroup
objek.catatan
Fitur cluster heterogen tersedia melalui SageMaker AI PyTorch
dan kelas estimator TensorFlow kerangka kerja. Kerangka kerja yang didukung adalah PyTorch v1.10 atau yang lebih baru dan TensorFlow v2.6 atau yang lebih baru. Untuk menemukan daftar lengkap container framework, versi framework, dan versi Python yang tersedia, lihat SageMaker AI Framework Container di repositori AWS Deep Learning Container GitHub . catatan
Pasangan
instance_count
argumeninstance_type
daninstance_groups
argumen kelas estimator SageMaker AI saling eksklusif. Untuk pelatihan cluster homogen, gunakan pasanganinstance_count
argumeninstance_type
and. Untuk pelatihan cluster heterogen, gunakaninstance_groups
.catatan
Untuk menemukan daftar lengkap container framework, versi framework, dan versi Python yang tersedia, lihat SageMaker AI Framework Container
di repositori AWS Deep Learning Container GitHub . -
Konfigurasikan
estimator.fit
metode dengan saluran input pelatihan yang dikonfigurasi dengan grup instans dan mulai pekerjaan pelatihan.estimator.fit( inputs={ 'training':
training_input_channel_1
, 'dummy-input-channel
':training_input_channel_2
} )
Opsi 2: Menggunakan level rendah SageMaker APIs
Jika Anda menggunakan AWS Command Line Interface or AWS SDK for Python (Boto3) dan ingin menggunakan level rendah SageMaker APIs untuk mengirimkan permintaan pekerjaan pelatihan dengan klaster heterogen, lihat referensi API berikut.