【レポート】IoT/ML Deep Dive on AWS #AWSSummit

福岡オフィスの梶原です。

AWS Summit Tokyo 2019 2日目のA2-03のセッションである「IoT/ML Deep Dive on AWS」をオンライン視聴しましたので、レポートしたいと思います。

IoT と機械学習を組み合わせた AIoT がトレンドとなっています。本セッション では AWS IoT Greengrass、AWS IoT Analytics、Amazon SageMaker といったサービスを組み合わせて、どのように機械学習を活用した IoT のソリューションを構築できるのかを学びます。

スピーカー

アマゾン ウェブ サービス ジャパン株式会社
技術統括本部
ソリューションアーキテクト

園田 修平 様

このセッションについて

  • 対象
    • IoTのシステムを構築・運用して、収集したデータに対し、機械学習を活用することでビジネス課題を解決したい開発者、アーキテクト
  • セッションでお伝えする事
    • IoTと機会学習の代表的なユースケースにおいて適用可能なAWSのIoT/MLサービスを組み合わせてどういうデザインパターンがくめるのか

Agenda

  • IoTにおける機械学習の活用について
  • AWSのIoT/ML ソリューション
  • シナリオ別デザインパターン
  • デモ
  • まとめ

IoTにおける機械学習の活用について

  • IoT システムの進化のステップ
    • 接続
    • モニタリング・可視化
    • 分析・制御
    • 自立化・最適化
      • IoT と機械学習の活用がトレンドに

IoTと機械学習で実現するビジネス成果

  • 収益の向上をめざす
    • いつ壊れるかを機械学習で予測して販売につなげる
  • 運用効率の控除
    • ラインの稼働率を下げないために機械学習を使用してラインを止めないようにする

IoTと機械学習のユースケース

  • 異常検知
  • コンテキスト解析
  • 予知保全
  • 需要予測
  • 外観監査
  • 来客分析
  • 行動分析
  • 顔認証・商品検索

アーキテクチャを決める要因

どういったデータを扱うか

  • 時系列データ
    • 時系列に多変量のデータが入っているデータ、時系列でベースラインが変わっていくようなデータ
    • クラスタリングするデータ
    • 過去から今後の需要を予測するデータ
  • 画像データ
    • 良品か、不良品化の分類をしたい
    • 傷がどこにあるか検出したい
    • 作業員の姿勢を推測するデータ

どこで推論を行うべきか

  • IoTに機械学習を導入する際、次の要件がある場合には、推論をクラウドではなく、エッジで行うことを検討する必要がある
    • 低レイテンシ
    • すばやく行う必要がある
    • ネットワークコスト
      • モバイル環境などデータ量の問題がある
    • オフライン
    • セキュリティ
      • データを外にだしたくない。

IoTと機械学習の活用で必要なサイクル

  • ローカルでのデータ収集
  • クラウドのデータ収集
  • 永続化、拡張、クレンジング
  • 機械学習、モデルの生成、クラウドでの機械学習推論

AWSのIoT/MLソリューション

  • ローカルでのデータ収集、エッジでの機械学習推論
    • AWS IoT Greenggrass
  • クラウドでのデータ収集、データ変換とルーティング
    • AWS IoT Core
    • Kinesis Video Streams
  • データ集約、拡張、クレンジング
    • AWS IoT Analytics
    • S3
  • 機械学習、モデルの生成、クラウドでの機械学習推論
    • Amazon SageMaker
  • 上記をくりかえして、回していく

AWSのIoT/MLソリューション

  • 機械学習、モデルの生成、クラウドでの機械学習推論

Amazon SageMaker

  • データサイエンティストや開発者が容易に機械学習モデルを開発、学習、活用するためのマネージドサービス
  • 開発
    • マネージドサービスで提供
    • 用意されたアルゴリズムを使用可能
  • 学習
    • 必要なコンピューティングリソースをすぐに用意できて、不要になれば消せる
    • ハイパーパラメータのチューニングを自動化
  • 推論
    • APIのような形ですぐにホスティングすることが可能

Amazon SageMaker Neo

  • エッジで推論する際に非常に有効なサービス
  • 通常Cloudで推論する場合に比べて、ハードウェアリソースの制約を意識する必要があるが
  • SageMaker Neoを使用するとターゲットのアーキテクチャにあわせてモデル変換をおこなうことによりより高速に行うことができるサービス
  • Tensorflow等のフレームワークの場合、学習と推論が一緒になっているので、推論を行う場合、学習のモデルを削除する必要があるが
  • SageMaker Neoの場合、推論用のランタイム提供、フットプリントが小さい、ハードウェアリソースが少なくても高速に動かすことが可能

Amazon SageMaker Groud Truth

  • 通常画像データはラベリング、教師データをつくる作業が必要
  • ラベリング作業を提供するマネージドサービス

AWS IoT Greenggrass

  • AWS のクラウドの機能の一部をエッジ側で実行可能なサービス
  • クラウドで動かすように現場のデバイスにデプロイ可能

