【速報】エッジ上の機械学習モデルを管理!「Amazon SageMaker Edge Manager」登場。 #reinvent

2020.12.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

せーのでございます。

現在AWS re:InventではMachine Learningのキーノートが行われています。

キーノート内では機械学習に関する様々なAWSサービスが発表されました。
このブログではその中からエッジ上の機械学習モデルの監視、管理を行うサービス「Amazon SageMaker Edge Manager」を速報でご紹介します。

SageMaker Neo + Greengrass = Edge Manager??

Edge Managerはラズパイはjetsonなどのエッジデバイス上にデプロイする機械学習モデルを管理、保護、監視するためのサービスです。

現在エッジへのモデルのデプロイにはSageMaker Neoという最適化用のサービスがあります。これはサーバに比べてハードウェアリソースの性能が低いことの多いエッジデバイスに対して、モデルを最適化させることで、エッジ上でも重たくならずに動かせる、というサービスなのですが、SageMaker Neoは変換することはできても、実際のエッジ上での動きを監視、改善することはできませんでした。

Edge ManagerはSageMaker Neoで最適化したモデルを、エッジ上でモデルの管理ができるようにSageMaker Edge Manager ManagerAgent用に変更を加えてパッケージし、まとめてエッジ上に展開することで、エッジとクラウド上のSageMakerを通信出来る状態にします。この辺りの「エッジ上にエージェントを入れて、クラウドと通信しながら管理、アップデートを行う」という動きはIoTのエッジ管理サービスであるAWS IoT Greengrassに似ていますね。

Edge Managerができること

複数デバイスの管理

フリートをクラウドのSageMaker上に作って、そこにデバイスを登録することで、複数のデバイス内にある機械学習モデルをまとめて管理します。

モデルの監視

SageMaker上でモデルに対しての入力データ、出力データを監視、分析できます。
これによって例えば時間が経って、回りの環境が変わってモデルの精度が落ちた、というような場合もSageMaker上でModel Monitorを使って監視、継続的な改善が可能となります。

ダッシュボード

エッジ上のモデルの様子は提供されたダッシュボードからひと目で確認できます。そこで問題のあるモデルを発見した場合、モデルデータを収集してラベル付け、再学習、再デプロイ、といった操作がクラウド上から可能となります。

複数モデルの管理(近日公開)

例えばロボットなどの複数のモデルを同時に動かす必要がある場合、デバイスのリソース節約のためにエッジ上でのモデルのロード、アンロードが必要となります。
Edge Managerを使うとそこら辺の操作や同じ入力データに対して複数のモデルを効率よく実行するロジック作成などが可能となります。

モデルレジストリと自動化(近日公開)

エッジ上のモデルに対する再学習、再デプロイ、ビルドなどの一連の動きをワークフローとして自動化、追跡できるようになります。

Edge Managerが使えるエッジ

ドキュメントによると、Edge Managerが使えるエッジは

  • Linux: Ubuntu 18.04 / x86-64 bit (ELF binary)、 ARMv8 64 bit (ELF binary)
  • Windows: Windows 10 version 1909 / x86-32 bit (DLL)、 x86-64 bit (DLL)

だそうです。Armv8ということはラズパイ3Bやラズパイ4でも動きそうですね。

東京リージョン使えます

現在Edge Managerが使えるリージョンは

  • US East (N. Virginia)
  • US West (Oregon)
  • US East (Ohio)
  • Europe (Ireland)
  • Europe (Frankfurt)
  • Asia Pacific (Tokyo)

となります。東京リージョン使えますね!

まとめ

ということでSageMaker Edge Managerをご紹介しました。
エッジ上のモデルの管理がクラウドで出来る、となると一気にラクになりそうですね!!