在大模型的AI並行計算中,通過降低通訊量、計算和通訊交疊、提升通訊效率來最佳化計算效能。本文介紹如何使用高效能網路進行配置,以實現上述目標。
使用限制
僅適用於基於靈駿智算資源提交的訓練任務。
配置高效能網路變數
PAI基於靈駿智算資源,已開啟RDMA特性並設定了最優NCCL變數。建議使用平台預置的預設變數以獲得較優效能。您也可以根據訓練架構、通訊架構以及模型特點進行必要的調整。
預設變數(平台預置)
根據不同的靈駿規格,平台已在系統中預置了預設變數,具體請參照下表內容:
靈駿規格 | NCCL變數 |
| |
關於NCCL變數的具體說明,請參見環境變數說明。
環境變數說明
NCCL關鍵環境變數的說明如下表所示,更多關於NCCL其他環境變數的說明,請參見NCCL連結。
關鍵環境變數 | 環境變數說明 |
NCCL_IB_TC | 匹配阿里雲網路映射規則,未配置或配置錯誤可能導致效能受損。 |
NCCL_IB_GID_INDEX | 提供推薦值,未配置或配置錯誤會導致NCCL報錯。 |
NCCL_SOCKET_IFNAME | 選擇正確的連接埠以建立串連,不同規格對連接埠的要求不同。未配置或配置錯誤可能會導致NCCL建連失敗。 |
NCCL_DEBUG | 通常將記錄層級設定為INFO,以獲得更多NCCL相關的日誌輸出,協助定位和解決潛在問題。 |
NCCL_IB_HCA | 指定RDMA通訊的網卡。不同算力節點下IBdev的數量和命名規則有所區別,未配置或配置錯誤可能導致效能受損。 |
NCCL_IB_TIMEOUT | 增加RDMA連線逾時時間,提升訓練任務的容錯效能,未配置或配置錯誤可能導致訓練任務中斷。 |
NCCL_IB_QPS_PER_CONNECTION | 適當增加每個串連的QP(Queue Pair)數量,有效提高網路吞吐率。 |
配置鏡像
基於靈駿智算類型的資源提交訓練任務時,您可以選擇使用阿里雲DLC提供的官方內建鏡像,或自行構建並使用自訂鏡像。
官方鏡像

自訂鏡像
您可以自行構建並使用自訂鏡像,注意事項如下:
環境要求
CUDA >= 11.2
NCCL >= 2.12.10
Python3
安裝RDMA庫
使用自訂鏡像時,需在Dockerfile中手動安裝RDMA庫。安裝RDMA庫的範例程式碼如下。
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相關文檔
使用靈駿智算資源提交訓練任務的具體操作步驟,請參見建立訓練任務。