このページでは、NVIDIA グラフィック プロセッシング ユニット(GPU)ハードウェア アクセラレータを搭載したノードプールを使用して、画像認識、自然言語処理などのディープ ラーニング タスクやコンピューティング負荷の高いタスクを実行し、Cloud Run for Anthos コンテナ インスタンスによるコンピューティング能力を強化する方法について説明します。
GPU 対応のノードプールを GKE クラスタに追加する
GPU 対応のノードプールの作成を管理者に依頼します。
GPU を使用するようにサービスを設定する
新しいサービスのデプロイ、既存サービスの更新、またはリビジョンのデプロイを行う場合は、サービスに GPU が使用されるように Google Cloud コンソールか Google Cloud CLI を使用してリソース制限を指定できます。
Console
- Cloud Run for Anthos に移動
[サービスを作成] をクリックして、[サービスの作成] フォームを表示します。
[サービスの設定] セクションで、次の操作を行います。
- GPU 対応のノードプールを含む GKE クラスタを選択します。
- サービスに付ける名前を指定します。
- [次へ] をクリックして、次のセクションに進みます。
[サービスの最初のリビジョンの構成] セクションで、次の操作を行います。
- コンテナ イメージの URL を追加します。
- [詳細設定] をクリックし、[割り当てられる GPU] メニューで、サービスに割り当てる GPU の数を選択します。
[次へ] をクリックして、次のセクションに進みます。
[このサービスをトリガーする方法の構成] セクションで、サービスを呼び出すために使用する接続を選択します。
[作成] をクリックしてイメージを Cloud Run for Anthos にデプロイし、デプロイの完了を待ちます。
コマンドライン
--format=export
フラグを使用して、gcloud run services describe
コマンドで既存のサービスの構成を YAML ファイルにダウンロードできます。次に YAML ファイルを変更し、gcloud beta run services replace
コマンドを使用してこれらの変更をデプロイします。指定した属性のみを変更する必要があります。
ローカル ワークスペースの
service.yaml
という名前のファイルにサービスの構成をダウンロードします。gcloud run services describe SERVICE --format export > service.yaml
SERVICE は、Cloud Run for Anthos サービスの名前に置き換えます。
ローカル ファイルで
nvidia.com/gpu
属性を更新します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE_NAME spec: template: spec: containers: – image: IMAGE_URL resources: limits: nvidia.com/gpu: "GPU_UNITS"
GPU_UNITS は、Kubernetes GPU ユニットの GPU 値に置き換えます。たとえば、1 GPU の場合は
1
を指定します。次のコマンドを実行して、YAML ファイルをデプロイし、サービスを新しい構成に置き換えます。
gcloud beta run services replace service.yaml
GPU のパフォーマンスと費用の詳細については、GPU をご覧ください。