AWS IoT Greenggrass ML Ingerence

  • クラウドで学習したモデルをエッジで機械学習の推論を行う。

AWS IoT Analytics

  • 時系列データを主に解析するサービス
  • フルマネージドにBI,MLしやすい状態で保存しておく

AWS IoT Analytics Continuos Analysis

  • Jupyter Notebookによる分析をコンテナ化して、定期的に実行できる

Amazon Kinesis Video Streams

  • 動画をIoTデバイスから簡単にアップロードする

シナリオ別デザインパターン

  • 時系列データをエッジで推論
  • 時系列データをクラウドで推論
  • 画像データをエッジで推論
  • 画像データをクラウドで推論

時系列データをエッジで推論

  • 要求されるケース
    • 高頻度なデータをリアルタイムに推論
  • 入力データ
    • 最新、もしくは直近収集された短時間の時系列データ
    • 1Hz以上の高頻度な時系列データ
  • 設計のポイント
    • 高頻度な入力をエッジで推論
    • 再学習のため、高頻度の入力データをまとめて非同期でアップロード

時系列データをエッジで推論するアーキテクチャ例

  • SageMaker + Greengrass ML Inference で実現
    1. 学習用のデータをまとめて非同期でアップロード
    2. 蓄積したデータをSageMakerからクエし、学習してモデルを作成
    3. 作成したモデルをGeengrassにデプロイ
    4. Sensorからの高頻度データをエッジで推論

時系列データをクラウドで推論

  • 要求されるケース
    • 長時間のデータから推論して今後のアクションを決めたい
    • 複数拠点のデータを束ねて推論したい
  • 入力データ
    • 長期間、複数拠点の時系列データ
  • 設計のポイント
    • ワンタイムの解析だけでなく、継続的に解析を行えるシステムの構築

時系列データをクラウドで推論するアーキテクチャ例

  • AWS IoT Analytics Continuos Analysis で実現
    1. 学習用のデータをまとめてアップロード
    2. SageMaker Notebookからデータを取得して解析
    3. SageMaker Notebook上の解析・可視化をIoT Analyticsにデプロイ
    4. SageMaker Notebook上で行っていた解析・可視化を継続的に実行

時系列データの推論 ハイブリットアーキテクチャ例

  • エッジとクラウドの推論の組み合わせ

時系列データの解析モデルの作成

  • AWS IoT Analytics Sample Template
    • 異常検知
    • 予測
    • クラスタリング

画像データをエッジで推論

  • 要求されるケース
    • コスト効率やコンプライアンス対応の為、画像をエッジで推論して結果のみクラウドで利用したい
  • 入力データ
    • 画像
    • 被写体が数種類
  • 設計のポイント
    • リソース制限のあるデバイス上で、できるだけ高速に画像処理を行う
    • リリース後の制度改善を効率よく

画像データをエッジで推論するアーキテクチャ例

  • SageMaker + Greengrass ML Inference で実現
    1. 蓄積したデータとSageMaker Groud Truthで付与したラベルから学習してモデルを作成
    2. 学習したモデルをSageMaker NeoでコンパイルしてGreengrassにデプロイ
    3. Cameraからの画像データをエッジで推論
    4. 推論結果のみをアップロードしてBIで可視化
    5. エッジで精度が低かった画像データを再学習用にアップロード、ラベリングを依頼
    6. 精度が低かった画像と正しいラベルを含めたデータセットで再学習
  • AWS DeepLens
    • 画像をエッジ側で推論可能なビデオカメラ
    • SageMaker + DeepLens で実現

画像データをクラウドで推論

  • 要求されるケース
    • 動画を高フレームレートで詳細に分析したい
    • 画像分類などによって、分類したいoutputの種類が多いかつ高頻度で追加される
  • 入力データ
    • 高フレームレートな動画
    • 被写体が多種類
  • 設計のポイント
    • 高フレームレートな動画をフレーム単位に分割してストリーム処理したい

画像データをクラウドで推論するアーキテクチャ例

  • Kinesis Video Stream + SageMaker
    1. Kinesis Video Streamde で動画をクラウドで収集
    2. KVS Consumer を含むアプリで動画をフレームに分解し、SageMakerで推論
  • ハイブリッドアーキテクチャ例

画像データの解析モデルの作成

  • 画像分類
  • 物体検出
  • セグメンテーション

デモ

各種デモをAWS ECPOにて展示中

まとめ

  • AWSは、時系列データ解析、画像データ解析の両方で機械学習をIoTデバイスにもたらすトータルのサイクルをもっています。
  • AWSは、ユースケースにあわせて、もっともリーズナブルなところで機械学習の推論を実行する手段を提供しています。
  • AWSのソリューションを活用して、ビジネス課題の解決にフォーカスしていただける。

感想

  • ほんとオンライン視聴でよかったと思えるDeepDiveでした。
  • 今後IoT, 機械学習ソリューションのアーキテクチャは多くなってくると思うので参考になるデザインパターンが学べてよかったと思います。
  • 時系列データ、画像以外のデザインパターンなども学んでいきたいと思います。

コメントは受け付けていません。