DLC adalah platform pelatihan pembelajaran mendalam cloud-native yang terintegrasi, menyediakan lingkungan pelatihan pembelajaran mesin yang fleksibel, stabil, mudah digunakan, dan berkinerja tinggi bagi pengembang serta perusahaan. Topik ini menjelaskan cara mengirim pekerjaan pelatihan terdistribusi bertipe MPIJob di DLC menggunakan mpirun atau DeepSpeed.
Prasyarat
Anda telah mengaktifkan penagihan pay-as-you-go untuk DLC dan membuat ruang kerja default. Untuk informasi selengkapnya, lihat Aktifkan PAI dan buat ruang kerja default.
Anda telah membeli sumber daya Lingjun Intelligent Computing dan membuat kuota sumber daya. Untuk informasi selengkapnya, lihat Buat kuota sumber daya.
Batasan
Anda hanya dapat mengirim pekerjaan ini di wilayah China (Ulanqab) menggunakan sumber daya Lingjun Intelligent Computing.
Kirim pekerjaan pelatihan MPIJob
Untuk mengirim pekerjaan pelatihan terdistribusi, ikuti langkah-langkah berikut:
Langkah 1: Siapkan sumber kode Anda
Buat code build menggunakan repositori contoh resmi DeepSpeed. Konfigurasikan parameter utama yang tercantum di bawah ini dan gunakan konfigurasi default untuk semua parameter lainnya. Untuk informasi selengkapnya, lihat Konfigurasi kode.
Name: Masukkan nama kustom untuk code build Anda. Dalam contoh ini, gunakan deepspeed-examples.
Git URL:
https://github.com/microsoft/DeepSpeedExamples.git.
Langkah 2: Kirim pekerjaan pelatihan terdistribusi
Anda dapat mengirim pekerjaan pelatihan terdistribusi dengan salah satu metode berikut:
Menggunakan mpirun
Buka halaman Create Job.
Login ke PAI console. Di bagian atas halaman, pilih wilayah tujuan dan ruang kerja target Anda, lalu klik Enter DLC.
Pada halaman Deep Learning Containers (DLC), klik Create Job.
Pada halaman Create Job, konfigurasikan parameter utama yang tercantum dalam tabel di bawah ini. Untuk informasi selengkapnya mengenai parameter lainnya, lihat Buat pekerjaan pelatihan.
Parameter
Deskripsi
Environment Information
Image Configuration
Solusi ini menyediakan citra runtime uji coba. Klik Image URL, lalu masukkan
dsw-registry-vpc.<RegionID>.cr.aliyuncs.com/pai-common/deepspeed-training:23.08-gpu-py310-cu122-ubuntu22.04ke dalam kotak teks untuk mengirim tugas pelatihan terdistribusi MPIJob. Pada alamat ini,<RegionID>harus diganti dengan ID wilayah, misalnya China (Ulanqab) adalahcn-wulanchabu. Untuk informasi selengkapnya mengenai ID wilayah, lihat Wilayah dan Zona.Startup Command
Perintah skrip yang dijalankan pada setiap pod dalam pekerjaan terdistribusi. Solusi ini menggunakan pengaturan variabel lingkungan sistem default. Anda juga dapat menetapkan variabel lingkungan dalam perintah startup untuk mengganti nilai default tersebut. Untuk informasi selengkapnya, lihat Variabel lingkungan sistem.
cd /root/code/DeepSpeedExamples/training/cifar/ # -np 2 -npernode 1 berarti menggunakan 2 node, dengan 1 GPU per node, total 2 GPU. mpirun -np 2 -npernode 1 --allow-run-as-root -bind-to none -map-by slot -x LD_LIBRARY_PATH -x PATH -mca pml ob1 -mca btl ^openib python /root/code/DeepSpeedExamples/training/cifar/cifar10_tutorial.pyCode Builds
Pilih Online configuration dan pilih konfigurasi kode yang sudah ada. Biarkan Mount path pada nilai default-nya.
Resource Information
Resource Type
Pilih Resource Quota.
CatatanAnda hanya dapat memilih tipe sumber daya jika ruang kerja Anda mendukung baik sumber daya Lingjun Intelligent Computing maupun sumber daya komputasi umum untuk mengirim pekerjaan DLC.
Source
Pilih Resource Quota.
Resource Quota
Pilih kuota sumber daya Lingjun Intelligent Computing yang sudah ada.
Framework
Pilih MPI.
Job Resource
Tetapkan Number of Nodes menjadi 2.
Tetapkan vCPUs menjadi 4.
Tetapkan GPUs menjadi 1.
Tetapkan Memory (GiB) menjadi 8.
Tetapkan Shared Memory (GiB) menjadi 8.
Driver Settings
Saat menggunakan citra uji coba yang disediakan di atas, kami merekomendasikan memilih versi driver 535.54.03.
CatatanPengaturan driver saat ini hanya didukung untuk tipe sumber daya Lingjun Intelligent Computing.
Klik OK.
Menggunakan DeepSpeed (pdsh)
Saat menggunakan metode ini, konfigurasikan Startup Command seperti yang ditunjukkan di bawah ini. Konfigurasikan semua parameter lainnya sama seperti pada metode mpirun.
cd /root/code/DeepSpeedExamples/training/pipeline_parallelism
deepspeed --hostfile /etc/mpi/hostfile train.py --deepspeed_config=ds_config.json -p 2 --steps=200Jika Anda menggunakan custom image untuk menjalankan pekerjaan DeepSpeed, instal library MPIJob dan DeepSpeed yang diperlukan dalam image tersebut. Atau, tarik image DeepSpeed resmi dari DockerHub. Image tersebut telah mencakup semua library MPIJob dan DeepSpeed yang diperlukan secara preinstalled.
Solusi ini menggunakan pengaturan variabel lingkungan sistem default. Anda juga dapat menetapkan variabel lingkungan dalam perintah startup untuk mengganti nilai default tersebut. Untuk informasi selengkapnya, lihat Variabel lingkungan sistem.
Langkah 3: Lihat detail pekerjaan dan log
Setelah pekerjaan berhasil dikirim, buka halaman Deep Learning Containers (DLC) dan klik nama pekerjaan tersebut.
Pada halaman detail pekerjaan, lihat informasi dasar dan status eksekusi pekerjaan.
Di bagian bawah halaman detail tugas, pada bagian Instance, klik Log di kolom Actions untuk instance launcher guna melihat status eksekusi pekerjaan.

