料金

Cloud Machine Learning Engine には、プロジェクトや予算に合わせて選べるさまざまな料金オプションが用意されています。Cloud ML Engine では、モデルのトレーニングや予測の実行に対して料金が発生します。ただし、クラウド内の機械学習リソースの管理は無料で行うことができます。

料金の概要

次の表に、Cloud ML Engine の料金をまとめます。利用方法にかかわらず、Cloud ML 割り当てポリシーの対象となります。

アクション 米国での料金 ヨーロッパ / アジアでの料金
モデル トレーニング ML トレーニング ユニットごとに 1 時間あたり $0.49 ML トレーニング ユニットごとに 1 時間あたり $0.54
予測 予測 1,000 回あたり $0.10、プラス 1 時間あたり $0.40 予測 1,000 回あたり $0.11、プラス 1 時間あたり $0.44

Google Cloud Storage の利用

このドキュメントに記載されている費用の他に、Cloud ML Engine のライフサイクルの間、データやプログラム ファイルを Google Cloud Storage バケットに保存する必要があります。このストレージは、Cloud Storage 料金ポリシーの対象になります。

次の場合に Cloud Storage が必要になります。

  • モデルのトレーニングでトレーニング アプリケーション パッケージをステージングする。

  • トレーニングの入力データを保存する。

  • バージョンのデプロイでモデルのファイルをステージングする。

  • バッチ予測で使用する入力データを保存する。

  • バッチ予測の出力ファイルを保存する。

  • トレーニング ジョブの出力を保存する。また、トレーニングやバッチ予測の出力も Cloud Storage バケットに保存されます。Cloud ML Engine の場合、ストレージにファイルを長期間保存する必要はありません。オペレーションが完了したらすぐに削除できます。データの保存にかかる費用の詳細をご確認ください。

無料のオペレーション

Cloud ML Engine が提供するリソース管理オペレーションは、無料で利用できます。ただし、Cloud ML Engine 割り当てポリシーにより、オペレーションの一部が制限されることがあります。

リソース 無料のオペレーション
モデル create、get、list、delete
バージョン create、get、list、delete、setDefault
ジョブ get、list、cancel
オペレーション get、list、cancel、delete

トレーニング料金

クラウド内でモデルをトレーニングする料金は、「ML トレーニング ユニット」を基準にして計算されます。ML トレーニング ユニットとは、利用する処理能力を測定するための抽象的な尺度です。1 ML トレーニング ユニットは、トレーニング サービスで使用する標準的なマシン構成 1 つに相当します。トレーニング ジョブの開始時に選択した処理構成によって、1 時間あたり料金の対象となる ML トレーニング ユニット数が決まります。

トレーニングの課金基準:

  • 1 分単位で課金。
  • 基準は 1 時間あたりの料金(以下の表を参照)。
  • トレーニング ジョブの最小時間は 10 分。
  • ジョブにリソースがプロビジョニングされたときからジョブが完了するまで。
リージョン トレーニング料金
米国 ML トレーニング ユニットごとに 1 時間あたり $0.49。
ヨーロッパ / アジア ML トレーニング ユニットごとに 1 時間あたり $0.54。

各スケール階層の ML トレーニング ユニット

ユーザーは、モデルをトレーニングする際に使用する処理クラスタのタイプを調整できます。簡単な方法として、「スケール階層」という事前に定義された構成の中から 1 つを選択することもできます。各スケール階層は、料金の基準となる ML トレーニング ユニット数が異なります。

スケール階層 ML トレーニング ユニット
BASIC 1
STANDARD_1 10
PREMIUM_1 75
BASIC_GPU 3
カスタム マシンタイプの合計

カスタム クラスタ構成のマシンタイプ

スケール階層として CUSTOM を選択した場合、クラスタのマスター、ワーカー、パラメータ サーバーとして使用する仮想マシンの数やタイプを調整できます。カスタム構成のマシンはそれぞれ、1 時間あたり料金の基準となる ML トレーニング ユニット数が異なります。

マシンタイプ インスタンスあたりの ML トレーニング ユニット
standard 1
large_model 3
complex_model_s 2
complex_model_m 3
complex_model_l 6
standard_gpu 3
complex_model_m_gpu 12
complex_model_l_gpu 24

カスタム処理クラスタを使用したトレーニングの料金は、指定した全マシンの合計になります。個々のマシンのアクティブな処理時間ではなくジョブの合計時間に対して課金されます。

トレーニング料金の例

トレーニング料金を知るには、次の計算が必要となります。

(ML training units * cost per unit / 60) * job duration in minutes

