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

Platform For AI:MPIJob トレーニング タスクのクイック送信

最終更新日:Feb 11, 2026

DLC は、クラウドネイティブでワンストップのディープ ラーニング学習プラットフォームです。開発者および企業向けに、柔軟性・安定性・使いやすさ・パフォーマンス専有型を兼ね備えた機械学習学習環境を提供します。本トピックでは、DLC を使用して MPIJob 型の分散学習タスクを mpirun または DeepSpeed のいずれかの方法で送信する手順について説明します。

前提条件

制限事項

本タスクは、中国 (ウランチャブ) リージョンでのみ、Lingjun Intelligent Computing リソースを使用して送信できます。

MPIJob トレーニング タスクの送信

分散学習タスクを送信するには、以下の手順に従ってください。

ステップ 1:コードソースの準備

公式 DeepSpeed のサンプルリポジトリを使用して、コードビルドを作成します。以下に示す主要なパラメーターを設定してください。その他のパラメーターはすべてデフォルト構成のままとします。詳細については、「コード構成」をご参照ください。

  • 名前:コードビルドのカスタム名を入力します。本例では deepspeed-examples を使用します。

  • Git URLhttps://github.com/microsoft/DeepSpeedExamples.git

ステップ 2:分散学習タスクの送信

分散学習タスクは、以下のいずれかの方法で送信できます。

mpirun を使用する方法

  1. Create Jobページへ移動します。

    1. PAI コンソールにログインします。ページ上部でターゲットリージョンと対象ワークスペースを選択し、「Enter DLC」をクリックします。

    2. Deep Learning Containers (DLC) ページで、Create Jobをクリックします。

  2. Create Jobページで、下表に示す主要なパラメーターを設定します。その他のパラメーターの詳細については、「学習タスクの作成」をご参照ください。

    パラメーター

    説明

    Environment Information

    Image Configuration

    本ソリューションではテスト用ランタイムイメージが提供されます。「Image URL」をクリックし、テキストボックスに dsw-registry-vpc.<RegionID>.cr.aliyuncs.com/pai-common/deepspeed-training:23.08-gpu-py310-cu122-ubuntu22.04 を入力して MPIJob 分散学習タスクを送信します。このアドレス内の <RegionID> はリージョン ID に置き換える必要があります(例:中国 (ウランチャブ) の場合、cn-wulanchabu)。リージョン ID の一覧については、「リージョンとゾーン」をご参照ください。

    Startup Command

    分散タスクの各 Pod で実行されるスクリプトコマンドです。本ソリューションではデフォルトのシステム環境変数設定を使用します。また、起動コマンド内で環境変数を設定することで、デフォルト値をオーバーライドすることも可能です。詳細については、「システム環境変数」をご参照ください。

    cd /root/code/DeepSpeedExamples/training/cifar/
    
    # -np 2 -npernode 1 は、ノード数 2、ノードあたり GPU 数 1(合計 GPU 数 2)を意味します。
    mpirun -np 2 -npernode 1  --allow-run-as-root -bind-to none -map-by slot -x LD_LIBRARY_PATH -x PATH -mca pml ob1 -mca btl ^openib python /root/code/DeepSpeedExamples/training/cifar/cifar10_tutorial.py

    Code Builds

    Online configurationを選択し、既存のコード構成を選択します。Mount pathはデフォルト値のままとします。

    Resource Information

    Resource Type

    Resource Quotaを選択します。

    説明

    ワークスペースが Lingjun Intelligent Computing リソースおよび汎用コンピューティングリソースの両方をサポートしている場合にのみ、リソースタイプを選択できます。

    Source

    Resource Quotaを選択します。

    Resource Quota

    既存の Lingjun Intelligent Computing リソースクォータを選択します。

    Framework

    MPI を選択します。

    Job Resource

    • Number of Nodesを 2 に設定します。

    • vCPUsを 4 に設定します。

    • GPUsを 1 に設定します。

    • Memory (GiB)を 8 に設定します。

    • Shared Memory (GiB)を 8 に設定します。

    Driver Settings

    上記のテストイメージを使用する場合、ドライバーのバージョンとして 535.54.03 を選択することを推奨します。

    説明

    ドライバー設定は、現在 Lingjun Intelligent Computing リソースタイプでのみサポートされています。

  3. OK をクリックします。

DeepSpeed (pdsh) を使用する方法

本方法を使用する場合、Startup Command を以下のように設定します。その他のパラメーターは、mpirun 方法と同様に設定します。

cd /root/code/DeepSpeedExamples/training/pipeline_parallelism

deepspeed --hostfile /etc/mpi/hostfile train.py --deepspeed_config=ds_config.json -p 2 --steps=200
説明

DeepSpeed タスクを実行するためにカスタムイメージを使用する場合は、イメージ内に必要な MPIJob および DeepSpeed ライブラリを事前にインストールしてください。あるいは、DockerHub から公式 DeepSpeed イメージをプルすることも可能です。このイメージには、必要な MPIJob および DeepSpeed ライブラリがすべて事前にインストールされています。

本ソリューションではデフォルトのシステム環境変数設定を使用します。また、起動コマンド内で環境変数を設定することで、デフォルト値をオーバーライドすることも可能です。詳細については、「システム環境変数」をご参照ください。

ステップ 3:タスクの詳細とログの確認

  1. タスクの送信が正常に完了した後、Deep Learning Containers (DLC) ページへ移動し、タスク名をクリックします。

  2. タスク詳細ページで、タスクの基本情報および実行ステータスを確認します。

  3. タスク詳細ページの下部にある Instance セクションで、Launcher インスタンスの LogActions 列からクリックし、タスクの実行ステータスを確認します。image

システム環境変数

MPI 分散タスクでは、Launcher と Worker の 2 つのロールがあります。これらのロールは学習中に通信を行う必要があります。DLC では、Launcher ロールに対してデフォルトの環境変数がすでに設定されています。また、特定のシナリオに応じて、起動コマンド内で環境変数を設定してデフォルト値をオーバーライドすることも可能です。

環境変数

説明

デフォルト値

適用シナリオ

OMPI_MCA_btl_tcp_if_include

Launcher と Worker 間の通信に使用するネットワークインターフェースコントローラー (NIC) を指定します。複数の NIC を指定する場合は、カンマで区切ります。

eth0

mpirun を使用してタスクを起動する場合に適用されます。

OMPI_MCA_orte_default_hostfile

mpirun コマンドで使用する hostfile を指定します。PAI-DLC では hostfile が自動生成されるため、手動での編集は不要です。

/etc/mpi/hostfile

OMPI_MCA_plm_rsh_agent

Launcher がリモートで Worker タスクを起動する方法を指定します。

/etc/mpi/kubexec.sh

PDSH_RCMD_TYPE

PDSH のリモートコマンドタイプを指定します。

ssh

DeepSpeed を使用してタスクを起動する場合に適用されます。