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

Platform For AI:DLC MNIST トレーニングのベストプラクティス

最終更新日:Sep 10, 2026

このトピックでは、DLC コンピューティングリソースでハイパーパラメータチューニングを行うための AutoML 実験を送信する方法について説明します。このソリューションは、PyTorch フレームワークとtorchvision.datasets.MNISTモジュールを使用して MNIST データセットを自動的にダウンロードしてロードし、モデルをトレーニングして最適なハイパーパラメータ設定を見つけます。スタンドアロン トレーニング、分散トレーニング、ネストされたパラメーターのトレーニングの 3 つのトレーニングモードから選択できます。

前提条件

ステップ1:データセットの作成

  1. スクリプトファイル mnist.py をお使いの OSS バケットにアップロードします。詳細については、「クイックスタート」をご参照ください。

  2. 実験のデータファイルを格納するための OSS データセットを作成します。詳細については、「データセットの作成と管理」をご参照ください。

    次の主要なパラメーターを設定し、その他のパラメーターはデフォルト設定のままにします。

    • データセット名:カスタムデータセット名を入力します。

    • データストレージの選択:スクリプトファイルが格納されている OSS ディレクトリを選択します。

    • プロパティプロパティ を選択します。

ステップ2:実験の作成

実験の作成 ページに移動し、次の手順で説明されている主要なパラメーターを設定します。その他のパラメーターの詳細については、「実験の作成」をご参照ください。設定が完了したら、コミット をクリックします。

  1. 実行設定を構成します。

    このソリューションは、スタンドアロン トレーニング、分散トレーニング、ネストされたパラメーターのトレーニングの 3 つのトレーニングモードを提供します。

    スタンドアロン トレーニング

    パラメーター

    説明

    タスクタイプ

    DLC を選択します。

    リソースグループ

    パブリックリソースグループ を選択します。

    フレーム

    [PyTorch] を選択します。

    データセット

    ステップ 1 で作成したデータセットを選択します。

    ノードイメージ

    PAI プラットフォームイメージ > pytorch-training:1.12PAI-gpu-py38-cu113-ubuntu20.04 を選択します。

    リソース仕様

    CPU > ecs.g6.4xlarge を選択します。

    ノード数

    1 に設定します。

    開始コマンド

    python3 /mnt/data/mnist.py --save_model=/mnt/data/examples/search/model/model_${exp_id}_${trial_id} --batch_size=${batch_size} --lr=${lr} に設定します。

    [Hyperparameters]

    • batch_size

      • 制約タイプ:choice を選択します。

      • 探索空間:image.png をクリックして、3 つの列挙値 (16、32、64) を追加します。

    • lr

      • 制約タイプ:choice を選択します。

      • 探索空間:image.png をクリックして、3 つの列挙値 (0.0001、0.001、0.01) を追加します。

    この設定により、9 つのハイパーパラメータの組み合わせが生成されます。実験は、組み合わせごとにトライアルを作成します。

    分散トレーニング

    パラメーター

    説明

    タスクタイプ

    DLC を選択します。

    リソースグループ

    パブリックリソースグループ を選択します。

    フレーム

    [PyTorch] を選択します。

    データセット

    ステップ 1 で作成したデータセットを選択します。

    ノードイメージ

    PAI プラットフォームイメージ > pytorch-training:1.12PAI-gpu-py38-cu113-ubuntu20.04 を選択します。

    リソース仕様

    CPU > ecs.g6.4xlarge を選択します。

    ノード数

    3 に設定します。

    開始コマンド

    python -m torch.distributed.launch --master_addr=$MASTER_ADDR --master_port=$MASTER_PORT --nproc_per_node=1 --nnodes=$WORLD_SIZE --node_rank=$RANK /mnt/data/mnist.py --data_dir=/mnt/data/examples/search/data --save_model=/mnt/data/examples/search/pai/model/model_${exp_id}_${trial_id} --batch_size=${batch_size} --lr=${lr} に設定します。

    [Hyperparameters]

    • batch_size

      • 制約タイプ:choice を選択します。

      • 探索空間:image.png をクリックして、3 つの列挙値 (16、32、64) を追加します。

    • lr

      • 制約タイプ:choice を選択します。

      • 探索空間:image.png をクリックして、3 つの列挙値 (0.0001、0.001、0.01) を追加します。

    この設定により、9 つのハイパーパラメータの組み合わせが生成されます。実験は、組み合わせごとにトライアルを作成します。

    ネストされたパラメーターのトレーニング

    パラメーター

    説明

    タスクタイプ

    DLC を選択します。

    リソースグループ

    パブリックリソースグループ を選択します。

    フレーム

    [PyTorch] を選択します。

    データセット

    ステップ 1 で作成したデータセットを選択します。

    ノードイメージ

    PAI プラットフォームイメージ > pytorch-training:1.12PAI-gpu-py38-cu113-ubuntu20.04 を選択します。

    リソース仕様

    CPU > ecs.g6.4xlarge を選択します。

    ノード数

    1 に設定します。

    開始コマンド

    python3 /mnt/data/mnist.py --save_model=/mnt/data/examples/search/pai/model/model_${exp_id}_${trial_id} --batch_size=${nested_params}.{batch_size} --lr=${nested_params}.{lr} --gamma=${gamma} に設定します。

    [Hyperparameters]

    • nested_params

      • 制約タイプ:choice を選択します。

      • 探索空間:image.png をクリックして、2 つの列挙値{"_name":"large","{lr}":{"_type":"choice","_value":[0.02,0.2]},"{batch_size}":{"_type":"choice","_value":[256,128]}}{"_name":"small","{lr}":{"_type":"choice","_value":[0.01,0.1]},"{batch_size}":{"_type":"choice","_value":[64,32]}}を追加します。

    • gamma

      • 制約タイプ:choice を選択します。

      • 探索空間:image.png をクリックして、3 つの列挙値 (0.8、0.7、0.9) を追加します。

    この設定により、24 のハイパーパラメータの組み合わせが生成されます。実験は、組み合わせごとにトライアルを作成します。

  2. トライアル設定を構成します。

    パラメーター

    説明

    [Metric]

    [Metric type]

    stdout を選択します。この設定は、実行中に標準出力 (stdout) から最終的なメトリクスを抽出します。

    [Method]

    best を選択します。

    [Metric weight]

    次の項目を設定します。

    • key:validation: accuracy=([0-9\\.]+)

    • Value:1

    [Metric source]

    コマンドキーワードを cmd1 に設定します。

    [Optimization direction]

    [Maximize] を選択します。

    [Model storage path]

    モデルを保存する OSS パスに設定します。このソリューションでは、oss://examplebucket/examples/search/pai/model/model_${exp_id}_${trial_id} と設定します。

  3. 探索設定を構成します。

    パラメーター

    説明

    [Search algorithm]

    TPE を選択します。アルゴリズムの詳細については、「サポートされている探索アルゴリズム」をご参照ください。

    [Maximum trials]

    3 に設定します。

    [Maximum concurrent trials]

    2 に設定します。

    [Enable early stopping]

    このスイッチをオンにすると、パフォーマンスの低いトライアルを早期に停止できます。

    [Start step]

    5 に設定します。トライアルは、少なくとも 5 回の評価を完了した後にのみ早期停止できます。

ステップ3:実験の詳細と結果の表示

  1. 実験リストで、実験名をクリックして [Experiment Details] ページを開きます。

    [Experiment Details] ページには 4 つの主要なエリアがあります。[Basic configuration] エリアには、実験 ID、名前、可視性、ステータス、作成者、作成時刻、更新時刻が表示されます。[Trial status statistics] エリアには、完了、失敗、実行中、またはその他の状態のトライアル数を示すドーナツグラフが表示されます。[Trial configuration] エリアには、メトリクスタイプ、計算方法、メトリクス加重の正規表現、メトリクスソース、モデルストレージパスが含まれます。最後に、[Search configuration] エリアには、探索アルゴリズム、最大トライアル数、最大同時トライアル数、最適化の方向、早期停止の設定が含まれます。

    このページでは、すべてのトライアルの進行状況とステータスを監視できます。実験は、探索アルゴリズムと最大トライアル数の設定に基づいて 3 つのトライアルを作成します。

  2. [Trials] タブをクリックします。実験で生成されたすべてのトライアルのリストを表示でき、各トライアルのステータス、最終メトリクス、ハイパーパラメータの組み合わせが含まれます。

関連ドキュメント