アルゴリズムリソースを作成する - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アルゴリズムリソースを作成する

Amazon のトレーニングジョブで使用するアルゴリズムリソースを作成し SageMaker、 で公開できます AWS Marketplace。以下のセクションでは、 AWS Management Console と を使用してこれを行う方法について説明します SageMaker API。

アルゴリズムリソースを作成するには、次の情報を指定します。

  • トレーニングと、オプションで推論コードを含む Docker コンテナ。

  • アルゴリズムがトレーニングに対して期待する入力データの設定。

  • アルゴリズムがサポートするハイパーパラメータ。

  • トレーニングジョブ CloudWatch 中にアルゴリズムが Amazon に送信するメトリクス。

  • アルゴリズムがトレーニングと推論のためにサポートするインスタンスタイプ、および複数のインスタンスにわたる分散トレーニングがサポートされるかどうか。

  • 検証プロファイル。アルゴリズムのトレーニングコードのテスト SageMaker に使用するトレーニングジョブと、アルゴリズムの推論コードをテストするために SageMaker 実行されるバッチ変換ジョブです。

    購入者と販売者が で製品が動作することを確信できるようにするには SageMaker、 にリストする前にアルゴリズムを検証する必要があります AWS Marketplace。検証が成功した AWS Marketplace 場合にのみ、 に製品を一覧表示できます。アルゴリズムを検証するには、 は検証プロファイルとサンプルデータ SageMaker を使用して、次の検証タスクを実行します。

    1. アカウントにトレーニングジョブを作成して、トレーニングイメージが と連携していることを確認します SageMaker。

    2. アルゴリズムに推論コードを含めた場合は、アルゴリズムの推論イメージと、トレーニングジョブによって生成されたモデルアーティファクトを使用して、アカウントでモデルを作成します。

    3. アルゴリズムに推論コードを含めた場合は、モデルを使用してアカウントに変換ジョブを作成し、推論イメージが と連携していることを確認します SageMaker。

    に製品を一覧表示すると AWS Marketplace、この検証プロセスの入出力は製品の一部として保持され、購入者が利用できるようになります。これにより、購入者は購入前に商品を理解し、評価することができます。購入者は、たとえば使用された入力データ、生成された出力、およびコードによって発行されたログとメトリクスを調べることができます。検証仕様がより包括的であるほど、顧客による商品の評価が容易になります。

    注記

    検証プロファイルには、公開しても構わないデータのみを指定してください。

    検証には数時間かかることがあります。アカウント内のジョブのステータスを確認するには、 SageMaker コンソールで、トレーニングジョブ変換ジョブのページを参照してください。検証が失敗した場合、 SageMaker コンソールからスキャンレポートと検証レポートにアクセスできます。問題が見つかった場合は、アルゴリズムをもう一度作成する必要があります。

    注記

    アルゴリズムを に公開するには AWS Marketplace、少なくとも 1 つの検証プロファイルが必要です。

SageMaker コンソールまたは SageMaker を使用してアルゴリズムを作成できますAPI。

アルゴリズムリソースを作成する (コンソール)

