独自のコンテナ (BYOC) - Amazon Braket

独自のコンテナ (BYOC)

Amazon Braket Hybrid Jobs には、さまざまな環境でコードを実行するための 3 つの構築済みコンテナが用意されています。これらのコンテナの 1 つがユースケースをサポートしている場合は、ハイブリッドジョブを作成するときにアルゴリズムスクリプトを指定するだけで済みます。pip を使用して requirements.txt ファイルから、またはアルゴリズムスクリプトから、欠落している小さな依存関係を追加できます。

これらのコンテナがユースケースをサポートしていない場合、またはそれらを拡張したい場合、Braket Hybrid Jobs は、独自のカスタム Docker コンテナイメージまたは独自のコンテナ (BYOC) を使用したハイブリッドジョブの実行をサポートします。それがユースケースに適した機能であることを確認してください。

独自のコンテナは、どのような場合に適した選択肢となりますか?

Braket Hybrid Jobs で独自のコンテナ (BYOC) を使用すると、パッケージ化された環境に独自のソフトウェアをインストールして利用できる柔軟性が得られます。お客様のニーズによっては、同じ柔軟性を実現できる方法があります。そのような場合、「BYOC Docker を構築して Amazon ECR にアップロードし、カスタムイメージ URI を取得する」という完全なサイクルを経る必要がありません。

注記

公開されている少数の Python パッケージ (通常は 10 未満) を追加する場合は、BYOC が適した選択肢にならない場合があります。例えば、PyPi を使用する場合です。

この場合、構築済みの Braket イメージのいずれかを使用し、ジョブ送信時にソースディレクトリに requirements.txt ファイルを含めることができます。このファイルが自動的に読み込まれ、pip により、パッケージが指定されたバージョンで正常にインストールされます。多数のパッケージをインストールする場合、ジョブの実行時間が大幅に長くなる可能性があります。Python を確認します。また、必要に応じて、ソフトウェアが動作するかどうかをテストするために使用する構築済みコンテナの CUDA バージョンを確認します。

BYOC が必要になるのは、ジョブスクリプトに Python 以外の言語 (C++ や Rust など) を使用する場合や、Braket の構築済みコンテナでは利用できない Python バージョンを使用する場合です。BYOC は、次の場合にも適した選択肢です。

  • ソフトウェアをライセンスキーで使用するため、そのソフトウェアを実行するのにライセンスサーバーに対するそのキーの認証が必要となる場合。BYOC を使用を使用してライセンスキーを Docker イメージに埋め込むことで、ソフトウェアの認証コードを含めることができます。

  • 公開されていないソフトウェアを使用する場合。例えば、ソフトウェアが、アクセスするのに特定の SSH キーが必要なプライベートな GitLab または GitHub リポジトリでホストされている場合などです。

  • Braket が提供するコンテナにパッケージ化されていない大規模なソフトウェアスイートをインストールする必要がある場合。ソフトウェアのインストールによってハイブリッドジョブコンテナの起動時間が長くなるのを、BYOC の使用によって回避できます。

また、BYOC では、ソフトウェアを含んだ Docker コンテナを構築し、それを各ユーザーが利用できるようにすることで、カスタムの SDK またはアルゴリズムを各ユーザーが利用できるようにします。これを行うには、Amazon ECR で適切なアクセス許可を設定します。

注記

該当するすべてのソフトウェアライセンスの条項を遵守する必要があります。