Pertimbangan untuk Amazon SageMaker Debugger - Amazon SageMaker

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

Pertimbangan untuk Amazon SageMaker Debugger

Pertimbangkan hal berikut saat menggunakan Amazon SageMaker Debugger.

Pertimbangan untuk Pelatihan Terdistribusi

Daftar berikut menunjukkan ruang lingkup validitas dan pertimbangan untuk menggunakan Debugger pada pekerjaan pelatihan dengan kerangka pembelajaran mendalam dan berbagai opsi pelatihan terdistribusi.

  • Horovod

    Lingkup validitas penggunaan Debugger untuk pekerjaan pelatihan dengan Horovod

    Kerangka Pembelajaran Mendalam Apache MXNet TensorFlow 1.x TensorFlow 2.x TensorFlow 2.x dengan Keras PyTorch
    Pemantauan kemacetan sistem Ya Ya Ya Ya Ya
    Operasi kerangka kerja profil Tidak Tidak Tidak Ya Ya
    Tensor keluaran model debugging Ya Ya Ya Ya Ya
  • SageMaker paralel data terdistribusi

    Lingkup validitas menggunakan Debugger untuk pekerjaan pelatihan dengan SageMaker data paralel terdistribusi

    Kerangka Pembelajaran Mendalam TensorFlow 2.x TensorFlow 2.x dengan Keras PyTorch
    Pemantauan kemacetan sistem Ya Ya Ya
    Operasi kerangka kerja profil Tidak* Tidak** Ya
    Tensor keluaran model debugging Ya Ya Ya

    * Debugger tidak mendukung pembuatan profil kerangka kerja untuk 2.x. TensorFlow

    ** SageMaker distributed data parallel tidak mendukung TensorFlow 2.x dengan implementasi Keras.

  • SageMaker distributed model parallel — Debugger tidak mendukung pelatihan paralel model SageMaker terdistribusi.

  • Pelatihan terdistribusi dengan SageMaker pos pemeriksaan — Debugger tidak tersedia untuk pekerjaan pelatihan ketika opsi pelatihan terdistribusi dan SageMaker pos pemeriksaan diaktifkan. Anda mungkin melihat kesalahan yang terlihat seperti berikut:

    SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled

    Untuk menggunakan Debugger untuk pekerjaan pelatihan dengan opsi pelatihan terdistribusi, Anda perlu menonaktifkan SageMaker checkpointing dan menambahkan fungsi checkpointing manual ke skrip pelatihan Anda. Untuk informasi selengkapnya tentang penggunaan Debugger dengan opsi pelatihan terdistribusi dan pos pemeriksaan, lihat dan. Menggunakan data SageMaker terdistribusi paralel dengan Amazon SageMaker Debugger dan pos pemeriksaan Menyimpan Pos Pemeriksaan

  • Parameter Server - Debugger tidak mendukung pelatihan terdistribusi berbasis server parameter.

  • Membuat profil operasi kerangka pelatihan terdistribusi, seperti AllReduced pengoperasian data paralel SageMaker terdistribusi dan operasi Horovod, tidak tersedia.

Pertimbangan untuk Pemantauan Kemacetan Sistem dan Operasi Kerangka Profiling

  • Untuk AWS TensorFlow, metrik pemuat data tidak dapat dikumpulkan menggunakan local_path pengaturan default FrameworkProfile kelas. Jalur harus dikonfigurasi secara manual dan diakhiri"/". Sebagai contoh:

    FrameworkProfile(local_path="/opt/ml/output/profiler/")
  • Untuk AWS TensorFlow, konfigurasi profil pemuat data tidak dapat diperbarui saat pekerjaan pelatihan sedang berjalan.

  • Untuk AWS TensorFlow, NoneType kesalahan mungkin terjadi ketika Anda menggunakan alat analisis dan contoh buku catatan dengan TensorFlow 2.3 pekerjaan pelatihan dan opsi pembuatan profil terperinci.

  • Profil Python dan pembuatan profil terperinci hanya didukung untuk Keras. API

  • Untuk mengakses fitur profil mendalam untuk TensorFlow dan PyTorch, saat ini Anda harus menentukan gambar wadah pembelajaran AWS mendalam terbaru dengan CUDA 11. Misalnya, Anda harus menentukan gambar spesifik URI di TensorFlow dan PyTorch estimator sebagai berikut:

    • Untuk TensorFlow

      image_uri = f"763104351884.dkr.ecr.{region}.amazonaws.com/tensorflow-training:2.3.1-gpu-py37-cu110-ubuntu18.04"
    • Untuk PyTorch

      image_uri = f"763104351884.dkr.ecr.{region}.amazonaws.com/pytorch-training:1.6.0-gpu-py36-cu110-ubuntu18.04"

Pertimbangan untuk Tensor Output Model Debugging

  • Hindari menggunakan API operasi fungsional. Debugger tidak dapat mengumpulkan tensor keluaran model dari PyTorch dan skrip MXNet pelatihan yang terdiri dari operasi fungsional. API

    • Debugger tidak dapat mengumpulkan tensor keluaran model dari operasi. torch.nn.functionalAPI Saat Anda menulis skrip PyTorch pelatihan, disarankan untuk menggunakan torch.nnmodul sebagai gantinya.

    • Debugger tidak dapat mengumpulkan tensor keluaran model dari objek MXNet fungsional di blok hibrida. Misalnya, output ReLu aktivasi (F.relu) tidak dapat dikumpulkan dari contoh berikut mxnet.gluon.HybridBlockdengan F dalam hybrid_forward fungsi.

      import mxnet as mx from mxnet.gluon import HybridBlock, nn class Model(HybridBlock): def __init__(self, **kwargs): super(Model, self).__init__(**kwargs) # use name_scope to give child Blocks appropriate names. with self.name_scope(): self.dense0 = nn.Dense(20) self.dense1 = nn.Dense(20) def hybrid_forward(self, F, x): x = F.relu(self.dense0(x)) return F.relu(self.dense1(x)) model = Model() model.initialize(ctx=mx.cpu(0)) model.hybridize() model(mx.nd.zeros((10, 10), ctx=mx.cpu(0)))