大模型AI並行計算需要通過降低通訊量、計算與通訊交疊、提升通訊效率來最佳化效能。RDMA(遠端直接記憶體存取)可顯著降低網路延遲,適用於靈駿智算資源上的分布式訓練任務。
使用限制
僅適用於基於靈駿智算資源提交的訓練任務。
配置高效能網路變數
PAI已在靈駿智算資源上開啟RDMA特性並預置了最優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提供的官方內建鏡像。
當前提供以下三種官方GPU訓練鏡像:
deepspeed-training:23.06-gpu-py310-cu121-ubuntu22.04
megatron-training:23.06-gpu-py310-cu121-ubuntu22.04
nemo-training:23.06-gpu-py310-cu121-ubuntu22.04
三種鏡像均包含PyTorch 2.1、Megatron-LM 23.06、DeepSpeed 0.9.5、Transformers 4.29.2、Nemo 1.19.0,CUDA 12.1,Ubuntu 22.04,Python 3.10,地區為華北6(烏蘭察布)。
相關文檔
使用靈駿智算資源提交訓練任務的具體操作步驟,請參見建立訓練任務。