[レポート] 第1回 Amazon SageMaker 事例祭りに参加してきました(前半) #SageMaker #reinvent アップデート情報復習

こんにちは、Mr.Moです。

本日は代休をいただきついでに、気になっていたコチラのセミナーにも参加してきました。 せっかくなので簡単にレポートにまとめたいと思います。

ちなみに後半は下記です。

[レポート] 第1回 Amazon SageMaker 事例祭りに参加してきました(後半) #SageMaker

セミナー概要

Amazon SageMaker は、データサイエンティストやエンジニアが機械学習を行う上での効率を改善し、機械学習にとって重要なイテレーションの負荷を低減しています。
2018年5月より、東京リージョンでサービス提供が開始され、日本のお客様による検討、導入が進んでいます。
本セミナーでは、当該サービスの最新情報や技術情報、活用事例を提供するとともに、実際に導入頂いたお客様による「体験談」をお話しいただきます。

日時 2019 年 1 月 15 日(火 )
開場: 13:15
開演: 13:45 ~17:30
開催場所
〒141-0021  東京都品川区上大崎3-1-1
アジェンダ 13:45~14:30 Amazon SageMakerとは何か(45分)
14:30~15:15 Amazon SageMaker re:Inventアップデート(45分)
15:15~15:45 休憩(30分)
15:45~17:00 Amazon SageMaker 事例発表(各社様 20分程度)
17:00~17:15 Q&A

Amazon SageMakerとは

定期的に開催されている下記のセミナーでAmazon SageMakerに関する詳しい情報が聞けますので本記事では割愛いたします。

https://pages.awscloud.com/AmazonSageMaker20181204-jp.html

Amazon SageMaker re:Inventアップデート

大きく下記の点でお話いただきました。

  • データ準備
  • 開発
  • 学習
  • モデル変換
  • 推論

データ準備

Amazon SageMaker Ground Truth

学習用のデータはラベル(例えば犬の画像、猫の画像かわかるような付加情報)などの情報を付けて用意する必要がある。 本来データへのラベル付けは人が手で行うが(アノテーション作業)、その作業をサポートする新機能。 専用のツールが用意されており、そのツールを使うことでラベル付け作業時に支援を受けられる。
また、自動ラベリング機能もある。例えば、大規模なデータだと全てを手作業でアノテーション作業することが困難になってくるのでそういった場合に使用することが考えられる。 ただし事前に人によってラベリングされたデータが一定量必要であり、そのデータを参考に自動ラベリングは行われる。

開発

Git Integration

元からSageMakerでGitを使えてはいたが、より簡単にGitが使えるようUpdateされた。
Gitとの連携を簡単にできるよう、GUIでの設定画面も用意されている。

New Built-in-Algorithm

新たに下記3種類のアルゴリズムが追加された。ビルトインアルゴリズムは現在、合計で17種類。

  • Object2Vec
  • IP Insights
  • Semantic Segmentation

ML in AWS Marketplace

AWS Marketplaceに機械学習のカテゴリーが新たに追加された。 提供形態は「アルゴリズム」と「モデル」の2種類。 利用用途としては、「アルゴリズム」の方は、自分が持っているデータをトレーニングしたい際に利用し、独自のモデル作りに活用できる。
「モデル」の方は既に学習済みのモデルであるため、誰でもすぐにAWS Marketplaceにあるモデルを使って推論を行うということが可能になる。

学習

強化学習/AWS DeepRacer(プレビュー)

SageMaker上で強化学習を利用する際のサポート。SageMakerから強化学習用のシュミレータとライブラリを利用可能に。
また、強化学習を利用する実践の場としてDeepRacerというサービスも発表された。実態はAWS SageMakerとAWS RoboMakerを組み合わせたサービスになっている。 このサービスにより強化学習を楽しみながら体験・勉強することが可能。

コンテナアップデート

以前はTesorflowとMXNetをSageMakerで利用する際は、コンテナの仕様に合わせた複雑なコードを書く必要があった。 最新のアップデートにより、外部のサンプルコードをSageMaker上である程度そのままの状態で使えるようになった。

学習ジョブモニタリング

メトリクスのモニタリングができるようになった。学習時のモデルの精度や学習の進捗状況をグラフィカルに見ることが可能。
(ただし、事前にメトリクスの定義情報をCloudWatchに転送する仕組みを用意したりと必要な事前作業はある)

モデル変換

Amazon SageMaker Neo

TensorflowやPyTorchのモデルをコンパイルして最適化してくれるサービス。
SageMaker NeoのRuntimeは1MB程度と非常に小さいので、エッジデバイスでの利用用途で非常に便利に活用できると思われる。

推論

Amazon Elastic Inference

推論演算にGPUのリソースを必要な分だけ使用してくれるサービス。
推論時にかかる費用の削減と高速化を同時に実現することができる。

まとめ

個人的にre:inventでのアップデート情報を追えていなかったので大変参考になりました。
長くなりましたが後半に続きます。