Deep Learning Containers (DLC) memungkinkan Anda membuat pekerjaan pelatihan terdistribusi atau single-node dengan cepat. Dibangun di atas Kubernetes, DLC menghilangkan kebutuhan untuk membeli mesin atau mengonfigurasi lingkungan runtime secara manual. Anda dapat langsung menggunakan DLC tanpa mengubah alur kerja Anda. Topik ini menggunakan contoh pengenalan tulisan tangan MNIST untuk menunjukkan cara menggunakan DLC dalam pelatihan single-node single-GPU atau pelatihan terdistribusi multi-node multi-GPU.
Pengenalan tulisan tangan MNIST adalah salah satu tugas pengantar paling klasik dalam pembelajaran mendalam. Tujuannya adalah membangun model pembelajaran mesin untuk mengenali 10 digit tulisan tangan (0 hingga 9).

Prasyarat
Aktifkan PAI dan buat ruang kerja menggunakan akun root. Masuk ke Konsol PAI. Di pojok kiri atas, pilih Wilayah untuk mengaktifkan layanan tersebut. Kemudian, gunakan otorisasi satu klik untuk mengaktifkan Produk.
Deskripsi penagihan
Contoh dalam topik ini menggunakan Sumber daya publik untuk membuat Pekerjaan DLC. Metode penagihannya adalah pay-as-you-go. Untuk informasi selengkapnya, lihat Penagihan Deep Learning Containers (DLC).
Pelatihan single-node single-GPU
Buat dataset
Dataset menyimpan kode, data, dan hasil untuk pelatihan model. Topik ini menggunakan dataset Object Storage Service (OSS) sebagai contoh.
Di panel navigasi sebelah kiri Konsol PAI, pilih Datasets > Custom Dataset > Create datasets.

Konfigurasikan parameter dataset. Parameter utama dijelaskan di bawah ini. Anda dapat menggunakan nilai default untuk parameter lainnya.
Name: Misalnya,
dataset_mnistStorage Type: OSS
OSS Path: Klik ikon
, pilih bucket, lalu buat folder baru, misalnya dlc_mnist.Jika Anda belum mengaktifkan OSS atau tidak memiliki bucket yang tersedia di Wilayah saat ini, ikuti langkah-langkah berikut untuk mengaktifkan OSS dan membuat bucket:
Klik OK untuk membuat dataset.
Unggah kode dan data pelatihan.
Unduh kode pelatihan yang disediakan dalam topik ini. Klik mnist_train.py untuk mengunduh file tersebut. Untuk menyederhanakan proses, kode ini secara otomatis mengunduh data pelatihan ke folder dataSet dataset selama waktu proses.
Untuk proyek Anda sendiri, Anda dapat mengunggah kode dan data pelatihan ke dataset PAI terlebih dahulu.
Unggah kode. Di halaman detail dataset, klik View Data untuk menuju Konsol OSS. Lalu, klik Upload Object > Select Files > Upload Object untuk mengunggah kode pelatihan.

Buat Pekerjaan DLC
Di panel navigasi sebelah kiri Konsol PAI, pilih Deep Learning Containers (DLC) > Create Job.

Konfigurasikan parameter Pekerjaan DLC. Parameter utama dijelaskan di bawah ini. Anda dapat menggunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat pekerjaan pelatihan.
Image Configuration: Pilih Image Address. Lalu, masukkan alamat registri yang sesuai dengan Region Anda.

Region
Corresponding Registry Address
Beijing
dsw-registry-vpc.cn-beijing.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
Shanghai
dsw-registry-vpc.cn-shanghai.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
Hangzhou
dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
Other
Query the region ID dan ganti <Region ID> dalam alamat registri untuk mendapatkan URL lengkap:
dsw-registry-vpc.<Region ID>.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
Citra runtime ini telah diverifikasi kompatibel dengan lingkungan dalam Panduan Cepat Interactive Modelling (DSW). Biasanya, ketika Anda menggunakan PAI untuk pemodelan, Anda terlebih dahulu memverifikasi lingkungan dan mengembangkan kode di DSW, lalu menggunakan DLC untuk pelatihan.
Dataset Mount: Pilih Custom Dataset dan pilih dataset yang telah Anda buat pada langkah sebelumnya. Mount Path default-nya adalah
/mnt/data.Startup Command:
python /mnt/data/mnist_train.pyPerintah start ini sama dengan yang digunakan saat menjalankan di DSW atau lokal. Namun, karena
mnist_train.pysekarang dipasang di/mnt/data/, Anda harus mengubah path kode menjadi/mnt/data/mnist_train.py.Source: Pilih Public Resources. Untuk Resource Type, pilih
ecs.gn7i-c8g1.2xlarge.Jika tipe instans ini habis stoknya, Anda dapat memilih tipe instans GPU-accelerated lainnya.
Klik OK untuk membuat pekerjaan. Pekerjaan ini membutuhkan waktu sekitar 15 menit untuk dijalankan. Saat pekerjaan sedang berjalan, Anda dapat mengklik Logs untuk melihat proses pelatihan.

