#32 re:Invent Key Note(Andy Jassy)で発表されたAI/ML系サービス振り返り + ちょっとProton

Abstract

re:Invent 2020の1発目のKey Note(Andy Jassy)で発表されたAI/機械学習系サービスの振り返りと、ちょっとProtonの話、さらにちょっとだけ気になる各種アップデート、などについて話したよ。re:Inventのキャッチアップが追いつかないよ。

Date
2020-12-02 22:39

Show Notes

今回もre:Inventネタ。

re:Inventキャッチアップつらい問題…

例年は現地で数日間集中してだったのが、オンラインだと無限にセッション見れるかつ3週間ということで頑張ろうとするとキリがない。 Twitterとか見てると最初からみんな飛ばし過ぎなような…?

re:Inventがオンラインで3週間という人類がいまだかつて経験したことのない事態に
身体がもたない人が続出するのでは…?という心配すらある。
(ていうかオンラインで在宅からだと普通の仕事もあんのよ…)

テンションがあがるのは分かるのだが、最新情報を追うだけが主目的ではないはず。
少し冷静になって、身体に無理がない程度にキャッチアップしていくのが良いかと思われる。

ここでも自分たちが興味のあるものに絞る。

re:Invent情報収集おすすめリンク

最初に情報収集としておすすめリンクをまとめて貼っておく。(言わずとしれたものばかりだけど…)

SageMaker周辺アップデート

12/2の最初のCEO Andy Jassy Key Noteで発表された。
Ken Noteの内容は re:Invent 2020 Liveblog: Andy Jassy Keynoteで記事にされている。

Machine LearningのKey Noteは2週目に控えているが、早くもAI/Machine Learning系でアップデートがたくさん公開されている。
SageMakerの英語トップページも更新されており「Prepare」と「Deploy & Manage」のところが強化されているのが分かる。

SageMakerの英語版トップページが更改された

ここではSageMakerの新3機能について。


Amazon SageMaker Data Wrangler

Key Noteで↓と言われていた。

Data preparation is the next frontier, and it is hard.

その通りで、GCPのAutoMLやSageMaker Autopilotのようにモデリングを自動化してくれる機能はたくさん出てきている。

ただ機械学習やデータ分析で本当に大変なのはデータ準備のところで、これに大半の時間を費やす。
SageMaker Data Wranglerはそのあたりを楽にしようというサービス。

具体的には以下のようなことをやってくれる。

  • Prepare data for ML in minutes
    • 複数データソース(Amazon S3, Amazon Athena, Amazon Redshift, AWS Lake Formation, and Amazon SageMaker Feature Store)からのインポートをSageMaker Studio内で楽に。
    • 300程度のデータ変換機能が用意されており、1clickで自動適用される。
      • convert column type, one hot encoding, impute missing data with mean or median, rescale columns, and data/time embeddings…
      • カラムの型変換, one-hot encoding, 欠損データの補完, スケーリング, 時刻データの変換(?)
    • 変換結果の可視化 + 手動での修正。
      Prepare data for ML in minutes
  • Quickly estimate ML model accuracy
    • 変換後のデータがおかしなことになっていないか解析が可能。
    • モデル学習前に解析できるのか、学習後なのか詳細はまだ触れていないので不明。
      Quickly estimate ML model accuracy
  • From preparation to production with a single click
    • 上記のデータ加工をnodebookやpython scriptの形でexportできる。
    • Workflowとしても定義できる。
      From preparation to production with a single click

これらで準備ができたら、今までのSageMaker Autopilotなりで学習ということだろうと思う。

ただ、こういった内容のサービス自体は目新しいものではない。
GCPでは DataPrepという同等のサービスが以前から提供されているし、
AWSでも AWS Data WranglerというPythonライブラリが提供されていた。

