Dalam komputasi paralel AI model besar, Anda dapat mengoptimalkan kinerja dengan mengurangi overhead komunikasi, menumpangkan komputasi dengan komunikasi, serta meningkatkan efisiensi komunikasi. Konfigurasikan jaringan berkinerja tinggi pada Sumber daya komputasi cerdas Lingjun untuk mencapai tujuan tersebut.
Batasan
Konfigurasi ini hanya berlaku untuk pekerjaan pelatihan yang menggunakan Sumber daya komputasi cerdas Lingjun.
Konfigurasi variabel jaringan berkinerja-tinggi
PAI pada Sumber daya komputasi cerdas Lingjun telah mengaktifkan RDMA dan menyediakan variabel lingkungan NCCL optimal yang telah dikonfigurasi sebelumnya. Anda dapat menggunakan nilai default tersebut atau menyesuaikannya sesuai framework pelatihan, framework komunikasi, dan model yang digunakan.
Variabel default
Tabel berikut mencantumkan variabel default yang telah dikonfigurasi sebelumnya untuk berbagai spesifikasi Lingjun.
|
Spesifikasi Lingjun |
Variabel NCCL |
|
|
Lihat Deskripsi variabel lingkungan untuk detail setiap variabel lingkungan NCCL.
Variabel lingkungan
Tabel berikut menjelaskan variabel lingkungan NCCL utama. Untuk variabel lainnya, lihat dokumentasi NCCL.
|
Variabel |
Deskripsi |
|
NCCL_IB_TC |
Sesuai dengan aturan pemetaan jaringan Alibaba Cloud. Nilai yang salah atau tidak ada akan menurunkan kinerja. |
|
NCCL_IB_GID_INDEX |
Nilai yang tidak ada atau salah menyebabkan error NCCL. |
|
NCCL_SOCKET_IFNAME |
Antarmuka jaringan yang digunakan untuk membuat koneksi, yang bervariasi tergantung spesifikasi Lingjun. Nilai yang tidak ada atau salah dapat menyebabkan kegagalan koneksi NCCL. |
|
NCCL_DEBUG |
Mengatur tingkat log. Atur ke INFO untuk mendapatkan log NCCL terperinci yang mempermudah troubleshooting. |
|
NCCL_IB_HCA |
Network interface controller (NIC) untuk komunikasi RDMA. Nilai yang diperlukan bervariasi tergantung node komputasi. Nilai yang salah atau tidak ada akan menurunkan kinerja. |
|
NCCL_IB_TIMEOUT |
Menambah timeout koneksi RDMA untuk meningkatkan toleransi kesalahan. Nilai yang salah atau tidak ada dapat mengganggu pekerjaan pelatihan. |
|
NCCL_IB_QPS_PER_CONNECTION |
Menambah jumlah Queue Pairs (QPs) per koneksi dapat meningkatkan throughput. |
Konfigurasi image
Untuk pekerjaan pelatihan pada Sumber daya komputasi cerdas Lingjun, Anda dapat menggunakan image DLC resmi atau custom image.
Image resmi
Tersedia tiga image pelatihan GPU resmi: deepspeed-training:23.06-gpu-py310-cu121-ubuntu22.04, megatron-training:23.06-gpu-py310-cu121-ubuntu22.04, dan nemo-training:23.06-gpu-py310-cu121-ubuntu22.04. Semuanya di-host di wilayah China (Ulanqab) dan menggunakan Ubuntu 22.04, Python 3.10, serta CUDA 12.1. Image-image tersebut mencakup PyTorch 2.1, Megatron-LM 23.06, DeepSpeed 0.9.5, Transformers 4.29.2, dan Nemo 1.19.0.
Custom image
Persyaratan lingkungan
-
CUDA >= 11.2
-
NCCL >= 2.12.10
-
Python 3
Instal library RDMA
Untuk custom image, Anda harus menginstal library RDMA secara manual. Tambahkan perintah berikut ke Dockerfile Anda:
RUN apt-get update && \
apt-get install -y --allow-downgrades --allow-change-held-packages --no-install-recommends libnl-3-dev libnl-route-3-dev libnl-3-200 libnl-route-3-200 iproute2 udev dmidecode ethtool && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN cd /tmp/ && \
wget http://pythonrun.oss-cn-zhangjiakou.aliyuncs.com/rdma/nic-libs-mellanox-rdma-5.2-2/nic-lib-rdma-core-installer-ubuntu.tar.gz && \
tar xzvf nic-lib-rdma-core-installer-ubuntu.tar.gz && \
cd nic-lib-rdma-core-installer-ubuntu && \
echo Y | /bin/bash install.sh && \
cd .. && \
rm -rf nic-lib-rdma-core-installer-ubuntu && \
rm -f nic-lib-rdma-core-installer-ubuntu.tar.gz
Topik terkait
Untuk mempelajari cara mengirim pekerjaan pelatihan pada Sumber daya komputasi cerdas Lingjun, lihat Buat pekerjaan pelatihan.