Variabel lingkungan sistem
Dalam pekerjaan terdistribusi MPI, terdapat dua peran: Launcher dan Worker. Kedua peran ini harus berkomunikasi selama pelatihan. Di DLC, variabel lingkungan default telah ditetapkan untuk peran Launcher. Anda juga dapat menetapkan variabel lingkungan dalam perintah startup Anda untuk mengganti nilai default tersebut, sesuai dengan skenario spesifik Anda.
Variabel lingkungan | Deskripsi | Nilai default | Skenario |
OMPI_MCA_btl_tcp_if_include | Menentukan network interface controller (NIC) yang digunakan untuk komunikasi antara Launcher dan Worker. Pisahkan beberapa NIC dengan koma. | eth0 | Berlaku saat menggunakan mpirun untuk meluncurkan pekerjaan. |
OMPI_MCA_orte_default_hostfile | Menentukan hostfile untuk perintah mpirun. Di PAI-DLC, hostfile dihasilkan secara otomatis. Anda tidak perlu mengeditnya secara manual. |
| |
OMPI_MCA_plm_rsh_agent | Menentukan cara Launcher menjalankan tugas Worker secara remote. |
| |
PDSH_RCMD_TYPE | Tipe perintah remote untuk PDSH. | ssh | Berlaku saat menggunakan DeepSpeed untuk meluncurkan pekerjaan. |