Deep Learning Containers (DLC) memungkinkan Anda membuat pekerjaan pelatihan single-node atau terdistribusi secara cepat tanpa perlu menyediakan mesin atau mengonfigurasi lingkungan secara manual. Tutorial ini menjelaskan proses end-to-end untuk pelatihan single-node single-GPU dan multi-node multi-GPU menggunakan tugas pengenalan digit tulisan tangan MNIST.
Pengenalan digit tulisan tangan MNIST adalah tugas pengantar klasik dalam pembelajaran mendalam. Tujuannya adalah membangun model pembelajaran mesin untuk mengenali 10 digit tulisan tangan (0 hingga 9).
1. Prasyarat
Gunakan akun utama Anda untuk mengaktifkan PAI dan membuat ruang kerja. Masuk ke Konsol PAI, pilih Wilayah di pojok kiri atas, lalu ikuti petunjuk untuk memberikan izin dan mengaktifkan layanan.
2. Penagihan
Contoh dalam tutorial ini menggunakan Sumber daya publik untuk membuat Pekerjaan DLC, yang ditagih berdasarkan skema bayar sesuai penggunaan. Untuk informasi selengkapnya, lihat Penagihan Deep Learning Containers (DLC).
3. Pelatihan single-node, single-GPU
3.1 Membuat dataset
Dataset menyimpan kode pelatihan, data, dan artefak model Anda. Bagian ini menjelaskan cara menggunakan dataset berbasis Alibaba Cloud Object Storage Service (OSS).
Di panel navigasi sebelah kiri Konsol PAI, pilih Datasets > Custom Dataset > Create datasets.
Konfigurasikan parameter utama berikut dan gunakan nilai default untuk parameter lainnya.
Name: Misalnya, masukkan
dataset_mnist.Storage Type: Pilih OSS.
OSS Path: Klik ikon folder
, pilih bucket, lalu buat direktori 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 Confirm untuk membuat dataset.
Unggah kode dan data pelatihan.
Unduh skrip pelatihan yang disediakan: mnist_train.py. Untuk menyederhanakan proses, skrip ini secara otomatis mengunduh data pelatihan ke direktori dataSet dataset Anda selama waktu proses.
Untuk proyek Anda sendiri, Anda dapat mengunggah kode dan data pelatihan terlebih dahulu ke dataset PAI.
Unggah kode. Di halaman detail dataset, klik View Data untuk membuka Konsol OSS. Lalu, klik Upload Object >Select Files > Upload Object untuk mengunggah skrip pelatihan ke OSS.
3.2 Membuat Pekerjaan DLC
Di panel navigasi sebelah kiri Konsol PAI, pilih Deep Learning Containers (DLC) > Create Job.
Konfigurasikan parameter utama berikut dan gunakan nilai default untuk parameter lainnya. Untuk daftar lengkap parameter, lihat Buat pekerjaan pelatihan.
Image Configuration: Pilih Image Address, lalu masukkan alamat image yang sesuai untuk Region Anda.
Di bilah navigasi atas konsol, gunakan pemilih Region untuk memastikan wilayah saat ini, misalnya China (Hangzhou).
Region
Image address
China (Beijing)
dsw-registry-vpc.cn-beijing.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
China (Shanghai)
dsw-registry-vpc.cn-shanghai.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
China (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
Temukan ID wilayah Anda dan ganti <Region ID> pada alamat image 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
Image ini menggunakan lingkungan terverifikasi yang sama dari topik Memulai Pemodelan Interaktif DSW. Saat melakukan pemodelan dengan PAI, alur kerja tipikal adalah 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 adalah
/mnt/data.Startup Command:
python /mnt/data/mnist_train.pyPerintah startup sama seperti saat Anda menjalankan kode di DSW atau lokal. Namun, karena
mnist_train.pykini dipasang di/mnt/data/, Anda hanya perlu mengubah path kode menjadi/mnt/data/mnist_train.py.Source: Pilih Public Resources, lalu pilih
ecs.gn7i-c8g1.2xlargeuntuk Resource Type.Jika tipe instans ini kehabisan stok, Anda dapat memilih tipe instans GPU lainnya.
Klik OK untuk membuat pekerjaan. Pekerjaan memerlukan waktu sekitar 15 menit untuk dijalankan. Selama eksekusi, Anda dapat mengklik Logs untuk melihat progres pelatihan.
Log pelatihan menunjukkan bahwa model MNIST mencapai akurasi validasi 9.886/10.000 (sekitar 99%) pada Epoch 18. Saat status pekerjaan berubah menjadi Succeeded, log menampilkan output akhir:
Pelatihan selesai. writer.close().Setelah pekerjaan selesai, DLC menyimpan checkpoint model terbaik dan log TensorBoard ke path
outputdari dataset yang dipasang.Direktori
dlc_mnist/di bucket OSS Anda kini berisi subdirektoridataSet/untuk data pelatihan, subdirektorioutput/untuk artefak model, dan skripmnist_train.py.
3.3 (Opsional) tampilkan di TensorBoard
Anda dapat menggunakan alat visualisasi TensorBoard untuk melihat kurva loss dan lebih memahami proses pelatihan.
Untuk menggunakan TensorBoard pada Pekerjaan DLC, Anda harus mengonfigurasi dataset.
Di halaman detail Pekerjaan DLC, klik tab Tensorboard, lalu klik Create TensorBoard.
Atur Configuration Type menjadi By Task. Untuk Summary Path, masukkan path tempat SummaryWriter menyimpan data dalam kode pelatihan:
/mnt/data/output/runs/. Klik OK untuk memulai.Ini sesuai dengan potongan kode:
writer = SummaryWriter('/mnt/data/output/runs/mnist_experiment')Klik View TensorBoard untuk melihat kurva train_loss (loss set pelatihan) dan kurva validation_loss (loss set validasi).

3.4 Deploy model yang telah dilatih
Untuk informasi selengkapnya, lihat V. Gunakan EAS untuk deploy layanan model.
4. Pelatihan terdistribusi dengan beberapa GPU
Jika satu GPU tidak memiliki memori yang cukup untuk model Anda atau Anda ingin mempercepat pelatihan, buatlah pekerjaan pelatihan terdistribusi multi-GPU atau multi-node.
Bagian ini menggunakan dua instans, masing-masing dengan satu GPU, sebagai contoh. Prosedur yang sama berlaku untuk konfigurasi multi-GPU dan multi-node lainnya.
4.1 Persiapkan dataset dan skrip
Jika Anda telah membuat dataset di bagian 3. Pelatihan single-node, single-GPU, cukup unduh mnist_train_distributed.py dan unggah. Jika belum, pertama-tama 3.1 Buat dataset, lalu unggah kode tersebut.
4.2 Membuat Pekerjaan DLC terdistribusi
Di panel navigasi sebelah kiri Konsol PAI, pilih Deep Learning Containers (DLC) > Create Job.
Konfigurasikan parameter utama berikut dan gunakan nilai default untuk parameter lainnya. Untuk daftar lengkap parameter, lihat Buat pekerjaan pelatihan.
Image Configuration: Pilih Image Address, lalu masukkan alamat image yang sesuai untuk Region Anda.
Region
Image address
China (Beijing)
dsw-registry-vpc.cn-beijing.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
China (Shanghai)
dsw-registry-vpc.cn-shanghai.cr.aliyuncs.com/pai/modelscope:1.28.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04
China (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
Temukan ID wilayah Anda dan ganti <Region ID> pada alamat image 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
Image ini menggunakan lingkungan terverifikasi yang sama dari topik Memulai Pemodelan Interaktif DSW. Saat melakukan pemodelan dengan PAI, alur kerja tipikal adalah 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. Mount Path default 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_ADDRdanWORLD_SIZE, yang dapat Anda akses dengan sintaks$VARIABLE_NAME.Source: Pilih Public Resources, atur Number of Nodes menjadi 2, lalu pilih
ecs.gn7i-c8g1.2xlargeuntuk Resource Type.Jika tipe instans ini kehabisan stok, Anda dapat memilih tipe instans GPU lainnya.
Klik Confirm untuk membuat pekerjaan. Pekerjaan memerlukan waktu sekitar 10 menit untuk dijalankan. Selama eksekusi, Anda dapat melihat Log pelatihan untuk kedua instans di halaman Overview.
Setelah pekerjaan selesai, DLC menyimpan checkpoint model terbaik dan log TensorBoard ke path
output_distributeddari dataset yang dipasang.
4.3 (Opsional) tampilkan di TensorBoard
Anda dapat menggunakan alat visualisasi TensorBoard untuk melihat kurva loss dan lebih memahami proses pelatihan.
Untuk menggunakan TensorBoard pada Pekerjaan DLC, Anda harus mengonfigurasi dataset.
Di halaman detail Pekerjaan DLC, klik tab TensorBoard, lalu klik Create TensorBoard.
Atur Configuration Type menjadi By Task. Untuk Summary Path, masukkan path tempat kode pelatihan menyimpan file ringkasan:
/mnt/data/output_distributed/runs. Klik OK untuk memulai.Ini sesuai dengan potongan kode:
writer = SummaryWriter('/mnt/data/output_distributed/runs/mnist_experiment')Klik View TensorBoard untuk melihat kurva train_loss (loss set pelatihan) dan kurva validation_loss (loss set validasi).

4.4 Deploy model yang telah dilatih
Untuk informasi selengkapnya, lihat V. Deploy layanan model menggunakan EAS.
5. Informasi terkait
Untuk informasi selengkapnya tentang fitur DLC, lihat Deep Learning Containers (DLC).