Amazonはどのように SageMaker トレーニングイメージを実行します - アマゾン SageMaker

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

Amazonはどのように SageMaker トレーニングイメージを実行します

Docker コンテナを実行可能ファイルとして実行するように設定するには、Dockerfile で ENTRYPOINT 命令を使用します。次の点に注意してください。

  • モデルトレーニングについては、Amazon SageMaker 次のようにコンテナを実行します。

    docker run image train

    SageMaker 任意のデフォルトを無効にしますCMDコンテナ内のステートメント (以下を指定して)trainイメージ名の後の引数。train 引数は、Dockerfile の CMD を使用して指定した引数も上書きします。

  • Dockerfileで、ENTRYPOINT 命令の exec 形式を使用します。

    ENTRYPOINT ["executable", "param1", "param2", ...]

    例:

    ENTRYPOINT ["python", "k-means-algorithm.py"]

    exec 命令の ENTRYPOINT フォームは、/bin/sh の子としてではなく、直接実行ファイルを開始します。これにより、 SageMaker API から SIGTERMSIGKILL などのシグナルを受け取ることができます。次の点に注意してください。

     

    • -CreateTrainingJobAPI には指示する停止条件があります SageMaker 一定時間後にモデルトレーニングを停止します。

       

    • -StopTrainingJobAPI は、以下と同等の発行を行います。docker stop、2 分のタイムアウトコマンドで指定されたコンテナを適切に停止します。

      docker stop -t120

      コマンドは、SIGTERM シグナルを送信することで実行中のコンテナの停止を試みます。2 分間のタイムアウト後、API は SIGKILL を送信しコンテナを強制的に停止します。コンテナが SIGTERM を正常に処理し、その受信時から 120 秒以内に終了する場合、SIGKILL は送信されません。

    注記

    後で中間モデルのアーティファクトにアクセスしたい場合 SageMaker トレーニングを停止し、アーティファクトの保存を処理するコードを追加しますSIGTERMハンドラー。

  • モデルのトレーニングに GPU デバイスを使用する予定がある場合は、コンテナが nvidia-docker と互換であることを確認します。コンテナに含める必要があるのは CUDA ツールキットのみです。NVIDIA ドライバーをイメージにバンドルしないでください。nvidia-docker の詳細については、NVIDIA/nvidia-docker を参照してください。

  • は使用できませんtiniのエントリポイントとしてのイニシャライザー SageMakerコンテナは混乱するからtrainそしてserve引数。

  • /opt/mlすべてのサブディレクトリは SageMaker トレーニング。アルゴリズムの Docker イメージを構築する場合は、アルゴリズムに必要なデータをそれらのイメージの下に配置しないでください。配置すると、データがトレーニング時に表示されなくなる可能性があります。