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

Platform For AI:複数のインスタンスタイプの指定

最終更新日:Jul 22, 2024

Elastic Algorithm service (EAS) にサービスをデプロイするときに単一のインスタンスタイプのみを指定した場合、このタイプのリソースが不足し、サービスを作成できない可能性があります。 この問題に対処するために、EASではサービスの作成時に複数のインスタンスタイプを指定できます。 次に、システムは設定ファイルで指定したインスタンスタイプに基づいてリソースを準備します。 この方法では、単一のインスタンスタイプのみを指定するシナリオでリソースが不足する可能性を減らします。 このトピックでは、複数のインスタンスタイプを指定する方法について説明します。

前提条件

クライアントを使用して複数のインスタンスタイプを指定する場合は、EASCMDクライアントがインストールされており、ユーザー認証が完了していることを確認してください。 詳細については、「EASCMDクライアントのダウンロードとID認証の完了」をご参照ください。

制限事項

パブリックリソースグループにデプロイされたEASサービスに対してのみ、複数のインスタンスタイプを指定できます。

サービスのデプロイ時に複数のインスタンスタイプを指定する

コンソールでの設定

  1. [サービスの作成] ページに移動します。 詳細については、「PAIコンソールとMachine Learning Designerを使用したモデルサービスのデプロイ」をご参照ください。

  2. [サービスの作成] ページで、次のパラメーターを設定します。 その他のパラメーターの詳細については、「PAIコンソールとMachine Learning Designerを使用したモデルサービスのデプロイ」をご参照ください。 image..png

    パラメーター

    説明

    リソースグループタイプ

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

    リソース設定モード

    [詳細] を選択します。

    プリエンプティブルインスタンス保護期間

    この設定は、[リソースタイプ][スポット] に設定した場合にのみ有効になります。 有効な値:

    • 1時間の保護期間: プリエンプティブルインスタンスに1時間の保護期間を設定できます。 つまり、1時間の保護期間中、システムはインスタンスへのアクセスを保証します。

    • 保護期間なし: プリエンプティブルインスタンスには保護期間がありません。

    プリエンプティブインスタンスの詳細については、「EASプリエンプティブインスタンスのスポットインスタンス」をご参照ください。

    デプロイ

    • リソースタイプ: スポット共通がサポートされています。

    • ノードタイプ: 適切なノードタイプを選択します。

    • 入札価格: プリエンプティブルインスタンスにのみ入札価格を設定する必要があります。 システムは、入札価格に基づいてプリエンプティブルインスタンスに自動的に入札します。

      インスタンスの作成に必要なリソースが十分で、入札価格がインスタンスの市場価格以上の場合、インスタンスを作成できます。

    • 複数のインスタンスタイプを指定:

      アイコンをクリックしimage..pngて、複数のインスタンスタイプを指定できます。 最大5つのインスタンスタイプを追加できます。 リソースは、インスタンスタイプが設定されているシーケンスに基づいて開始されます。

  3. [デプロイ] をクリックします。サービスステータスが実行中に変わると、サービスがデプロイされます。

クライアントでの設定

このトピックでは、例としてWindows 64サーバーを使用します。

  1. クライアントが配置されているディレクトリに、service.jsonという名前のサービス構成ファイルを作成します。 サンプル内容:

    {
      "name": "service_example",
      "model_path": "http://examplebucket.aliyuncs.com/models%2Fmnist_saved_model.tar.gz",
      "processor": "tensorflow_cpu_1.12",
      "metadata": {
        "instance": 1,
      }
      "cloud": {
        "computing": {
          "instances": [
            {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00},
            {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00},
            {"type": "ecs.g7.2xlarge"},
            {"type": "ecs.g7.4xlarge"}
          ],
          "disable_spot_protection_period": true
        }
      }
    }

    次の表に、ファイルで必要な主要なパラメーターを示します。 その他のパラメーターの詳細については、「EASCMDクライアントを使用するコマンドの実行」をご参照ください。

    パラメーター

    説明

    インスタンス

    サービスインスタンスの数。 この例では、JSON設定ファイルで1つのインスタンスが指定されています。

    インスタンス

    インスタンスタイプ。 1つ以上のインスタンスタイプを指定できます。 最初のインスタンスタイプのリソースが不足している場合、システムは次のインスタンスタイプのリソースを準備します。

    • type: インスタンスタイプ。

    • spot_price_limit: プリエンプティブルインスタンスの最高入札価格。 このフィールドはオプションです。

      • このフィールドを指定すると、このフィールドで指定された値よりも低い価格のプリエンプティブインスタンスが使用されます。 単位: USD 従量課金の課金方法がサポートされています。

      • このフィールドが指定されていない場合、標準の従量課金インスタンスが使用されます。

    disable_spot_protection_期間

    インスタンス保護期間を無効にするかどうかを指定します。 デフォルト値:false 有効な値:

    • false: プリエンプティブルインスタンスの作成後、1時間の保護期間があります。 保護期間中、市場価格が入札価格よりも高い場合でも、インスタンスはサービスを提供します。

    • true: プリエンプティブルインスタンスには保護期間がありません。 保護期間のないインスタンスは、保護期間のあるインスタンスよりも10% に安価です。

  2. JSONファイルが配置されているディレクトリで次のコマンドを実行し、サービスを作成します。

    eascmdwin64.exe create <service.json>

    <service.json> を、作成したJSONファイルの名前に置き換えます。

デプロイされたサービスの設定を変更するときに複数のインスタンスタイプを指定する

コンソールで変更

  1. eElastic Algorithm Service (EAS)ページに移動します。

    1. PAIコンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 [ワークスペース] ページで、管理するワークスペースの名前をクリックします。

    3. 左側のナビゲーションウィンドウで、[モデル展開] > [Elastic Algorithm Service (EAS)] を選択します。 Elastic Algorithm Service (EAS) ページが表示されます。

  2. パブリックリソースグループにデプロイされているサービスを見つけ、サービス名をクリックして [サービスの詳細] ページに移動します。

  3. [サービスの詳細] タブで、[リソース情報] セクションの [リソース設定] をクリックします。 image..png

  4. [リソース設定] ダイアログボックスの [詳細] タブで、[デプロイ] セクションで複数のインスタンスタイプを選択します。 詳細については、「コンソールでの設定」をご参照ください。 image

  5. [OK] をクリックします。

クライアントで変更

このトピックでは、例としてWindows 64サーバーを使用します。

  1. クライアントが配置されているディレクトリにinstances.jsonという名前のファイルを作成します。 サンプル内容:

    {
      "cloud": {
        "computing": {
          "instances": [
            {"type": "ecs.g7.2xlarge" 、"spot_price_limit": 2.00} 、
            {"type": "ecs.g7.4xlarge" 、"spot_price_limit": 4.00} 、
            {"type": "ecs.g7.2xlarge"} 、
            {"type": "ecs.g7.4xlarge"}
          ],
          "disable_spot_protection_period": true
        }
      }
    }

    重要なパラメーターの詳細については、このトピックの「サービスを作成するときのプリエンプティブルインスタンスの指定」をご参照ください。

  2. 次のコマンドを実行して、複数のインスタンスタイプを使用するようにサービス設定ファイルを変更します。

    eascmd modify <service_name> -s instances.json

    <service_name> は、管理するEASサービスの名前を示します。