今回のアップデートでは、これらの機能がSageMaker Studioに統合されたというのが主旨だろうと思う。
実際、GCPでは1つのUIで統合されてはおらず、DatePrep => DataFlow => AI Platformのようにサービスを行き来する必要はあるが
SageMaker Studioはそれらをすべて同じUIで利用できるようにする、というのが昨年からの思想だと思われる。(使っている人が周りにいるかというとあまり聞いたこと無いが


SageMaker Feature Store

機械学習に必要なデータ特性を「特徴量(Feature)」と呼ぶ。
文字通り、このFeatureを保存するのがSageMaker Feature Store。

このFeatureは実験を繰り返す過程でコロコロ変わるし、「このモデルってどの特徴量で作られたんだっけ?」となっていくのはよくある困りごと。
また、学習時と推論時で同じ加工をした特徴量を扱う必要がある。

これらの特徴量を管理するのがFeature Storeで、これも発想自体は新しいものではなく
同じくSageMaker Studio内で統合して使えるようになったのが利用者にとっては嬉しいポイント。

  • Ingest data from many sources
    • ストリーミングAPIで動画, 音声などのデータも取り込める。
    • Data Wranglerで加工したデータも保存できる。
  • Search and discovery
    • 保存した特徴量の検索ができる
    • タグなどのメタ情報を付与できる
      Search and discovery
  • Ensure Feature Consistency
    • 学習と推論時の特徴量は同じである必要があるが、扱うデータ量やそれに必要なストレージも異なる。この差異を吸収する。
    • 具体的にどうするのかはまだ触っていないので不明…
  • Feature standardization
    • 特徴量の定義を一元的に管理する(?)
    • 例として「温度」が摂氏 or 華氏、とか「日付」が「date-month-year」or「month-date-year」とか。
    • これも具体的にどうするのかはまだ触っていないので不明…
      Feature standardization

Amazon SageMaker Pipelines

MLのCI/CDパイプライン。
要はここまでに出てきたデータ準備+加工, 前処理, 学習, 評価, モデル管理などをワークフローとして定義し管理する。

  • Compose, manage, and reuse ML workflows
    • python SDKによりMLのworkflowを定義, 保存, 管理できる。
    • workflowの可視化もできる。
    • 入出力データとも紐付けて管理できそう。
      Compose, manage, and reuse ML workflows
  • Choose the best models for deploying into production
    • モデルのバージョン管理。
    • ベストモデルを選択し、デプロイ出来る。
  • Automatic tracking of models
    • workflow実行時の監査ログやメタ情報などトラッキング。
      Automatic tracking of models
  • Bring CI/CD to machine learning
    • CI/CDの概念をMLに持ち込んだぞ、ってこと。

これも概念としては新しいものではなく(ry

同様のツールとしては MLflowkubeflowなどがあげられると思う。
kubeflowは「 AI Platform Pipelines」の一部としてGCPのマネージド・サービスとしても提供されている。

その他AI/Machine Learning関連アップデート

気になったやつをダイジェストで。(詳しくはまだ調べられていない)


Amazon Lookout for Vision – New ML Service Simplifies Defect Detection for Manufacturing

Lookout Vision
  • 製造業の画像認識に特化している。
  • 少ない枚数の教師データで学習が可能(最低30枚とか言っている)
  • おそらくclassificationのみ
  • エッジ推論するためのモデルダウンロードはできず、クラウド経由のみっぽい。
  • developer向けのドキュメントもすでに公開されている。

同様のサービスとしてはGCPの AutoML Vision
AWSだと Amazon Rekognition Custom Labels


New – Amazon Lookout for Equipment Analyzes Sensor Data to Help Detect Equipment Failure

Lookout Equipment
  • 産業機器などでの故障を検知する?
  • 1つのMLモデルで300種類以上の機器の状態を評価できるとのこと。
  • 一見、後述の「Monitron」とセットのように見えるが、直接的な記載は見当たらず
    おそらく独立したサービス。

特にMonitronとの関係性がよく分からん…


Amazon Monitron

Amazon Monitron
Amazon Monitron概要図

  • 同じく産業機器の状態を監視できるIoT機器。
  • Monitron Gatewayを通してAWSにセンサデータを送信
  • AWS側でML-basedな解析
  • モバイルappも提供される予定(Android, iOS)

AWS Trainium


AWS Proton

  • サーバーレスおよびコンテナベースのアプリケーションのインフラとサービスの管理・デプロイ・監視ができるフルマネージドサービス
    • テンプレート単位で管理する
      • 環境テンプレート
        • VPC等のインフラを定義するもの
      • サービステンプレート
        • LambdaやECSタスク定義など
  • パブリックプレビュー
  • ap-northeast-1にも対応
  • テンプレートを作成してスタックを作成するという点ではCfnと同じ
  • 所感
    • CFn + 構成管理的なもの?
      • 「インフラ」と「サービス」という単位でCFnテンプレートをまとめる
      • まとめたものにバージョンを付ける
      • まとめたもの単位で立ち上げできる
    • 結局yamlを書くつらみは変わらない。それなら僕はCDK使いたいかも
    • 大量のリソース管理するのにカオスになりにくいかも
      • スタックの管理できないほどの規模とか、チーム体制にならない限りはいらないかも。(アジリティを欠く)
  • 参考
    1. 【速報】サーバーレスとコンテナのデプロイを管理するAWS Protonがリリースされました![プレビュー] #reinvent | Developers.IO https://dev.classmethod.jp/articles/aws-proton/
    2. re:Invent2020で発表されたAWS Protonとはなにか? - How elegant the tech world is…! https://iselegant.hatenablog.com/entry/2020/12/02/173545
mukiudo
mukiudo
Software Engineer