すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:RDMA: 分散トレーニングのための高パフォーマンスネットワーク

最終更新日:Apr 11, 2025

基盤モデルの並列計算では、通信トラフィック量を削減し、計算と通信をオーバーラップさせ、通信効率を向上させることで、計算パフォーマンスを最適化できます。このトピックでは、高パフォーマンスネットワークを構成する方法について説明します。

制限事項

このトピックは、Lingjun リソースを使用するトレーニングジョブにのみ適用されます。

高パフォーマンスネットワーク変数の構成

Platform for AI (PAI) の Lingjun リソースは、Remote Direct Memory Access (RDMA) ネットワークを使用し、NVIDIA Collective Communications Library (NCCL) 環境変数に最適な設定を採用しています。最適なパフォーマンスを実現するために、PAI のデフォルト変数を使用することをお勧めします。トレーニングフレームワーク、通信フレームワーク、およびモデルの機能に基づいて変数を構成することもできます。

既定の 変数 (PAI)

次の表に、さまざまな Lingjun の仕様に基づいた、PAI のデフォルトの NCCL 変数の設定を示します。

Lingjun の仕様

NCCL 環境変数

  • ml.gu7xf.c96m1600.8-gu108

  • ml.gu7xf.8xlarge-gu108

  • ml.gu7ef.c96m1600.8-gu100

  • ml.gu8xf.8xlarge-gu108

export NCCL_IB_TC=136
export NCCL_IB_SL=5
export NCCL_IB_GID_INDEX=3
export NCCL_SOCKET_IFNAME=eth
export NCCL_DEBUG=INFO
export NCCL_IB_HCA=mlx5
export NCCL_IB_TIMEOUT=22
export NCCL_IB_QPS_PER_CONNECTION=8
export NCCL_NET_PLUGIN=none

詳細については、このトピックの「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 リソースを使用するトレーニングジョブを送信できます。カスタムイメージを使用してトレーニングジョブを送信することもできます。

公式イメージ

image.png

カスタムイメージ

カスタムイメージを作成して使用できます。次の項目に注意してください。

環境要件

  • 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 リソースを使用するトレーニングジョブの送信方法については、「トレーニングジョブの送信」をご参照ください。