Vertex AI は、オンライン予測とバッチ予測を処理するためにノードを割り当てます。カスタム トレーニング モデルまたは AutoML モデルを Endpoint
リソースにデプロイしてオンライン予測を提供する場合、またはバッチ予測をリクエストする場合は、予測サービスがこれらのノードに使用する仮想マシンのタイプをカスタマイズできます。GPU を使用するように予測ノードを構成することもできます。
マシンタイプによって、次のようないくつかの点で違いがあります。
- ノードあたりの仮想 CPU(vCPU)の数
- ノードあたりのメモリの量
- 料金
コンピューティング リソースの多いマシンタイプを選択すると、予測を処理する際のレイテンシの短縮や、同時に処理される予測リクエスト数の増加につながります。
コンピューティング リソースを指定する場所
オンライン予測
カスタム トレーニング モデルまたは AutoML 表形式モデルを使用してオンライン予測を提供する場合は、Model
リソースを DeployedModel
として Endpoint
にデプロイする際にマシンタイプを指定する必要があります。他のタイプの AutoML モデルの場合、Vertex AI によって自動的にマシンタイプが構成されます。
DeployedModel
の dedicatedResources.machineSpec
フィールドにマシンタイプ(および、必要に応じて GPU 構成)を指定します。
各モデルタイプをデプロイする方法を学習します。
- Google Cloud コンソールで AutoML 表形式のモデルをデプロイする
- Google Cloud コンソールでカスタム トレーニング モデルをデプロイする
- クライアント ライブラリを使用してカスタム トレーニング モデルをデプロイする
バッチ予測
カスタム トレーニング モデルまたは AutoML の表形式モデルでバッチ予測を行う場合は、BatchPredictionJob
リソースを作成する際にマシンタイプを指定する必要があります。BatchPredictionJob
の dedicatedResources.machineSpec
フィールドにマシンタイプ(および、必要に応じて GPU 構成)を指定します。
マシンタイプ
次の表は、カスタム トレーニング モデルと AutoML 表形式モデルで予測を行うために使用可能なマシンタイプを比較したものです。
E2 シリーズ
名前 | vCPU | メモリ(GB) |
---|---|---|
e2-standard-2 |
2 | 8 |
e2-standard-4 |
4 | 16 |
e2-standard-8 |
8 | 32 |
e2-standard-16 |
16 | 64 |
e2-standard-32 |
32 | 128 |
e2-highmem-2 |
2 | 16 |
e2-highmem-4 |
4 | 32 |
e2-highmem-8 |
8 | 64 |
e2-highmem-16 |
16 | 128 |
e2-highcpu-2 |
2 | 2 |
e2-highcpu-4 |
4 | 4 |
e2-highcpu-8 |
8 | 8 |
e2-highcpu-16 |
16 | 16 |
e2-highcpu-32 |
32 | 32 |
N1 シリーズ
名前 | vCPU | メモリ(GB) |
---|---|---|
n1-standard-2 |
2 | 7.5 |
n1-standard-4 |
4 | 15 |
n1-standard-8 |
8 | 30 |
n1-standard-16 |
16 | 60 |
n1-standard-32 |
32 | 120 |
n1-highmem-2 |
2 | 13 |
n1-highmem-4 |
4 | 26 |
n1-highmem-8 |
8 | 52 |
n1-highmem-16 |
16 | 104 |
n1-highmem-32 |
32 | 208 |
n1-highcpu-4 |
4 | 3.6 |
n1-highcpu-8 |
8 | 7.2 |
n1-highcpu-16 |
16 | 14.4 |
n1-highcpu-32 |
32 | 28.8 |
N2 シリーズ
名前 | vCPU | メモリ(GB) |
---|---|---|
n2-standard-2 |
2 | 8 |
n2-standard-4 |
4 | 16 |
n2-standard-8 |
8 | 32 |
n2-standard-16 |
16 | 64 |
n2-standard-32 |
32 | 128 |
n2-standard-48 |
48 | 192 |
n2-standard-64 |
64 | 256 |
n2-standard-80 |
80 | 320 |
n2-standard-96 |
96 | 384 |
n2-standard-128 |
128 | 512 |
n2-highmem-2 |
2 | 16 |
n2-highmem-4 |
4 | 32 |
n2-highmem-8 |
8 | 64 |
n2-highmem-16 |
16 | 128 |
n2-highmem-32 |
32 | 256 |
n2-highmem-48 |
48 | 384 |
n2-highmem-64 |
64 | 512 |
n2-highmem-80 |
80 | 640 |
n2-highmem-96 |
96 | 768 |
n2-highmem-128 |
128 | 864 |
n2-highcpu-2 |
2 | 2 |
n2-highcpu-4 |
4 | 4 |
n2-highcpu-8 |
8 | 8 |
n2-highcpu-16 |
16 | 16 |
n2-highcpu-32 |
32 | 32 |
n2-highcpu-48 |
48 | 48 |
n2-highcpu-64 |
64 | 64 |
n2-highcpu-80 |
80 | 80 |
n2-highcpu-96 |
96 | 96 |
N2D シリーズ
名前 | vCPU | メモリ(GB) |
---|---|---|
n2d-standard-2 |
2 | 8 |
n2d-standard-4 |
4 | 16 |
n2d-standard-8 |
8 | 32 |
n2d-standard-16 |
16 | 64 |
n2d-standard-32 |
32 | 128 |
n2d-standard-48 |
48 | 192 |
n2d-standard-64 |
64 | 256 |
n2d-standard-80 |
80 | 320 |
n2d-standard-96 |
96 | 384 |
n2d-standard-128 |
128 | 512 |
n2d-standard-224 |
224 | 896 |
n2d-highmem-2 |
2 | 16 |
n2d-highmem-4 |
4 | 32 |
n2d-highmem-8 |
8 | 64 |
n2d-highmem-16 |
16 | 128 |
n2d-highmem-32 |
32 | 256 |
n2d-highmem-48 |
48 | 384 |
n2d-highmem-64 |
64 | 512 |
n2d-highmem-80 |
80 | 640 |
n2d-highmem-96 |
96 | 768 |
n2d-highcpu-2 |
2 | 2 |
n2d-highcpu-4 |
4 | 4 |
n2d-highcpu-8 |
8 | 8 |
n2d-highcpu-16 |
16 | 16 |
n2d-highcpu-32 |
32 | 32 |
n2d-highcpu-48 |
48 | 48 |
n2d-highcpu-64 |
64 | 64 |
n2d-highcpu-80 |
80 | 80 |
n2d-highcpu-96 |
96 | 96 |
n2d-highcpu-128 |
128 | 128 |
n2d-highcpu-224 |
224 | 224 |
C2 シリーズ
名前 | vCPU | メモリ(GB) |
---|---|---|
c2-standard-4 |
4 | 16 |
c2-standard-8 |
8 | 32 |
c2-standard-16 |
16 | 64 |
c2-standard-30 |
30 | 120 |
c2-standard-60 |
60 | 240 |
C2D シリーズ
名前 | vCPU | メモリ(GB) |
---|---|---|
c2d-standard-2 |
2 | 8 |
c2d-standard-4 |
4 | 16 |
c2d-standard-8 |
8 | 32 |
c2d-standard-16 |
16 | 64 |
c2d-standard-32 |
32 | 128 |
c2d-standard-56 |
56 | 224 |
c2d-standard-112 |
112 | 448 |
c2d-highcpu-2 |
2 | 4 |
c2d-highcpu-4 |
4 | 8 |
c2d-highcpu-8 |
8 | 16 |
c2d-highcpu-16 |
16 | 32 |
c2d-highcpu-32 |
32 | 64 |
c2d-highcpu-56 |
56 | 112 |
c2d-highcpu-112 |
112 | 224 |
c2d-highmem-2 |
2 | 16 |
c2d-highmem-4 |
4 | 32 |
c2d-highmem-8 |
8 | 64 |
c2d-highmem-16 |
16 | 128 |
c2d-highmem-32 |
32 | 256 |
c2d-highmem-56 |
56 | 448 |
c2d-highmem-112 |
112 | 896 |
C3 シリーズ
名前 | vCPU | メモリ(GB) |
---|---|---|
c3-highcpu-4 |
4 | 8 |
c3-highcpu-8 |
8 | 16 |
c3-highcpu-22 |
22 | 44 |
c3-highcpu-44 |
44 | 88 |
c3-highcpu-88 |
88 | 176 |
c3-highcpu-176 |
176 | 352 |
A2 シリーズ
名前 | vCPU | メモリ(GB) | GPU(NVIDIA A100) |
---|---|---|---|
a2-highgpu-1g |
12 | 85 | 1(A100 40GB) |
a2-highgpu-2g |
24 | 170 | 2(A100 40GB) |
a2-highgpu-4g |
48 | 340 | 4(A100 40GB) |
a2-highgpu-8g |
96 | 680 | 8(A100 40GB) |
a2-megagpu-16g |
96 | 1360 | 16(A100 40GB) |
a2-ultragpu-1g |
12 | 170 | 1(A100 80GB) |
a2-ultragpu-2g |
24 | 340 | 2(A100 80GB) |
a2-ultragpu-4g |
48 | 680 | 4(A100 80GB) |
a2-ultragpu-8g |
96 | 1360 | 8(A100 80GB) |
A3 シリーズ
名前 | vCPU | メモリ(GB) | GPU(NVIDIA H100) |
---|---|---|---|
a3-highgpu-8g |
208 | 1872 | 8(H100 80GB) |
G2 シリーズ
名前 | vCPU | メモリ(GB) | GPU(NVIDIA L4) |
---|---|---|---|
g2-standard-4 |
4 | 16 | 1 |
g2-standard-8 |
8 | 32 | 1 |
g2-standard-12 |
12 | 48 | 1 |
g2-standard-16 |
16 | 64 | 1 |
g2-standard-24 |
24 | 96 | 2 |
g2-standard-32 |
32 | 128 | 1 |
g2-standard-48 |
48 | 192 | 4 |
g2-standard-96 |
96 | 384 | 8 |
マシンタイプごとの料金をご覧ください。これらのマシンタイプの詳細な仕様については、マシンタイプに関する Compute Engine ドキュメントをご覧ください。
最適なマシンタイプを見つける
オンライン予測
ユースケースに最適なマシンタイプを探すには、複数のマシンタイプにモデルを読み込み、レイテンシ、コスト、同時実行、スループットなどの特性を測定することをおすすめします。
たとえば、複数のマシンタイプでこのノートブックを実行し、結果を比較して最適なマシンタイプを探します。
Vertex AI は、システム プロセスを実行するために、各レプリカで約 1 個の vCPU を予約します。つまり、単一コアのマシンタイプでノートブックを実行することは、予測を提供する 2 コアのマシンタイプを使用する場合と同じになります。
マシンが大きいほど費用がかかりますが、同じワークロードを処理するために必要なレプリカの数が少ないため、全体的なコストを削減できます。予測費用を検討する際は、この点に注意してください。これは、1 時間あたりの費用が高くなる傾向がある GPU で特に顕著ですが、レイテンシの短縮と費用の低減の両方を実現できます。
バッチ予測
詳細については、マシンタイプとレプリカ数を選択するをご覧ください。
オプションの GPU アクセラレータ
A2 シリーズや G2 シリーズなど、一部の構成では GPU の数が固定されています。
N1 シリーズなどの他の構成では、必要に応じて GPU を追加し、予測ノードの処理を高速化できます。
オプションの GPU アクセラレータを追加するには、いくつかの要件を考慮する必要があります。
- GPU を使用できるのは、
Model
リソースが TensorFlow SavedModel をベースにしている場合、または GPU を活用できるよう設計されたカスタム コンテナを使用している場合に限られます。scikit-learn モデルまたは XGBoost モデルに GPU を使用することはできません。 - GPU の各タイプの可用性は、モデルで使用するリージョンによって異なります。どのタイプの GPU がどのリージョンで使用可能かを確認してください。
DeployedModel
リソースやBatchPredictionJob
には 1 つのタイプの GPU しか使用できません。また、使用しているマシンタイプによっては、追加できる GPU の数が制限されます。次の表では、これらの制限について示しています。
次の表に、オンライン予測に使用できるオプションの GPU と、各 Compute Engine マシンタイプで使用できるタイプ別 GPU の最大数を示します。
各マシンタイプに有効な GPU の数 | |||||
---|---|---|---|---|---|
マシンタイプ | NVIDIA Tesla K80 | NVIDIA Tesla P100 | NVIDIA Tesla V100 | NVIDIA Tesla P4 | NVIDIA Tesla T4 |
n1-standard-2 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-standard-4 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-standard-8 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-standard-16 |
2、4、8 | 1、2、4 | 2、4、8 | 1、2、4 | 1、2、4 |
n1-standard-32 |
4、8 | 2、4 | 4、8 | 2、4 | 2、4 |
n1-highmem-2 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-highmem-4 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-highmem-8 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-highmem-16 |
2、4、8 | 1、2、4 | 2、4、8 | 1、2、4 | 1、2、4 |
n1-highmem-32 |
4、8 | 2、4 | 4、8 | 2、4 | 2、4 |
n1-highcpu-2 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-highcpu-4 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-highcpu-8 |
1、2、4、8 | 1、2、4 | 1、2、4、8 | 1、2、4 | 1、2、4 |
n1-highcpu-16 |
2、4、8 | 1、2、4 | 2、4、8 | 1、2、4 | 1、2、4 |
n1-highcpu-32 |
4、8 | 2、4 | 4、8 | 2、4 | 2、4 |
オプションの GPU を使用すると、追加費用が発生します。
次のステップ
- Google Cloud コンソールで AutoML 表形式のモデルをデプロイする
- Google Cloud コンソールでカスタム トレーニング モデルをデプロイする
- クライアント ライブラリを使用してカスタム トレーニング モデルをデプロイする
- バッチ予測を取得する