アルゴリズムリソースを作成するには (コンソール)
  1. で SageMaker コンソールを開きますhttps://console.aws.amazon.com/sagemaker/

  2. 左側のメニューから [トレーニング] を選択します。

  3. ドロップダウンメニューから [アルゴリズム] を選択し、[アルゴリズムの作成] を選択します。

  4. [Training specifications (トレーニング仕様)] ページで、以下の情報を指定します。

    1. [アルゴリズム名] では、アルゴリズムの名前を入力します。アルゴリズム名は、アカウントと AWS リージョンで一意である必要があります。名前は 1 ~ 64 文字で指定する必要があります。有効な文字は、a~z、A~Z、0~9、- (ハイフン) です。

    2. アルゴリズムの説明を入力します。この説明は、 SageMaker コンソールと に表示されます AWS Marketplace。

    3. トレーニングイメージには、トレーニングコンテナが保存されECRている Amazon のパスを入力します。

    4. [Support distributed training (分散トレーニングのサポート)] では、アルゴリズムが複数のインスタンスでのトレーニングをサポートしている場合に [はい] を選択します。それ以外の場合は [いいえ] を選択します。

    5. [Support instance types for training (トレーニングのインスタンスタイプをサポート)] では、アルゴリズムがサポートしているインスタンスタイプを選択します。

    6. [Channel specification (チャネル仕様)] では、アルゴリズムの入力データを最大 8 チャネルまで指定します。たとえば、trainvalidation、および test という 3 つの入力チャネルを指定できます。各チャネルについて、以下の情報を指定します。

      1. [チャネル名] には、チャネルの名前を入力します。名前は 1 ~ 64 文字で指定する必要があります。有効な文字は、a~z、A~Z、0~9、- (ハイフン) です。

      2. アルゴリズムのチャネルを要求するには、[Channel required (チャネルは必須)] を選択します。

      3. チャネルの説明を入力します。

      4. [Supported input modes (サポートされている入力モード)] では、アルゴリズムが入力データのストリーミングをサポートしている場合は [Pipe mode (パイプモード)] を、入力データのファイルとしてのダウンロードをサポートしている場合は [File mode (ファイルモード)] を選択します。両方を選択することもできます。

      5. サポートされているコンテンツタイプ には、アルゴリズムが入力データに期待するMIMEタイプを入力します。

      6. [Supported compression type (サポートされている圧縮タイプ)] では、アルゴリズムが Gzip 圧縮をサポートしている場合に [Gzip] を選択します。それ以外の場合は、[なし] を選択します。

      7. 別のデータ入力チャネルを追加するには [チャネルの追加] を選択し、チャネルの追加が終わったら [次へ] を選択します。

  5. [Tuning specifications (調整仕様)] ページで、以下の情報を指定します。

    1. ハイパーパラメータ仕様 では、JSONオブジェクトを編集して、アルゴリズムがサポートするハイパーパラメータを指定します。アルゴリズムがサポートするハイパーパラメータごとに、次のようなJSONブロックを作成します。

      { "DefaultValue": "5", "Description": "The first hyperparameter", "IsRequired": true, "IsTunable": false, "Name": "intRange", "Range": { "IntegerParameterRangeSpecification": { "MaxValue": "10", "MinValue": "1" }, "Type": "Integer" }

      でJSON、以下を指定します。

      1. DefaultValue には、ハイパーパラメータのデフォルト値がある場合にそれを指定します。

      2. Description には、ハイパーパラメータの説明を指定します。

      3. IsRequired では、ハイパーパラメータが必要かどうかを指定します。

      4. IsTunable には、ユーザーがこのアルゴリズムを使用するハイパーパラメータ調整ジョブを実行するときにこのハイパーパラメータを調整できる場合に、true を指定します。詳細については、を使用した自動モデル調整 SageMaker を参照してください。

      5. Name には、ハイパーパラメータの名前を指定します。

      6. Range には、次のいずれかを指定します。

        • IntegerParameterRangeSpecification - ハイパーパラメータの値は整数である。ハイパーパラメータの最小値と最大値を指定します。

        • ContinuousParameterRangeSpecification - ハイパーパラメータの値は浮動小数点値である。ハイパーパラメータの最小値と最大値を指定します。

        • CategoricalParameterRangeSpecification - ハイパーパラメータの値はカテゴリ別の値である。指定可能なすべての値をリスト形式で指定します。

      7. Type には、IntegerContinuous、または Categorical を指定します。値は、指定した Range のタイプに対応している必要があります。

    2. メトリクス定義 では、アルゴリズムが出力するトレーニングメトリクスを指定します。トレーニング中にトレーニングコンテナからログを解析することで、メトリクスを見つけるために指定した正規表現 SageMaker を使用します。ユーザーは、アルゴリズムを使用してトレーニングジョブを実行するときにこれらのメトリクスを表示でき、Amazon でメトリクスをモニタリングしてプロットできます CloudWatch。詳細については、トレーニングジョブのモニタリングと分析のための Amazon CloudWatch メトリクス を参照してください。各メトリクスについて、以下の情報を指定します。

      1. [メトリクス名] には、メトリクスの名前を入力します。

      2. にはRegex、 SageMaker を使用してトレーニングログを解析し、メトリクス値を見つけるための正規表現を入力します。

      3. [Objective metric support (目標メトリクスのサポート)] では、このメトリクスをハイパーパラメータ調整ジョブの目標メトリクスとして使用できる場合に [はい] を選択します。詳細については、を使用した自動モデル調整 SageMaker を参照してください。

      4. 別のメトリクスを追加するには [メトリクスの追加] を選択し、メトリクスの追加が終わったら [次へ] を選択します。

  6. アルゴリズムが推論をサポートしている場合は、[Inference specifications (推論の仕様)] ページで以下の情報を指定します。

    1. 推論イメージの場所 には、推論コンテナECRが保存されている Amazon のパスを入力します。

    2. コンテナDNSホスト名 には、イメージのDNSホストの名前を入力します。

    3. リアルタイム推論 でサポートされているインスタンスタイプについては、 でホストエンドポイントとしてデプロイされたモデルでアルゴリズムがサポートするインスタンスタイプを選択します SageMaker。詳細については、推論のためのモデルをデプロイする を参照してください。

    4. [Supported instance types for batch transform jobs (バッチ変換ジョブでサポートされているインスタンスタイプ)] では、アルゴリズムがバッチ変換ジョブ用にサポートしているインスタンスタイプを選択します。詳細については、Amazon による推論のためのバッチ変換 SageMaker を参照してください。

    5. [Supported content types (サポートされるコンテンツタイプ)] には、アルゴリズムが推論リクエストに期待する入力データのタイプを入力します。

    6. サポートされているレスポンスMIMEタイプ には、推論レスポンスでアルゴリズムがサポートするMIMEタイプを入力します。

    7. [Next (次へ)] を選択します。

  7. [Validation specifications (検証の仕様)] ページで、以下の情報を指定します。

    1. このアルゴリズムを に公開 AWS Marketplaceするには、はい を選択してアルゴリズムを に公開します AWS Marketplace。

    2. このリソースを検証する では、アルゴリズムのトレーニングコードや推論コードをテストするために指定したトレーニングジョブやバッチ変換ジョブ SageMaker を実行する場合は、はいを選択します。

      注記

      でアルゴリズムを公開するには AWS Marketplace、アルゴリズムを検証する必要があります。

    3. IAM ロール では、 でトレーニングジョブとバッチ変換ジョブを実行するために必要なアクセス許可を持つIAMロールを選択するか SageMaker、 が AmazonSageMakerFullAccess マネージドポリシーがアタッチされたロール SageMaker を作成できるようにする新しいロールを作成するを選択します。詳細については、 SageMaker 実行ロールの使用方法 を参照してください。

    4. [Validation profile (検証プロファイル)] では、以下を指定します。

      • 検証プロファイルの名前。

      • [Training job definition (トレーニングジョブ定義)]。これは、トレーニングジョブを説明するJSONブロックです。これは、 CreateAlgorithm TrainingJobDefinitionの入力パラメータと同じ形式ですAPI。

      • [Transform job definition (変換ジョブの定義)]。これは、バッチ変換ジョブを記述するJSONブロックです。これは、 CreateAlgorithm TransformJobDefinitionの入力パラメータと同じ形式ですAPI。

    5. [Create algorithm (アルゴリズムの作成)] を選択します。

アルゴリズムリソースを作成する (API)

を使用してアルゴリズムリソースを作成するには SageMaker API、 CreateAlgorithm を呼び出しますAPI。