はじめにGoogleCloudPlatformの運営の方々に感謝
GoogleCloudPlatformのAutoML(AutoML Vison)を使って学習モデルを作っていたら12万円の請求が来てしまいました...。
AutoMLはとても便利で素晴らしいサービスですが、内容をしっかりと理解しないまま使っていると、私のように10万以上の請求が発生します(当たり前)。
今回、私の確認ミスから高額の請求が発生しましたが、Googleg社のご厚意で金額調整の適用処理をしていただきました。
本当に感謝を申し上げます。ありがとうございました。
今回の内容についてGoogleCloudPlatform側に公開してよいか確認したところ、構わないとお返事をいただいたので、AutoMLを使った開発者が、今後同じミスに陥らないために、この事案をアーカイブとして、残しておこうと思います。
AutoMLについて
AutoMLは、機械学習エンジニアでなくても、高度かつ高品質でカスタマイズされた機械学習モデルの構築が可能なGoogleが提供しているサービスです。
AutoML Visionについて
すでにGCPには「Vision API」というサービスを提供していますが、これは事前にGoogleが学習させているモデルを使っているため、まだ学習していない写真・モノについては認識することができません。
AutoML Visionは、ほぼノンプラミングで独自の画像認識モデルを作れ、そのモデルを使ったAPI公開することができるサービスです。
作ったもの
今回はAutoML Visionを使ってウォーリーを探すモデルを作ることにしました。
元ネタ
「ウォーリーを探せ!」のウォーリーを最短4.45秒で見つけて指し示すロボットが開発される
手順
1. ウォーリーの素材集め & トリミング
ウォーリーを探せを3冊購入。全部で60程のウォーリーの顔のサンプルを取得。
2. GCPにプロジェクトを作成しAutoML Visionから「新しいデータセットの作成」
3. ウォーリーの画像データを整理して投入
4. マシンラーニング(2時間ほど)
できたもの
完成!!
アウトプットとしては、画像をアップロードすると、ウォーリーのオブジェクトとして認識した位置を予想してくれる画像認識モデルが出来上がりました。学習モデルと同時に、APIを公開することも可能で、これを使い、何かアプリケーションを作ろうと思い、デプロイしたまま放置することにしました。
このモデルを作るためにかかった金額
- ウォーリーを探せ:3冊 1,485×3= ¥4455円
- AutoML Image Object Detection Online Prediction:¥7,944円(無料枠内なので実質0円)
- AutoML Image Object Detection Model Training:¥4,628円(無料枠内なので実質0円)
※ マシーンラーニングについて、正確な時間は残っていないのですが画像60枚で3時間〜4時間だったと記憶しています。
無料枠なのでしっかりと割り引かれています🙌AutoML Visionの料金について
画像分類 | 無料 | 有料 |
---|---|---|
トレーニング | 40 ノード時間まで無料(1 回限り) | *ノード時間あたり USD $3.15 |
デプロイメントとオンライン(個別)予測 | 40 ノード時間まで無料(1 回限り) | **ノード時間あたり USD $1.25 |
画像分類 | 無料 | 有料 |
---|---|---|
トレーニング | 毎月最初のモデル 10 個については、アカウントごとに 1 ノード時間まで無料です。 | 以後のトレーニング時間については、1 時間あたり USD $20.00 の料金が発生します。 |
※ 無料枠のプロモーションクレジットについてはGCPの管理画面からも確認することが可能です。
しばらく経って悲劇は起こった...
月末になりGoogleCloudPlatformをの金額が気になり確認してみました...。
...?
桁が一桁増えている...??
...小計 ¥129,306円
ちょっとまってくれ。確認したときは確かに¥7,944円だったぞ...。すぐさま動かしていたプロジェクトを削除しました。
月末合計費用(予測)のグラフが凄まじいことに...😭(最初は何かのバグかと思った)
GCPサポートセンターに連絡
Google Cloud Platform の課金に関するサポート
その日にすぐ、これまでの経緯をまとめてGCPのサポートセンターにメールをすると、その日に連絡がきました。
プロジェクト「◎◎◎-◎◎◎」のAutoMLモデルが削除されてから48時間後、最終的な金額が確定されます。請求情報が更新され次第、担当部署に11月分請求金額の調整依頼を提出致します。進捗につきまして、11月26日 (火) に改めてご連絡させていただきます。
指定の11月26日(火)に連絡がなかったので催促をしました。
弊社担当部署に金額調整依頼を提出させていただきましたが、調整金額は高額になっているため、承認されるには長時間を要する可能性がございます。進捗につきまして、11月29日 (金)に改めてご連絡させていただきます。
このときは祈ることしかできませんでした🙏
祈りの結果...
後日GCPのサポートセンターから連絡がありました...。
弊社にて適用可能な金額調整は一度限りに対応になっております。今後はご利用頂きますGCPリソース全てに対してのご利用料金が発生いたしますので、ご留意願います。
料金表を確認したところ、調整金額が反映されていました😭
Google社の方々、本当にありがとうございます🙇♂️
最初に気づいてから、金額調整をしていただくまでの2週間は精神的に疲弊していました...。本当にありがとうございました。
今回の原因
今回は AutoML Image Object Detection Online Prediction
に対して12万円の請求が発生してしまいました。
マシンラーニングが終わった後にデプロイするかどうかをチェックすることができます。今回はどんなモデルが作られたのかを試したかったこともあり、チェックをつけてデプロイをしました。デプロイするとGPUノードを1つ使い続けるのです。これが今回の原因です。
上にも書いていますが、デプロイ後に確認が終わったら**「デプロイの解除を行う必要があります。」**完全に見落としていました...。
再発防止策
公式のドキュメントを読もう
再発防止策としては、まずは「とりあえずやってみよう」ではなく、最初にドキュメントを読むことが大切だと思いました(当たり前)。そして、どんな仕組みなのか?料金体系はどうなっているのか?を公式ドキュメントを理解を深めることが大切です。(自分への戒め)
過去の失敗から学ぼう
料金体系が複雑でクラウド破産しそうなサービスを使う場合は、過去に失敗した人のブログや記事などを調べておくことによって、注意する点などがまとめられています。そういうったブログやQiitaの記事をまとめて読み、つまずきやすいポイントを事前に学んでおくのは有効かと思います。
※ この方と同じ失敗をしてしまいました...😭
GCPの「予算とアラート」を使おう
GCPには「予算とアラート」という機能があります。アッパーの金額を決めて、指定した金額の割合に達したときのメールで通知をしてくれる機能があります。この機能を活用して、沢山メールが送るように設定しましょう。(金額に達したらサービスをストップする機能欲しいですね🙏もしくはさくらクラウドのような定額のサービスも切望🙏)
↑予算の設定 ↑予算割合の設定まとめ
AutoMLはGoogleCloudPlatformの中でも特に料金が高く設定されているサービスです。そのため、使用する際は事前にしっかりと調べた上で使いましょう!