深層学習の精度向上にともない、Google Cloud,AWS,Azureなどクラウドで提供されている画像認識サービスの活用が広がってきている。クラウドの画像認識サービスは、提供されている学習モデルによる画像認識であるため、学習データの収集・ラベリング、学習・評価などの利用開始までの手間が一切かからない。また、料金もリクエスト単位の従量課金であるためコスト面においても利用開始のハードルが低いと言える。
しかし、認識対象は世界共通の物体であったり、分類の粒度が大まかであったり、分類名であるラベルが日本語に対応していなかったりなどユーザのニーズに適合していない場合がある。そうした個別ユーザニーズに対応するために、各クラウドでは画像認識モデルのCustomサービスを提供している。AWSではRekognition Custom Labelであり、AuzreではCustom Visionと呼ぶサービスである。
どちらもユーザが独自に訓練用画像データを収集・ラベリングしたデータセットを用いて、サービス上で学習・評価を実施することで独自の分類や物体認識を実現する学習モデルを構築し、API経由で学習モデルを利用し画像認識することが可能となるサービスである。それらの精度については別途記述するが大きな差はなく、十分な訓練データ量を準備すれば高精度の画像認識モデルを得ることが可能である。
2つのサービスの大きな違いは料金体系の違いにある。簡単にいうと、Azure Custom Visionは通常の画像認識サービスと同様にトランザクション単位の従量課金であるのに対し、AWS Rekognition Custom LabelはEC2インスタンスと同様にカスタムモデル起動時間単位であるというのが違いである。
Azure Custom Visionの料金体系は(https://azure.microsoft.com/ja-jp/pricing/details/cognitive-services/custom-vision-service/)によれば以下の表のようになっている。予測(認識)は1トランザクションあたり¥0.229となっている。また、時間単位で考えると、10TPSのトランザクションが連続する場合を仮定すると1時間あたり¥8,244、1日あたり¥197,856、1ヶ月あたり¥5,935,680となる。
インスタンス | 1 秒あたりのトランザクション数 (TPS) | 機能 | 料金 |
無料 | 2 TPS | アップロード、トレーニング、予測のトランザクション 最大 2 個のプロジェクト 1 か月あたり最大 1 時間のトレーニング | 5,000 枚のトレーニング画像は無料 (プロジェクトあたり) 1 か月あたり 10,000 回の予測 |
Standard | 10 TPS | 予測トランザクション 最大 100 個のプロジェクト | ¥229.870/1,000 トランザクション |
Standard | 10 TPS | トレーニング | コンピューティング時間あたり ¥1,149.350 |
Standard | 10 TPS | 画像ストレージ それぞれ最大 6 MB | 1,000 枚の画像あたり ¥80.455 |
AWS Rekognition Custom Labelの料金体系は(https://aws.amazon.com/jp/rekognition/pricing/)によれば以下の表のようになっている。つまり、2022年1月5日現在の為替相場に沿って1ドル115円と想定すると、推論は1時間¥460となり、1日あたり¥11,040、1ヶ月あたり¥331,200となる。
特徴 | 料金 |
推論 | 4.00USD/時間 |
トレーニング | 1.37USD/時間 |
単純な比較では、PoCまたはアプリのベータ版リリースや初期立ち上げ時のようにリクエストが頻繁でない場合は、アイドリングタイムが発生するためAWSよりはAzureの方がコストがかからず利用しやすいと言える。しかし、リクエストが高頻度または連続する場合は、AWSの方がコストかからないように見える。
ここで詳細に比較するにはAWSの性能を考える必要がある。AWSのサイトをみると、”1 日あたり 440,000 枚の画像の規模では、ニーズを満たすために少なくとも 2 個の推論リソースを並行して実行する必要があります。”という記述があり、”44 時間 / 日 x 4 USD / 時間 = 180.00 USD / 日”となっているので、AWS Rekognition Custom Labelの推論能力を2.7TPSと想定する。つまり、Azure Custom Visionの推論性能は(最大時で)AWS Rekognition Custom Labelの約4倍近い。そのため、AWS Rekognition Custom Labelで同等の性能を得るには4個の推論リソースを並行実行する必要があるが、それでもコストはAzure Custom Visionの1/4以下である。
よって、2つのクラウドの使い分けは以下の通りと考えられる。もちろん、一般的に言われるように継続的に利用する場合、クラウドよりもオンプレミスの方がコストが低減できる場合もある。(その場合は、画像認識モデルを自前で構築する必要があるので、弊社でも対応可能)
- リクエスト頻度が2,3TPS程度であればAzure Custom Vision利用の方がリーズナブル
- リクエスト頻度が3TP以上であればAWS Rekognition Custom Label利用の方がリーズナブル