Pembongkaran Aktivasi - Amazon SageMaker

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

Pembongkaran Aktivasi

Ketika checkpointing aktivasi dan paralelisme pipa dihidupkan dan jumlah microbatch lebih besar dari satu, pembongkaran aktivasi adalah fitur tambahan yang selanjutnya dapat mengurangi penggunaan memori. Pembongkaran aktivasi secara asinkron memindahkan aktivasi checkpoint yang sesuai dengan microbatchnya yang saat ini tidak berjalan di. CPU Tepat sebelum GPU membutuhkan aktivasi untuk backward pass microbatch, fungsi ini mengambil kembali aktivasi yang diturunkan dari. CPU

catatan

Fitur ini tersedia untuk PyTorch di pustaka paralelisme SageMaker model v1.6.0 dan yang lebih baru.

Cara Menggunakan Pembongkaran Aktivasi

Gunakan pembongkaran aktivasi untuk mengurangi penggunaan memori ketika jumlah microbatch lebih besar dari 1, dan pos pemeriksaan aktivasi diaktifkan (lihat). Aktivasi Checkpointing Ketika checkpointing aktivasi tidak digunakan, pembongkaran aktivasi tidak berpengaruh. Ketika digunakan hanya dengan satu microbatch, itu tidak menghemat memori.

Untuk menggunakan pembongkaran aktivasi, atur "offload_activations": True dalam modelparallel konfigurasi.

Pembongkaran aktivasi memindahkan aktivasi checkpoint dalam nn.Sequential modul ke asinkron. CPU Transfer data melalui PCIe tautan tumpang tindih dengan GPU perhitungan. Pembongkaran terjadi segera, segera setelah pass maju untuk lapisan checkpoint tertentu dihitung. Aktivasi dimuat kembali ke GPU sesaat sebelum diperlukan untuk lintasan mundur dari microbatch tertentu. GPUTransfer CPU - sama tumpang tindih dengan perhitungan.

Untuk menyesuaikan seberapa awal aktivasi dimuat kembali ke dalamGPU, Anda dapat menggunakan parameter konfigurasi "activation_loading_horizon" (default diatur ke 4, harus int lebih besar dari 0). Cakrawala pemuatan aktivasi yang lebih besar akan menyebabkan aktivasi dimuat kembali ke GPU sebelumnya. Jika cakrawala terlalu besar, dampak penghematan memori dari pembongkaran aktivasi mungkin berkurang. Jika cakrawala terlalu kecil, aktivasi mungkin tidak dimuat kembali ke masa lalu, mengurangi jumlah tumpang tindih dan menurunkan kinerja.

Tip

Pembongkaran aktivasi dapat berguna untuk model besar dengan lebih dari seratus miliar parameter.

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, "offload_activations": True, "activation_loading_horizon": 4 # optional. default is 4. } }