KEMBAR78
AWS ML Update | PPTX
Makoto Shimura, Analytics Specialist Solution Architect
Amazon Web Services Japan, K. K.
2018.07.23
AWS ML Services Update
自己紹介
志村 誠
アナリティクススペシャリスト ソリューションアーキテクト
• データ分析・機械学習系サービスを担当
• 前職はログ解析基盤構築・データ分析等
• 好きなサービス
⎼ Amazon Athena
⎼ AWS Glue
⎼ そして Amazon SageMaker
Agenda
AWS ML の直近半年のアップデート
ML Ops on AWS のアーキテクチャ紹介
AWS ML のアップデート
Services
Amazon
Rekognition
Image
Platform
CPU IoT Mobile
Frameworks
&
Infrastructure GPU
AWS が提供する ML サービススタック
Amazon
Polly
Amazon
Lex
Amazon
Comprehend
Amazon
Translate
Amazon
Transcribe
Amazon
Rekognition
Video
Tensorflow Caffe Torch Theano CNTK KerasMXNet
AWS Deep Learning AMI (Amazon Linux / Ubuntu / Windows)
Chainer
Amazon SageMaker AWS DeepLens
Services
Amazon
Rekognition
Image
Platform
CPU IoT Mobile
Frameworks
&
Infrastructure GPU
AWS が提供する ML サービススタック
Amazon
Polly
Amazon
Lex
Amazon
Comprehend
Amazon
Translate
Amazon
Transcribe
Amazon
Rekognition
Video
Tensorflow Caffe Torch Theano CNTK KerasMXNet
AWS Deep Learning AMI (Amazon Linux / Ubuntu / Windows)
Chainer
Amazon SageMaker AWS DeepLens
Amazon Rekognition [Video] が東京リージョンで利用可能に
新たに東京,シドニーリージョンで利用可能に
Rekognition だけでなく,Rekognition Video も対応
東京リージョンの S3 にある画像を,他リージョンに移すこ
となく IndexFaces で顔インデックスに登録可能に
https://aws.amazon.com/about-aws/whats-new/2018/02/aws-deep-learning-amis-introduce-chainer-pytorch-
mxnet/
Amazon Transcribe が一般利用可能に
2017 の re:Invent で発
表された Amazon
Transcribe が 4/4 に GA
あわせて,カスタム語
彙の登録も利用可能に
バージニア北部,オハ
イオ,オレゴン,アイ
ルランドで利用可能
https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-transcribe-is-now-generally-available/
Amazon Translate が一般利用可能に
2017 の re:Invent で発表
された Amazon Translate
が 4/4 に GA
2018/7/17 に日本語,ロシ
ア語,イタリア語,中国
繁体字,トルコ語,チェ
コ語に対応
バージニア北部,オハイ
オ,オレゴン,アイルラ
ンドで利用可能
https://aws.amazon.com/about-aws/whats-new/2018/04/amazon-translate-is-now-generally-available/
Services
Amazon
Rekognition
Image
Platform
CPU IoT Mobile
Frameworks
&
Infrastructure GPU
AWS が提供する ML サービススタック
Amazon
Polly
Amazon
Lex
Amazon
Comprehend
Amazon
Translate
Amazon
Transcribe
Amazon
Rekognition
Video
Tensorflow Caffe Torch Theano CNTK KerasMXNet
AWS Deep Learning AMI (Amazon Linux / Ubuntu / Windows)
Chainer
Amazon SageMaker AWS DeepLens
Amazon SageMaker が東京リージョンで利用可能に
東京リージョンの S3 に溜まったデータを使ってのモデル学習が可能に
国外にデータを出せないお客さまでも,SageMaker を利用することが
可能に
https://aws.amazon.com/jp/blogs/news/amazon-sagemake-tokyo-chainer-launch/
Amazon SageMaker でモデルのハイパーパラメータ
チューニングが可能に
SageMaker に,同一モデルに対して,
ハイパーパラメータを自動で探索する機
能が追加
合計の探索回数,1 試行あたりの同時探
索数,また探索対象のハイパーパラメー
タ一覧と,その探索範囲を指定
ベイズ最適化に基づいて,SageMaker
側で自動で探索を実行
これにより,モデルの最適なハイパーパ
ラメータを非常に簡単に求めることが可
能に
https://aws.amazon.com/blogs/aws/sagemaker-automatic-model-tuning/
Amazon SageMaker の対応フレームワークの拡充
SageMaker でサポートされるディープラーニングフレームワーク
に,新たに以下の 2 つが追加
• Chainer
• PyTorch
また,既存の対応済フレームワークも最新バージョンに追従
• Tensorflow: 1.8 までサポート済み
• MXNet: 1.1 までサポート済み
https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-now-supports-pytorch-and-tensorflow-1-8/
Amazon SageMaker の推論エンドポイントがオートスケーリン
グおよびバッチ推論に対応
ターゲットトラッキングスケーリング
ポリシーを使用
• ターゲットメトリクスとしては,主に「1 分
間の 1 インスタンスあたりの平均リクエ
スト数」を使用
バッチ推論は,別のエンドポイント
が立ち,推論を行なった後は自動
で終了する
https://aws.amazon.com/about-aws/whats-new/2018/02/aws-deep-learning-amis-introduce-chainer-pytorch-mxnet/
Amazon SageMaker のノートブックインスタンスで,起動時に
自動実行されるスクリプトを定義可能に
ライフサイクル設定という名称
で,インスタンス作成時,およ
びインスタンス開始に実行する
スクリプトを定義可能に
必要なパッケージのインストー
ルや,再起動時のクリーニング
処理などを自動で行えるように
なった
https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-sagemaker-new-notebook-features/
Amazon SageMaker のビルトインアルゴリズム拡充
新たに以下のアルゴリズムが追加
• DeepAR: 深層学習ベースの,カテゴリを考慮した複数時系列の予測
• BlazingText: マルチ CPU / GPU を活用した高速な word2vec 実装
• Random Cut Forest: 時系列データに対する異常検知
• kNN: 定番の k 近傍法を,推論時に量子化や次元圧縮等で高速化
• Object Detection: 物体検出アルゴリズムの SSD を利用可能に
既存のアルゴリズムに,以下の改良
• LinearLearner: 新しい損失関数と,early stopping のサポート
• DeepAR: 欠損値,複数カテゴリ,カスタム特徴量等のサポート
https://aws.amazon.com/jp/about-aws/whats-new/2018/01/deepar-algorithm-now-available-in-amazon-sagemaker/
https://aws.amazon.com/jp/about-aws/whats-new/2018/04/random-cut-forest-algorithm-now-available-in-amazon-sagemaker/
https://aws.amazon.com/blogs/machine-learning/object-detection-algorithm-now-available-in-amazon-sagemaker/
https://aws.amazon.com/jp/about-aws/whats-new/2018/01/blazingtext-implementation-now-available-for-scaling-and-accelerating-word2vec-algorithm-in-amazon-sagemaker/
https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-deepar-now-supports-missing-values-categorical-and-time-series-features-and-generalized-frequencies/
https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-supports-knn-classification-and-regression/
AWS DeepLens が発売され,さまざまな機能も追加
6/14 より Amazon.com で発売
が開始され,米国内での利用が
可能に(日本国内では技適等の
関係でまだ利用不可)
ディープラーニングフレームワー
クとして,Tensorflow, Caffe,
MXNet の 3 つをサポート
Kinesis Video Streams へのカメ
ラ動画送信をサポート
https://aws.amazon.com/jp/about-aws/whats-new/2018/06/aws-deeplens-tensorflow-caffe-mxnet-kinesis-video-streams-buy-now/
Services
Amazon
Rekognition
Image
Platform
CPU IoT Mobile
Frameworks
&
Infrastructure GPU
AWS が提供する ML サービススタック
Amazon
Polly
Amazon
Lex
Amazon
Comprehend
Amazon
Translate
Amazon
Transcribe
Amazon
Rekognition
Video
Tensorflow Caffe Torch Theano CNTK KerasMXNet
AWS Deep Learning AMI (Amazon Linux / Ubuntu / Windows)
Chainer
Amazon SageMaker AWS DeepLens
AWS Greengrass ML Inference が一般利用可能に
AWS Greengrass core を使ってい
るデバイスに対して,機械学習モデ
ルを直接デプロイすることが可能に
SageMaker と連携することで,クラ
ウドで学習,エッジで推論の仕組み
を簡単に構築
Intel Atom, Jetson TX2, Rasberry
Pi に対応
DeepLens も内部に Greengrass
を搭載しており,この機能を利用可
能
https://aws.amazon.com/jp/about-aws/whats-new/2018/04/aws-greengrass-ml-inference/
ML Ops on AWS のアーキテクチャ紹介
ML Ops という考え方
ML はイテレーティブにモデルの改善,新しいデータによる再学習,
絶え間ないモデルの評価を行なっていく必要がある
DevOps と同様のアプローチを,ML にも当てはめることができる
ML の主な特徴として,以下の点がある
• 実際に本番投入してビジネス KPI への影響を見るまで,モデルが本当に意
味があるかはわからない
• ほとんどのケースで,常に A/B テストを行う必要性がある
• データの前処理部分まで含めた再現性が求められる
• ML モデルの学習部分で何度も繰り返し処理が発生する
ML Ops でよくある問題を解決する
Infrastructure as Code:
• 開発環境と本番環境でライブラリが違う問題
• 一度学習したモデルを再現できない問題
micsoservices:
• 開発環境と本番環境で実行環境自体がまるで違う問題
• 新しいモデルを作ってもすぐにデプロイできない問題
• あるサービスのモデルのデプロイが他サービスに影響する問題
Continuous Delivery:
• 新しいモデルをデプロイしたら悲惨な予測を返すことがある問題
ML Ops を実現するための AWS サービス群
Infrastructure as Codemicroservices Continuous Deploy
Amazon
ECR
AWS
CodeBuild
AWS Step
Functions
Amazon
SageMaker
AWS
Greengrass
AWS
CodeCommit
Amazon
ECS
Amazon
SageMaker
Amazon SageMaker
データサイエンティストや ML エンジニアが
機械学習のサイクルを高速に回すためのサービス
開発 学習 推論
SageMaker API を
叩いてジョブを実行
複数ジョブを同時実行
分散学習も簡単に実行
コンソールから起動
主要ライブラリは
プリインストール済
SageMaker API から
エンドポイント作成
オートスケーリング
A/Bテスト
Jupyter Notebook Docker コンテナ Docker コンテナ
AWS 上での ML システムの
典型的なアーキテクチャ
サーバサイドのリアルタイム推論
ユーザーの属性や行動履歴に応じた,
リアルタイムのコンテンツ推薦
Kinesis
Firehose
S3
SageMaker
Glue
Athena QuickSight
App
Servers
サーバサイドのバッチ推論
EC サイトで商品ページを表示したら,
関連するおすすめアイテムを表示
Kinesis
Firehose
S3
Glue
Athena QuickSight
App
Servers
DynamoDB SageMaker
エッジサイドのリアルタイム推論
工場の生産ラインにカメラを設置し,
撮影した画像から不良品を判定
Camera Device
Detection App
GPU
Greengrass Core
Camera
AWS IoT
Glue
Athena QuickSight
S3 SageMaker
Greengrass
ML サイクルのオートメーション
StepFunctions による ML モデル更新の自動化
Start
CodeBuild
StartBuild
学習コンテナ
SageMaker
CreateTrainingJob
CodeBuild
StartBuild
推論コンテナ
SageMaker
CreateModel
SageMaker
CreateEndpointConfig
SageMaker
CreateEndpoint
UndateEndpoint
wait
wait
wait wait
SNS
エラー通知
SNS
成功通知
Greengrass
CreateDeployment
データ加工部分も含めて StepFunctions で管理
RDS
S3
RedShift
Glue
学習用入力
データの作成
S3
Glue
データの
スキーマ管理
RDS
メタデータを
バージョン含めて管理
SageMaker
学習ジョブの実行と
モデルのデプロイ
メタデータ管理
複数の機械学習タスクで
特徴量を使いまわす仕組み
その他の
ワークフローエンジンを
利用することも可能
複数の ML モデル学習時の精度評価
Start
SageMaker
CreateTrainingJob
CloudWatchLogs
学習ジョブの
ログを取得
Lambda
モデル精度を取得して
DB に書き込み
QuickSight
リーダーボード
複数モデルの比較
SageMaker
CreateTrainingJob
SageMaker
CreateTrainingJob
......
RDS
モデルに関するリソース群の管理
学習用データを作成したスクリプトを管理
データ本体は S3 に置いて,キー名を管理
データは消さずに,新しいデータを追加するだけ
メタデータは別途 RDS に書くなりする
Start
実行するジョブ名や,学習後のモデル名を管理
CreateTrainingJob や CreateModel を叩くときに指定
ハイパーパラメータも JSON ファイル等の形で管理
学習に用いたコンテナイメージの ID を管理
コンテナイメージをビルドするための Dockerfile も管理
CodeCommit
S3
SageMaker
ECR
DVCGit LFS
既存のデータの
バージョン管理ツール
本番環境での AB テストと効果測定
モデル名と
予測値を返却
特徴量を
リクエスト
モデル名・予測値・結果を収集
Elasticsearch
Service
テスト結果の
リアルタイム可視化
Lambda
テスト結果の集計
SNS
エラー通知
域値以下の
結果
S3
テスト結果の
履歴を保存
Athena & QuickSight
長期的なトレンドを
集計して可視化
SageMaker
複数モデルをホストし
常時 AB テスト
App
Server
s
Kinesis
クラウド / オンプレのハイブリッド
オンプレ本番環境
ML モデルに関するリソースは,すべて AWS 側で管理
S3 を介して AWS とオンプレで連携
オンプレ本番環境
作成済みの ML モデルの,バイナリデータ以降を SageMaker で管理
S3 を介してオンプレと AWS で連携
SageMaker S3CodeBuild
SageMakerS3
Direct
Connect
Direct
Connect
AWS ML Update

AWS ML Update