Luncurkan Pekerjaan dengan torchrun
Buat dan koordinasikan proses pekerja
Luncurkan Pekerjaan dengan torchrun adalah pelajaran Deep Learning Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Deep Learning Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Deep Learning Academy mencakup 4 pelajaran total.
Siapa yang Memulai Proses
DDP memerlukan satu proses per GPU, tetapi siapa yang membuatnya? Anda tidak perlu menjalankannya secara manual. torchrun adalah alat yang melakukannya untuk Anda.
Perkenalkan torchrun
torchrun adalah peluncur milik PyTorch. Anda memberinya skrip dan jumlah proses yang harus dimulai, lalu alat ini menangani koordinasinya.
torchrun --nproc_per_node=4 train.pyProses per Node
Opsi nproc_per_node menetapkan jumlah proses yang dibuat pada mesin ini. Biasanya jumlahnya sama dengan banyak GPU yang Anda miliki.
torchrun --nproc_per_node=8 train.pyVariabel Lingkungan Muncul
torchrun menyisipkan nilai-nilai penting sebagai variabel lingkungan: RANK, LOCAL_RANK, dan WORLD_SIZE. Skrip Anda membacanya untuk mengetahui identitas prosesnya.
import os
local_rank = int(os.environ["LOCAL_RANK"])Tanpa Mengatur Alamat Secara Manual
Peluncur lama mengharuskan Anda meneruskan rank secara manual. Dengan torchrun, proses rendezvous berlangsung otomatis, sehingga skrip Anda tetap rapi dan portabel.
Inisialisasi Membaca Lingkungan
Karena torchrun menetapkan variabel lingkungan, pemanggilan init_process_group Anda tidak memerlukan argumen selain backend. Semua nilai akan diambil secara otomatis.
import torch.distributed as dist
dist.init_process_group(backend="nccl")Skalakan ke Banyak Mesin
Untuk menggunakan banyak node, tambahkan nnodes dan rank node. Setiap mesin menjalankan perintah yang sama dengan id nodenya sendiri.
torchrun --nnodes=2 --node_rank=0 --nproc_per_node=4 train.pyArahkan ke Master
Di antara node, semua proses harus menemukan titik pertemuan. rdzv_endpoint memberikan host dan port tempat proses-proses tersebut melakukan rendezvous.
torchrun --rdzv_endpoint=host0:29500 train.pyBertahan dari Kerusakan Worker
torchrun mendukung pelatihan elastic: tetapkan jumlah node minimum dan maksimum, lalu pekerjaan dapat pulih jika sebuah worker terputus. 💪
torchrun --nnodes=1:4 --max_restarts=3 train.pyCatat dari Satu Rank
Setiap proses mencetak keluaran, sehingga log menjadi ramai. Batasi pencetakan dengan pemeriksaan rank agar hanya rank 0 yang melaporkan kemajuan.
if int(os.environ["RANK"]) == 0:
print("epoch done")Keseluruhan Resep
Polanya sederhana: tulis skrip DDP biasa, lalu jalankan dengan torchrun. Peluncur dan DDP akan menangani sisanya bersama-sama.
Pemeriksaan Singkat
Ingat kembali apa yang diberikan torchrun kepada skrip Anda.
Ringkasan
Anda telah mempelajari cara menjalankan pekerjaan dengan torchrun: menetapkan jumlah proses per node, membaca variabel lingkungan yang disisipkan, dan menskalakan ke banyak node dengan pemulihan elastis.
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Luncurkan Pekerjaan dengan torchrun” gratis?
Ya — teks lengkap “Luncurkan Pekerjaan dengan torchrun” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Deep Learning Academy, upgrade ke CoddyKit PRO. Kursus Deep Learning Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Luncurkan Pekerjaan dengan torchrun”?
Buat dan koordinasikan proses pekerja Kamu berlatih Deep Learning Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Deep Learning Academy?
Tidak diperlukan pengalaman sebelumnya. Deep Learning Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Luncurkan Pekerjaan dengan torchrun” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Deep Learning Academy ini?
Ya. Setiap pelajaran Deep Learning Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Paralelisme Data vs Model
- Dasar-Dasar DistributedDataParallel
- Norm Batch Tersinkronisasi dan State Terpecah
- Luncurkan Pekerjaan dengan torchrun