#19 【GCP】AutoML

Abstract

小杉がGCPのAutoMLについて話したよ。
サービスの内容というより、主に使い所とか考え方について話したよ。

Date
2020-07-26 01:08

話したこと

小ネタ

大手サービスのAWSからの移行

Minecraft

参考: Microsoft will complete the migration of Minecraft to Azure by the end of 2020

マイクラでは今までAWS使っていたけど、2020年中にAzureに移行するとのこと。
AWSでは以下のサービスを利用していた。

  • Amazon EC2
  • Amazon Elastic Block Store(EBS)
  • Amazon Relational Database Service (RDS)
  • Amazon S3
  • AWS Elastic Load Balancing

かなり基本的な構成。Realmsというマイクラ用のサーバを運用していたらしい。

Dropbox

AWSからの移行といえば Dropboxの自社DC移行が有名。

Dropboxは自社開発であるMagic Pocketというストレージサービスを運用。 Magic Pocketの詳しい日本語記事は こちら

Dropboxほどの大規模なサービスとなると自社で最適化したストレージを運用するほうがコストも信頼性も改善されるということ。

AWS Lambda Provisioned Concurrency

参考: AWS Lambdaが提供するProvisioned Concurrencyという機能を簡単に説明してみる

LambdaにはProvisioned Concurrencyというのがある。
Cloud Runの回でも少し話したが、ゼロスケールするサーバレスにはコールドスタートがつきもの。
Provisioned Concurrencyはコールドスタートを緩和する機能。

要はお金を事前に払っておいてLambdaをウォームアップしてくれるもの。
メモリ * 時間 * 同時実行数で 料金が決まるっぽい。
あらかじめバーストしそうなことが予測できる場合には、その直前にProvisioned Concurrencyを予約しておく、みたいな使い方はうまそう。

CDK for Terraform

参考: AWS CDKでTerraformによるプロビジョニングが可能な「CDK for Terraform」が発表 参考: AWS CDKでプロバイダーとしてTerraformが使える!!CDK for Terraformが発表されました!!

Terraformの開発元 HashiCorpが開発中。まだアルファ版。

CDKでGCPを構築できるようになるかもしれない…?

Cloud Next OnAir

Cloud Next OnAirはじまった。

本ネタ

AutoML

概要

データさえ用意すれば、機械学習のモデルをよしなに作ってくれるサービス。

GCPで提供しているのは以下。

  • AutoML Vision
    • Classification
    • Object Detection
  • AutoML Video Intelligence(ベータ版)
    • Classification
    • Object Tracking
  • AutoML Natural Language
  • AutoML Translation
  • AutoML Tables(ベータ版)

クラウド上にREST APIやバッチ推論環境のサービングもやってくれる。

GCPでは、モデルをカスタマイズできないML用のAPIも用意されている。
AutoMLはこれらでカスタムモデルを作成して使えるサービス、という見方もできる。

AWSにも、AutoMLのようにカスタムモデルを作れるサービスはある。(詳細は触ったことないので不明…)

  • 画像・動画を扱うAmazon Rekognition
  • 時系列データを扱うAmazon Forecast
  • レコメンドのAmazon Personalize

など。というかAWSでは他にも色々あって、カスタムモデルを作れる分野が多そう。
MLサービス一覧で各サービスの説明に「カスタムモデル」という記載があればできそう。

ユースケース

以下、個人的な考え。

データサイエンティスト(つまり自分でモデルを作れる人)向けではないと思う。
かといって「機械学習って何?」っていうレベルだと扱うのは厳しい。

最低限、以下のようなことを検討できるリテラシは必要。

  • 解きたい課題と、AutoMLが提供しているモデルがマッチするか?
  • データの質・量は十分か?
  • リークは起こっていないか?
  • 結果の評価は適切に行えているか?

また、機械学習のモデリングに費やす時間は、プロジェクト全体の一部に過ぎない。
AutoMLはモデル作成、デプロイ、管理、評価周りを便利にしてくれるが
おそらく一番大変であるデータの準備部分の面倒は見てくれない。

よく「AutoMLでデータサイエンティストを置き換える」という論調を耳にするが、それは現状できないと思う。

じゃあどういうユースケースがあるかというと
「機械学習の基本的な用途は分かっていて、アプリケーション開発もできる。でも自分でモデルを作成しチューニングする能力は低い」
という人・組織には、よくマッチすると思う。

費用

  • まぁまぁ高いけど、やってくれることを考えるとお得ではある。
  • VisionのObject Detectionでは学習データ500枚くらいで、1モデル作るのに¥7,000くらいかかった。
  • かかる費用(= ノード時間 * 単価)は、学習データやラベルの量、学習の収束具合による。

使い方

文字に起こすのが面倒なので、くわしくはpodcastにて…

意見交換

  • 画像系MLでなにかやりたいことある?
    • Classification, Object Detectionが当てはまればAutoML試してアプリ作ってみても良いかも
mukiudo
mukiudo
Software Engineer