【レポート】 製造業における IoT×AI/ML 基盤の構築とその運用事例 #AWSSummit

2020年9月8日から30日まで開催されるAWS Summit Onlineのレポートです。
2020.09.18

2020年9月8日から30日まで開催されるAWS Summit Onlineのレポートです。

本記事で取り上げるセッションは下記となります。

セッション情報

スピーカー

株式会社アイデミー 代表取締役 社長 石川 聡彦 氏

概要

作成した ML モデルを PoC として 1 工場で運用し、ある程度の成果が得られたにも関わらず、そこから先の実運用に進まないといったケースが多くの企業で散見されます。本講演では、主に製造業の方向けに、製造現場での AI 基盤を AWS を用いて構成した事例をもとに、海外拠点の管理、関係部署との責任問題、複数ステーションでの大規模運用など、製造業ならではのお悩みに対して、AWS を使ってどうのように対処したのかをご紹介します。

セッションレポート

1. MLOpsとは

機械学習モデルのフェーズは、4つに分かれる

  • AI人材の育成
  • AI課題の特定
  • AIモデルの作成
  • AIモデルの運用
    • これらが循環すると良い
    • 本セッションでは、AIモデルの運用に焦点を当てる

世の中のAIに対する間違ったイメージ

  • 機械学習モデル(AI)ができた! これを運用すればすぐ結果が出るはずで、AIプロジェクトはもう終りに近いぞ!
  • 機械学習プロジェクトは、MLモデルができてから、長い戦いが始まる

MLOpsとは

  • 本番環境でのMLアプリケーション導入と管理を迅速にする、拡張性と管理性についての技術とベストプラクティスの集合体
    • 機械学習モデルの運用部分が大切
    • 機械学習モデルの開発は、一部分に過ぎない

機械学習モデルを活用したあとに必要になるタスク

  • 管理画面
    • 機械学習モデルを管理する
    • 性能はどうか
    • IoTデバイスが稼働してるかどうか
  • 異常時の通知
    • トラブルを未然に防ぐ
    • すぐに対応する
  • データ保存基盤の構築
    • 機械学習とデータは切っても切り離せない
    • 参照しやすいようにデータレイクを作る
  • IoTデバイスの管理
    • 機械学習モデルをデプロイする
    • センサーデータの収集
    • 機械学習モデルを管理するのと同じぐらい、IoTデバイスの管理は大切
  • 継続的なアノテーションの実施
    • 溜まったデータに対して正解ラベルを付与する
    • 人手が継続的にかかる
  • MLモデルの再訓練
    • 継続的なアノテーション実施で生まれたデータを元に、機械学習モデルを再訓練する

機械学習モデルの再訓練とは

  • 再訓練をすることで性能が上がる
  • 再訓練をしなければ、基本的に性能は下がる
    • 機械学習モデルを作ったタイミングで無かったデータが混入する
    • これらのデータを再訓練に活用する
  • 工場だとライン位置が変わってデータ取得方法が変わる
  • 季節によってデータが異なる

2. 製造業特有の課題

  • 本社と現場のステークホルダーの変容
  • Windows-Linuxおよびオンプレ-クラウド技術選定

本社と現場のステークホルダーの変容

  • PoCとして、RD/DX部門などが機械学習モデルを作成する
  • 実運用に移行するとき、外注?内製? 内製ならどこが中心に? などが決まっていない
  • PoCの体制と実運用の体制で主体や手段が変わる

各社の取り組み
  • 基本的には、研究所が現場に合わせる
  • AI/IoT教育研修などの啓蒙活動も主導
  • 研究所の担当が現場に転籍するケースも

Windows-Linuxおよびオンプレ-クラウド技術選定

  • 昔からWindowsを使っているなどの理由もあり、本社側と現場側で乖離がある
  • ケースバイケース
    • 現場が扱いやすいシステムでWindows/オンプレ
    • モダンな技術でよくある設計、これからAI/IoTが中心になるので、Linuux/クラウド
エッジデバイスの選定
  • プロジェクトによって変わってくる
    • Pythonやライブラリのバージョンが噛み合わない場合
    • PythonのサブプロセスをしてPython3.7を実行して解決など
  • デバイスの制約などを予め整理することが大事
    • ウォーターフォール的に機械学習モデルを作って次に運用だ、といった形は難しい

3. アーキテクチャ案

  • IoT Coreを使って、エッジデバイスを管理する
  • Greengrassを使うことで、エッジデバイスでLambdaを動かす
  • クラウドからGreengrass経由で機械学習モデルなどをデプロイできるようになる
    • デバイスの管理が便利にできる
  • カメラから画像を取得し、エッジ側で推論する
  • 得られた画像はローカルで保存し、Lambdaを使ってクラウドにも送る
  • センサーから収集されたデータをGreengrassのLambdaを使ってクラウドに渡し、Kinesis DataStreamを経由してストレージに保存する
  • Amazon SageMakerを使って機械学習モデルを管理する
  • Amazon QuickSightで今の状況を可視化する

IoTは考えることがたくさん

  • 制御はどうするか
  • 通信はどうするか
  • 監視はどうするか
  • セキュリティはどうするか
    • AWS IoT Greengrassの利用で、エッジデバイスの管理をより便利にできる
    • エッジ側でLambdaを動かせる、1clickでデプロイ
    • MQTT通信を標準装備
    • CloudWatchで監視できる
    • 証明書認証を簡単導入

製造現場は、データの宝庫

  • 複数種類のデータが昼夜問わず大量に送信される
    • Amazon Kinesisを利用することで、大容量データをニアリアルタイムで処理できる
    • Amazon Kinesis Video Streams
    • Amazon Kinesis Data Streams

Amazon SageMakerの利用で、MLOpsの基本機能を楽に実装できる

  • ノートブックインスタンス
    • 推論エンドポイントの簡単作成
    • インスタンス管理もGUIで可能
  • Amazon SageMaker Ground Truth
    • 画像周りの一通りのアノテーション機能を提供
    • タスク状況も管理も可能

感想

前半はIoT/AIあるあるといった内容で非常に共感できました。そして後半では、ケースバイケースだとしながらも、具体的な方法が提示されており参考になります。 特に実際に運用するのは現場の方なので、現場にとって使いやすいものといった点は、迷ったのときの指標になると思いました。