Setelah pekerjaan selesai, checkpoint model terbaik dan log TensorBoard dihasilkan di path
outputdari dataset yang dipasang.
Lihat TensorBoard (Opsional)
Anda dapat menggunakan alat visualisasi TensorBoard untuk melihat kurva loss dan memahami detail pelatihan.
Untuk menggunakan TensorBoard pada Pekerjaan DLC, Anda harus mengonfigurasi dataset.
Di halaman detail Pekerjaan DLC, klik Tensorboard > Create TensorBoard di bagian atas halaman.

Atur Configuration Type ke By Task. Di bidang Summary Path, masukkan path tempat ringkasan disimpan dalam kode pelatihan:
/mnt/data/output/runs/. Klik OK untuk memulai.Potongan kode yang sesuai:
writer = SummaryWriter('/mnt/data/output/runs/mnist_experiment')Klik View TensorBoard untuk melihat kurva train_loss, yang mencerminkan loss dataset pelatihan, dan kurva validation_loss, yang mencerminkan loss set validasi.

Deploy model yang telah dilatih
Untuk informasi selengkapnya, lihat Deploy model sebagai layanan online menggunakan EAS.
Pelatihan terdistribusi single-node multi-GPU atau multi-node multi-GPU
Jika VRAM satu GPU tidak mencukupi untuk kebutuhan pelatihan Anda, atau jika Anda ingin mempercepat proses pelatihan, Anda dapat membuat pekerjaan pelatihan terdistribusi single-node multi-GPU atau multi-node multi-GPU.
Topik ini menggunakan contoh dua instans, masing-masing dengan satu GPU. Contoh ini juga berlaku untuk konfigurasi lain untuk pelatihan single-node multi-GPU atau multi-node multi-GPU.
Buat dataset
Jika Anda telah membuat dataset selama pelatihan single-node single-GPU, Anda hanya perlu mengunduh kode mnist_train_distributed.py dan mengunggahnya. Jika belum, Anda harus terlebih dahulu membuat dataset lalu mengunggah kode tersebut.
Buat Pekerjaan DLC
Di panel navigasi sebelah kiri Konsol PAI, pilih Deep Learning Containers (DLC) > Create Job.

Konfigurasikan parameter Pekerjaan DLC. Parameter utama dijelaskan di bawah ini. Anda dapat menggunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat pekerjaan pelatihan.
Image Configuration: Pilih Image Address. Lalu, masukkan alamat registri yang sesuai dengan Region Anda.

Region
Registry Address
Beijing
dsw-registry-vpc.cn-beijing.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
Shanghai
dsw-registry-vpc.cn-shanghai.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
Hangzhou
dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
Other
Query the region ID dan ganti <Region ID> dalam alamat registri untuk mendapatkan URL lengkap:
dsw-registry-vpc.<Region ID>.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
Citra runtime ini telah diverifikasi kompatibel dengan lingkungan dalam Panduan Cepat Interactive Modelling (DSW). Biasanya, ketika Anda menggunakan PAI untuk pemodelan, Anda terlebih dahulu memverifikasi lingkungan dan mengembangkan kode di DSW, lalu menggunakan DLC untuk pelatihan.
Dataset Mount: Pilih Custom Dataset dan pilih dataset yang telah Anda buat pada langkah sebelumnya. Mount Path default-nya adalah
/mnt/data.Startup Command:
torchrun --nproc_per_node=1 --nnodes=${WORLD_SIZE} --node_rank=${RANK} --master_addr=${MASTER_ADDR} --master_port=${MASTER_PORT} /mnt/data/mnist_train_distributed.pyDLC secara otomatis menyuntikkan variabel lingkungan umum seperti
MASTER_ADDR,WORLD_SIZE$VARIABLE_NAMESource: Pilih Public Resources. Atur Number of Nodes ke 2. Untuk Resource Type, pilih
ecs.gn7i-c8g1.2xlarge.Jika tipe instans ini habis stoknya, Anda dapat memilih tipe instans GPU-accelerated lainnya.
Klik Confirm untuk membuat pekerjaan. Pekerjaan ini membutuhkan waktu sekitar 10 menit untuk dijalankan. Selama eksekusi, Anda dapat melihat Log pelatihan untuk kedua instans di halaman Overview.

Setelah pekerjaan selesai, checkpoint model terbaik dan log TensorBoard dihasilkan di path
output_distributeddari dataset yang dipasang.
Lihat TensorBoard (Opsional)
Anda dapat menggunakan alat visualisasi TensorBoard untuk melihat kurva loss dan memahami detail pelatihan.
Untuk menggunakan TensorBoard pada Pekerjaan DLC, Anda harus mengonfigurasi dataset.
Di halaman detail Pekerjaan DLC, klik TensorBoard > Create TensorBoard di bagian atas halaman.

Atur Configuration Type ke By Task. Di bidang Summary Path, masukkan path tempat ringkasan disimpan dalam kode pelatihan:
/mnt/data/output_distributed/runs. Klik OK untuk memulai.Potongan kode yang sesuai:
writer = SummaryWriter('/mnt/data/output_distributed/runs/mnist_experiment')Klik View TensorBoard untuk melihat kurva train_loss, yang mencerminkan loss dataset pelatihan, dan kurva validation_loss, yang mencerminkan loss set validasi.

Deploy model yang telah dilatih
Untuk informasi selengkapnya, lihat Deploy model sebagai layanan online menggunakan EAS.
Referensi
Untuk informasi selengkapnya, lihat Deep Learning Containers (DLC).
