Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Sharding Status Optimizer

Mode fokus
Sharding Status Optimizer - Amazon SageMaker AI

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

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

Sharding status pengoptimal adalah teknik hemat memori yang berguna yang memecah status pengoptimal (kumpulan bobot yang menjelaskan status pengoptimal) di seluruh grup perangkat paralel data. Anda dapat menggunakan sharding status pengoptimal setiap kali Anda menggunakan pengoptimal stateful (seperti Adam) atau FP16 pengoptimal (yang menyimpan keduanya FP16 dan FP32 salinan parameter).

catatan

Sharding status pengoptimal tersedia PyTorch di pustaka paralelisme SageMaker model v1.6.0 dan yang lebih baru.

Cara Menggunakan Optimizer State Sharding

Anda dapat mengaktifkan sharding status pengoptimal dengan mengatur konfigurasi"shard_optimizer_state": True. modelparallel

Saat fitur ini dihidupkan, pustaka mempartisi kumpulan parameter model berdasarkan tingkat paralelisme data. Gradien yang sesuai dengan partisi i th berkurang hanya pada peringkat paralel data i th. Pada akhir panggilan pertama ke fungsi smp.step dekorator, pengoptimal yang dibungkus dengan smp.DistributedOptimizer mendefinisikan ulang parameternya hanya terbatas pada parameter yang sesuai dengan partisi peringkat paralel data saat ini. Parameter yang didefinisikan ulang disebut parameter virtual dan berbagi penyimpanan yang mendasarinya dengan parameter asli. Selama panggilan pertama keoptimizer.step, status pengoptimal dibuat berdasarkan parameter yang didefinisikan ulang ini, yang di-sharded karena partisi asli. Setelah pembaruan pengoptimal, AllGather operasi (sebagai bagian dari optimizer.step panggilan) berjalan di seluruh peringkat paralel data untuk mencapai status parameter yang konsisten.

Tip

Sharding status pengoptimal dapat berguna ketika tingkat paralelisme data lebih besar dari 1 dan model memiliki lebih dari satu miliar parameter.

Tingkat paralelisme data dihitung oleh(processes_per_host * instance_count / pipeline_parallel_degree), dan smp.dp_size() fungsi menangani ukuran di latar belakang.

Konfigurasikan SageMaker PyTorch estimator

mpi_options = { "enabled" : True, "processes_per_host" : 8, # 8 processes "custom_mpi_options" : "--mca btl_vader_single_copy_mechanism none " } smp_options = { "enabled":True, "parameters": { "microbatches": 4, "pipeline_parallel_degree": 2, # alias for "partitions" "placement_strategy": "cluster", "tensor_parallel_degree": 2, # tp over 2 devices "ddp": True, "shard_optimizer_state": True } }

Sesuaikan skrip PyTorch pelatihan Anda

Lihat Menyesuaikan skrip PyTorch pelatihan Anda di bagian paralelisme Tensor yang dikombinasikan dengan paralelisme pipa. Tidak ada modifikasi tambahan yang diperlukan untuk skrip.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.