以下に例を示します。

  • 米国に住むデータ科学者が、STANDARD_1 スケール階層を選択して、トレーニング ジョブを実行したとします。このジョブに 15 分かかりました。

    (10 ML training units * $0.49 per hour / 60) * 15 minutes
    

    このジョブの料金は、総額 $1.23 となります。

  • 米国に住むコンピュータ科学者が、CUSTOM スケール階層を使用して、トレーニング ジョブを実行したとします。モデルが非常に大きいため、大規模モデルの VM をパラメータ サーバーとして利用したいと考えています。そこで、処理クラスタを次のように構成しました。

    • マスターとして complex_model_s マシン(2 ML トレーニング ユニット)。
    • large_model VM を利用した 5 台のパラメータ サーバー(3 x 5 = 15 ML トレーニング ユニット)。
    • complex_model_s VM を利用した 8 台のワーカー(2 x 8 = 16 ML トレーニング ユニット)。

    そして、ジョブを 2 時間 26 分実行しました。

    (33 ML training units * $0.49 per hour / 60) * 146 minutes
    

    このジョブの料金は、総額 $39.35 となります。

予測料金

予測料金は、Cloud ML Engine がホストするトレーニング モデル バージョンに対するリクエストに適用されます。1 か月あたりの予測回数に基づいてフラットレートで課金されます。また、回数に基づく料金に加え、予測を実行する際に処理クラスタの各ノードを使用した時間に応じて料金が発生します。

処理された予測に対して、次の表に基づく料金が発生します。

リージョン 標準価格 大量利用割引価格 備考
米国

予測 1,000 回あたり $0.10

プラス 1 ノード時間あたり $0.40

予測 1,000 回あたり $0.05

プラス 1 ノード時間あたり $0.40

予測回数は 1 か月ごとに累積され、料金はセントの単位に四捨五入されます。

処理を実行すると、トレーニング ジョブごとに分単位で課金されます。最低料金として 10 分間分の料金が必ず発生します。

大量利用割引価格は、その月のリクエストが 1 億回に達した後から適用されます。

ヨーロッパ / アジア

予測 1,000 回あたり $0.11

プラス 1 ノード時間あたり $0.44

予測 1,000 回あたり $0.05

プラス 1 ノード時間あたり $0.44

ノード時間について

Cloud ML Engine が予測用モデルの実行で使用するオンライン処理リソースをノードといいます。ノードは仮想マシンと考えることができます。ノードでモデルを実行した時間に対して料金が発生します。たとえば、次の時間に課金されます。

  • バッチ予測ジョブの処理時間
  • オンライン予測リクエストの処理時間
  • モデルがオンライン予測の準備状態になっている時間

Cloud ML Engine は、オンラインとバッチの両方の予測に対応するため、使用するノード数をスケールします。たとえば、リクエストが送信されてから、オンライン予測サービスがモデルを数分間アイドル状態にし、準備状態を維持することがあります。この場合、次のようにスケーリングが行われます。

  • オンライン予測の場合、個々のリクエストのレイテンシを短縮します。
  • バッチ予測の場合、ジョブの合計経過時間を短縮します。

バッチ予測でスケーリングが行われた場合、新しいノードに関連するオーバーヘッドが若干発生しますが、ジョブの料金にはほとんど影響しません。

オンライン予測でのスケーリングの場合、毎月の合計料金に影響を及ぼします。リクエストの数や頻度が増えるほど、使用されるノード数も多くなります。

スケーリングは次の方法で調整できます。

  • バッチ予測ジョブに使用される最大ノード数を設定する。
  • モデルのデプロイ中に持続するノード数を設定する。

ノードの割り当てとスケーリングの詳細については、予測ガイドをご覧ください。

予測料金の例

1 か月の予測料金を知るには、次の計算が必要となります。

(Number of predictions / 1000) * cost per 1K + (hours of processing * cost per hour)

以下に例を示します。

  • 米国の不動産会社が、営業対象地域の住宅価値の週次予測を実行したとします。1 か月間で 4 週のバッチ予測(3920427738493961)を実行しました。1 回の予測を処理するのに、平均 0.72 ノード秒かかりました。

    予測回数あたりの料金は累積されます。

    3920 + 4277 + 3849 + 3961 = 16007
    

    予測回数 16,007 回に対する課金額: (16,007 / 1,000) x $0.10 = $1.60

    そして、処理時間に基づく料金がジョブごとに発生します(この例では平均値を使用していますが、実際には各ジョブの本当の値を使用して料金を計算します)。

    3920 * 0.72 = 47.04 minutes
    4277 * 0.72 = 51.324 minutes
    3849 * 0.72 = 46.188 minutes
    3961 * 0.72 = 47.532 minutes
    

    どのジョブも 10 分を超えているため、最低料金の基準は上回っています。したがって、そのまま処理時間 1 分ごとに課金されます。

    (48 * $0.40) / 60 = $0.32
    (52 * $0.40) / 60 = $0.35
    (47 * $0.40) / 60 = $0.31
    (48 * $0.40) / 60 = $0.32
    

    処理時間に対する料金は $1.30、1 か月の費用総額は $2.90 となります。

次のステップ

フィードバックを送信...

Cloud Machine Learning Engine (Cloud ML Engine)