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 secara manual dan mengonfigurasi lingkungan runtime, sehingga Anda dapat menggunakannya tanpa mengubah alur kerja yang sudah ada. Topik ini menggunakan tugas pengenalan tulisan tangan MNIST sebagai contoh untuk menunjukkan cara menggunakan DLC dalam pelatihan single-node single-GPU dan pelatihan terdistribusi multi-node multi-GPU.
Pengenalan 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).

Prasyarat
Aktifkan PAI dan buat ruang kerja menggunakan Akun Alibaba Cloud Anda. Masuk ke Konsol PAI. Di pojok kiri atas, pilih Wilayah. Kemudian, berikan izin yang diperlukan dan aktifkan Produk tersebut.
Billing
Contoh dalam topik ini menggunakan Sumber daya publik untuk membuat Pekerjaan DLC. Metode penagihannya adalah pay-as-you-go. Untuk informasi selengkapnya tentang aturan penagihan, 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, klik Datasets > Custom Datasets > Create Dataset.
Konfigurasikan parameter dataset. Parameter utama dijelaskan di bawah ini. Anda dapat menggunakan nilai default untuk parameter lainnya.
Name: Misalnya,
dataset_mnist.Storage Type: Alibaba Cloud Object Storage Service (OSS).
OSS Path: Klik ikon
, pilih Bucket, lalu buat folder baru, misalnya dlc_mnist.Jika Anda belum mengaktifkan OSS atau tidak tersedia bucket 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 kode pelatihan yang disediakan dengan mengklik mnist_train.py. Untuk menyederhanakan proses, kode dikonfigurasi agar secara otomatis mengunduh data pelatihan ke folder dataSet dataset saat waktu proses.
Untuk penggunaan produksi, Anda dapat mengunggah kode dan data pelatihan ke dataset PAI terlebih dahulu.
Unggah kode. Di halaman detail dataset, klik View Data untuk membuka Konsol OSS. Lalu, klik Upload Object > Select Files > Upload Object untuk mengunggah kode pelatihan ke OSS.

Buat Pekerjaan DLC
Di panel navigasi sebelah kiri Konsol PAI, klik 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 tentang semua parameter, lihat Buat pekerjaan pelatihan.
Image config: Pilih Image Address dan masukkan URL citra untuk Region Anda.

Wilayah
URL Gambar
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
Wilayah lain
Temukan ID wilayah Anda dan ganti <Region ID> dalam URL citra untuk mendapatkan tautan 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 ini telah diverifikasi kompatibel dengan lingkungan di Panduan Cepat Pemodelan Interaktif (DSW). Alur kerja tipikal untuk pemodelan dengan PAI adalah terlebih dahulu memverifikasi lingkungan dan mengembangkan kode di DSW, lalu menggunakan DLC untuk pelatihan.
Mount dataset: Pilih Custom Dataset dan pilih dataset yang Anda buat pada langkah sebelumnya. Mount Path default adalah
/mnt/data.Startup Command:
python /mnt/data/mnist_train.pyPerintah mulai ini sama dengan yang digunakan saat menjalankan di DSW atau lokal. Namun, karena
mnist_train.pydipasang ke/mnt/data/, jalur kode harus diperbarui menjadi/mnt/data/mnist_train.py.Source: Pilih Public Resources. Untuk Resource Type, pilih
ecs.gn7i-c8g1.2xlarge.Jika spesifikasi instans ini habis stoknya, Anda dapat memilih instans GPU-accelerated lainnya.
Klik Confirm untuk membuat pekerjaan. Pekerjaan memerlukan waktu sekitar 15 menit untuk selesai. Anda dapat memantau proses pelatihan dengan mengklik Logs.

Setelah pekerjaan selesai, checkpoint model terbaik dan log TensorBoard disimpan ke path
outputdari dataset yang dipasang.
(Opsional) Tampilkan TensorBoard
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 tab TensorBoard lalu klik Create TensorBoard.

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

Deploy model yang telah dilatih
Untuk informasi selengkapnya, lihat Gunakan EAS untuk deploy model sebagai layanan online.
Pelatihan terdistribusi single-node multi-GPU atau multi-node multi-GPU
Jika memori video GPU tunggal 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 dan mengunggah kode mnist_train_distributed.py. Jika belum, Anda harus terlebih dahulu membuat dataset lalu mengunggah kode tersebut.
Buat Pekerjaan DLC
Di panel navigasi sebelah kiri Konsol PAI, klik Deep Learning Containers (DLC) > New Job.

Konfigurasikan parameter Pekerjaan DLC. Parameter utama dijelaskan di bawah ini. Anda dapat menggunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya tentang semua parameter, lihat Buat pekerjaan pelatihan.
Image config: Pilih Image Address dan masukkan URL citra untuk Region Anda.

Wilayah
URL Gambar
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
Wilayah lain
Temukan ID wilayah Anda dan ganti <Region ID> dalam URL citra untuk mendapatkan tautan 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 ini telah diverifikasi kompatibel dengan lingkungan di Panduan Cepat Pemodelan Interaktif (DSW). Alur kerja tipikal untuk pemodelan dengan PAI adalah terlebih dahulu memverifikasi lingkungan dan kode di DSW, lalu menggunakan DLC untuk pelatihan.
Mount dataset: Pilih Custom Dataset dan pilih dataset yang Anda buat pada langkah sebelumnya. 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_ADDR,WORLD_SIZE$VARIABLE_NAMESource: Pilih Public Resources. Atur Quantity menjadi 2. Untuk Resource Type, pilih
ecs.gn7i-c8g1.2xlarge.Jika spesifikasi instans ini habis stoknya, Anda dapat memilih instans GPU-accelerated lainnya.
Klik Confirm untuk membuat pekerjaan. Pekerjaan memerlukan waktu sekitar 10 menit untuk berjalan. Selama pekerjaan berjalan, Anda dapat melihat Log pelatihan untuk kedua instans di halaman Overview.

Setelah pekerjaan selesai, checkpoint model terbaik dan log TensorBoard disimpan ke path
output_distributeddari dataset yang dipasang.
(Opsional) Tampilkan TensorBoard
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 tab TensorBoard lalu klik Create TensorBoard.

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

Deploy model yang telah dilatih
Untuk informasi selengkapnya, lihat Gunakan EAS untuk deploy model sebagai layanan online.
Referensi
Untuk informasi selengkapnya tentang fitur DLC, lihat Deep Learning Containers (DLC).
