基盤モデルの並列計算では、通信トラフィック量を削減し、計算と通信をオーバーラップさせ、通信効率を向上させることで、計算パフォーマンスを最適化できます。このトピックでは、高パフォーマンスネットワークを構成する方法について説明します。
制限事項
このトピックは、Lingjun リソースを使用するトレーニングジョブにのみ適用されます。
高パフォーマンスネットワーク変数の構成
Platform for AI (PAI) の Lingjun リソースは、Remote Direct Memory Access (RDMA) ネットワークを使用し、NVIDIA Collective Communications Library (NCCL) 環境変数に最適な設定を採用しています。最適なパフォーマンスを実現するために、PAI のデフォルト変数を使用することをお勧めします。トレーニングフレームワーク、通信フレームワーク、およびモデルの機能に基づいて変数を構成することもできます。
既定の 変数 (PAI)
次の表に、さまざまな Lingjun の仕様に基づいた、PAI のデフォルトの NCCL 変数の設定を示します。
Lingjun の仕様 | NCCL 環境変数 |
| |
詳細については、このトピックの「NCCL 環境変数」セクションをご参照ください。
NCCL 環境変数
次の表に、主要な NCCL 環境変数を示します。その他の環境変数については、NCCL ドキュメントをご参照ください。
主要な NCCL 環境変数 | 説明 |
NCCL_IB_TC | Alibaba Cloud で使用されるネットワークマッピングルールに一致するトラフィック分類ルール。この変数を構成しない場合、または無効な値を指定した場合、ネットワークパフォーマンスに悪影響を与える可能性があります。 |
NCCL_IB_GID_INDEX | 最適なグローバル ID インデックス。この変数を構成しない場合、または無効な値を指定した場合、NCCL でエラーが発生します。 |
NCCL_SOCKET_IFNAME | NCCL が接続の確立に使用するネットワークインターフェース。この変数の推奨値は、Lingjun の仕様によって異なります。この変数を構成しない場合、または無効な値を指定した場合、NCCL は接続を確立できない可能性があります。 |
NCCL_DEBUG | NCCL デバッグ情報のレベル。より多くの NCCL 関連ログを取得するために、この変数を INFO に設定することをお勧めします。これは、パフォーマンスの問題のトラブルシューティングに役立ちます。 |
NCCL_IB_HCA | RDMA 通信に使用できる InfiniBand デバイス。InfiniBand デバイスの数と命名規則は、計算ノードによって異なります。この変数を指定しない場合、または無効な値を指定した場合、ネットワークパフォーマンスに悪影響を与える可能性があります。 |
NCCL_IB_TIMEOUT | RDMA 接続を確立するためのタイムアウト期間。この変数の値を増やすと、トレーニングジョブのフォールトトレランスを向上させることができます。この変数を指定しない場合、または無効な値を指定した場合、トレーニングジョブが中断される可能性があります。 |
NCCL_IB_QPS_PER_CONNECTION | 各接続のキューペアの数。この変数の値を増やすと、ネットワークスループットを効果的に向上させることができます。 |
イメージの構成
DLC が提供する公式イメージを使用して、Lingjun リソースを使用するトレーニングジョブを送信できます。カスタムイメージを使用してトレーニングジョブを送信することもできます。
公式イメージ

カスタムイメージ
カスタムイメージを作成して使用できます。次の項目に注意してください。
環境要件
Compute Unified Device Architecture (CUDA) 11.2 以降が使用されています。
NCCL 2.12.10 以降が使用されています。
Python 3 が使用されています。
RDMA ライブラリのインストール
カスタムイメージを使用するには、カスタムイメージの Dockerfile に 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関連情報
Lingjun リソースを使用するトレーニングジョブの送信方法については、「トレーニングジョブの送信」をご参照ください。