[AWS re:Invent 2018] Keynoteでリリース発表されたAI/Machine Learningの各種サービスについて

[docomo Developer support](https://dev.smt.docomo.ne.jp/)の赤塚です．

11月28日の[AWS re:Invent 2018](https://reinvent.awsevents.com/)のKeynoteにてAndy Jassy(AWSのCEO)からMachine Learningに関連するAWSソリューションのリリースがアナウンスされました．Keynoteの動画は[ここ](https://www.youtube.com/watch?v=ZOIkOnW640A&t=3726s)で確認することができます．3時間のKeynoteでMachine Learningだけで1時間を割いていることからMachine Learningの重要性がわかります．

今回の発表では，学習コスト及び推論コストを削減するためのソリューションが提供され，実運用でのGPGPUリソースの利用コストの改善が見込まれます．また，品質の高い大規模な学習データを作成するためのソリューションや自身のアルゴリズムを売買出来るMarketplaceがリリースされ，これまで以上に機械学習を用いたサービスの開発がしやすい環境が整ってきました．

本投稿でAndy JassyのKeynoteで発表されたサービスリリースを私の個人的に意見も踏まえて解説していきます．なお，DeepRacerについては記載を省略しています．*個人的な意見はイタリックで記載するようにしています*

# リリースされたサービスのまとめ

- **ML Framework + Infrastructure**は機械学習のフレームワーク及びインフラストラクチャ
    - GPUインスタンスのP3dn (※1)
    - TensorFlowにおいて学習時のGPUリソースの利用を最適化 (※2)
    - AWS Inferentia
    - Amazon Elastic Inference
- **ML Service**
    - Amazon SageMaker Ground Truth
    - AWS Marketplace for machine learning
    - Amazon SageMaker Neo (※1)
- **AI Service**
    - Amazon Textract「
    - Amazon Personalizeをリリース
    - Amazon Forecastをリリース

※1： *P3dnとAmazon SageMaker NeoはAndy JassyのKeynoteではなく，Monday Night Liveでリリースされたものですが，リストに追記しておきました．*
※2： *ソリューションではないですが興味深い内容だったので追記しておきました．*

# はじめに

AWSが提供しているAI/MLのソリューションのカテゴリを下記の通り分けている．

- **ML Framework + Infrastructure**は機械学習のフレームワーク及びインフラストラクチャ
- **ML Service**はフルマネージドの機械学習サービス
- **AI Service**はAIの知識を必要なく利用できるAWSサービス．

それぞれに関してのリリースを以降記載します．

![IMG_7059.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/d12b51c9-667f-ba60-bdcc-75424f46c75b.jpeg)

# 1. ML Framework + Infrastructure に関するリリース

ML Framework+InfrastructureはTensforFlow/mxnext/PyTorchなどの機械学習フレームワークや，GPUインスタンスなどのインフラストラクチャに関するリリースです．AWSが提供するサービスで最も機械学習の知識が必要な方を対象にしています．

## 1.1 よりパワフルなGPUインスタンスのリリース (P3dnのリリース)

AWSからはよりパワフルな新しいGPUインスタンスとしてP3dnをリリースされます． これは，11月26日月曜日の夜のMonday Night LiveでAWSから発表されました．[AWSブログ](https://aws.amazon.com/jp/blogs/aws/aws-previews-and-pre-announcements-at-reinvent-2018-monday-night-live/)でも記載があります．．P3dnを利用することで機械学習においてより複雑な大きな学習モデルの構築が可能となります．

![IMG_7060.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/e5f917d1-0a7c-2e13-2592-397a10c5eea5.jpeg)
![IMG_7061.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/da545431-21ae-1d29-2c09-49bc83a4bfbb.jpeg)

## 1.2. TensorFlowにおいて学習時のGPUリソースの利用を最適化

AWSにおいてGPUリソースは利用料金が高く，いかに効率的にリソースを利用できるかが一つの課題です．TensorFlowの利用において，GPUリソースを有効活用できていない課題がありました．AWSでは，TensorFlowにおいて学習時のGPUリソースの利用を最適化することで，これまで65%しか有効活用できていなかったGPUリソースを90%の利用まで改善しました．これにより学習時間が30分から14分に短縮したとAndy Jassyは説明しています．

![IMG_7065.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/e3bd7b9f-c3ec-d8c0-461f-eff15f1f4280.jpeg)
![IMG_7066.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/a9e0941b-f1b3-675b-b529-e402008cbbf1.jpeg)

AWSとしては利用者が使いたいフレームワークを選択出来るように複数のソリューションを常にサポートすると言っています．現状はTensorFlow, mxnet, PyTorchが特に手厚くサポートされていますが，将来的には別のフレームワークに変わる可能性があるとAndy Jassyは説明します．

![IMG_7067.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/6951a02a-b18e-bc88-b46e-dd3ccb5b8f19.jpeg)

すべてのTensorFlowを利用しているユーザに

## 1.3. 推論のサポート

これまでは学習に対するサポートするためのソリューションをAWSはフォーカスしていましたが，実際の利用に置いて，インフラのコストの観点から推論と比べると学習にかかるリソース費用はごく一部で,約9割のインフラのコストは推論だと説明しています．

![IMG_7069.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/a0a6af2c-6e4b-f63f-989a-5c2bccfc4077.jpeg)
![IMG_7070.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/919e505c-a364-428f-dc0d-409704af6844.jpeg)

### 1.3.1 GPU処理能力(TFLOPS)を柔軟に選択出来るソリューションを提供 (Amazon Elastic Inference の リリース)

これまでは，実利用において推論時にGPUリソースを無駄にすることが多かったです(弊社でもこれはあるあるです)．Amazon Elastic Inference　は　必要なGPU処理能力(TFLOPS)だけをEC2インスタンスにアタッチすることでこのムダを最大75%省くことができます．本日から利用可能．(Generally Available Today)

![IMG_7075.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/7bf926aa-1ac8-8f32-d58e-7948f306d718.jpeg)
![IMG_7077.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/9c5485a9-e782-8773-2db8-38be234ddbc9.jpeg)
![IMG_7078.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/56892a11-5cdb-4382-a957-a63fa0bf146b.jpeg)
![IMG_7079.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/ed7f1eeb-e9e6-b190-d39c-4d06d4a4a4a4.jpeg)
![IMG_7082.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/f4629b38-17ca-522e-05bc-d33b0378c79e.jpeg)

### 1.3.2. 推論専用チップをAWSが開発(AWS Inferentiaのリリース)

詳細は不明ですが，ハイスループット，低いレイテンシー，高い処理能力を実現するために推論専用チップをAWSが開発しているようです．このチップを利用することで，推論時の無駄を省く事ができることが期待されます．このチップはAmazon SageMaker, Amazon EC2, and Amazon Elastic Inferenceなどで利用が可能とあります．2019の後半にリリース．(Available Late 2019)

![IMG_7085.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/16a3eacc-ed0d-e938-7c97-6aa844be24a0.jpeg)
![IMG_7090.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/bfa561c9-91f8-1f07-44e4-96f99b8f7f83.jpeg)

# 2. ML Services に関するリリース

下記の通り学習に置いて複数ステップがあります．

- 学習データの収集
- 最適な学習アルゴリズムの選定
- 学習環境の構築
- 学習及びチューニングの実施
- 学習モデルを利用環境にデプロイ
- プロダクション環境の保守運用（スケーリング含む）

*個人的には，この中でも最も時間がかかり，且つ，最も重要なステップは学習データの収集です．OSSで機械学習への敷居が下がった今，いかに大規模かつ品質の高い学習データを持つことが出来るかが鍵となります．*

![IMG_7092.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/adf67280-291e-96df-82c6-2a1e44f9761c.jpeg)
![IMG_7096.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/03fe985a-3778-62be-84b0-8ff75e1a3c65.jpeg)
![IMG_7097.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/55687bb0-4f4e-3d2d-f18b-fc0b580cd411.jpeg)
![IMG_7098.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/83f48c80-82cc-2513-aa8a-80434f2382dc.jpeg)
![IMG_7099.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/dd61bf56-bd44-ba12-b837-475af4257edc.jpeg)
![IMG_7100.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/946b9978-ea0f-bdca-1aec-73e0588c3a88.jpeg)
![IMG_7102.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/ef172594-c535-0ed5-9ed6-ef30fe5e7c04.jpeg)

## 2.1. 学習データを自動的に増やしてくれるソリューション (Amazon SageMaker Ground Truth)

Andy Jassyの説明では，Amazon SageMaker Ground Truthでは，Machine Learningを用いて，入力されたデータの認識結果の信頼度が高ければ，機械的にデータにアノテーションを実施し，信頼度が低ければ人手でアノテーションを実施します．本日から利用可能(Generally Avaiable Today)．

*本ソリューションのメリットは機械的に大規模の学習データの作成できることと，アノテーションに必要な人件費を削減出来ることです．*

![IMG_7117.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/497105fd-7c1e-84ba-71e4-dc03ca9ce836.jpeg)
![IMG_7120.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/9fa04d6f-c026-c399-bf8a-eee9dabe8009.jpeg)

で上記の当日の発表では説明がありませんでしたが，下記のブログにあるとおりAWSはアノテーションに必要となるGUIも提供してくれるようです．

[Amazon SageMaker Ground Truth — 高い精度のデータセットを構築し、ラベル付けのコストを最大70%削減](https://aws.amazon.com/jp/blogs/news/amazon-sagemaker-ground-truth/)

*画像認識において，本ソリューションは機械学的に学習データを増やすだけでなく，アノテーションに必要となる環境も提供してくれるので，学習データ作成にはぜひ使うべきだと思いました．*

## 2.2. アルゴリズムが売買できるMarketplaceを提供 (AWS Marketplace for machine learningをリリース)

Amazon SageMakerは大きく分けで２つ利用方法があります．一つはAWSが準備したbuilt-inアルゴリズムを利用する．一つは自身でコーディングしアルゴリズムを作る．後者はDeep Learningフレームワークを利用し，自身でネットワークを構築して学習したりすることを意味します．

SageMakerリリース後，built-inアルゴリズムの数は増えてきましたが，AWS利用者が求める全ての提供はできていないようです．

![IMG_7131.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/45cc791b-6a02-002d-6095-2bf68c9e4539.jpeg)

そこで，AWSでは利用者間でアルゴリズムの売買が可能なマーケットプレイスをリリースしました．本日から利用可能 (Generally Available Today)

![IMG_7138.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/bec65904-9cd4-8133-4612-30d4c5aaa142.jpeg)
![IMG_7139.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/091d8311-2185-5c45-4593-ebc20a95fc63.jpeg)

*確かにAWSだけで作れるアルゴリズムの数は限りがあるので，なるほどなと思いました．気になったのは利用するアルゴリズムがセキュリティ的によろしくないことをしないかの確認方法があるかどうかです．*

![IMG_7145.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/8f483563-b9c9-bd5e-9430-8400c329a42a.jpeg)

## 2.3. 強化学習のソリューションを提供 (Amazon SageMaker RLをリリース)

機械学習には教師あり学習，教師なし学習，そして強化学習の３つがあります．AWSは強化学習に特化したサービスを提供します．フルマネージドのサービスです．本日から利用可能(Generally Available Today)

![IMG_7148.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/fc71646d-3ec4-2988-d4a7-bcda5ca24bf1.jpeg)
![IMG_7151.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/a0ea9b77-16fb-e01a-433e-9f925d3af571.jpeg)
![IMG_7153.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/7115d498-54ff-8a6c-1532-110a772b59ef.jpeg)

[AWSのブログ](https://aws.amazon.com/jp/blogs/aws/amazon-sagemaker-rl-managed-reinforcement-learning-with-amazon-sagemaker/)にて本ソリューションについて細かく紹介がされています．

講演ではDeepRacerの紹介がありますが，本投稿では省略します．

# 3. AI Services に関するリリース

AWSは画像認識, Chatbot, 音声認識, 翻訳と様々な技術を開発者に提供しています．いくつか追加でリリースがあったので，それを紹介します．

*個人的にはこれらAPIは簡易的なAPIであり，あくまで初めのスタートとしてコストをかけずにソリューションを作成出来るが売りだと理解しています．より深くユーザが抱えている課題を解決するには高度な技術の開発が必要です．*

## 3.1. 文字認識を提供 (Amazon Textractをリリース)

Amazon Textractは単純な文字認識ではなく，表などの構造データも認識することが可能です．フルマネージドのサービスです．本日から利用可能 (Available in Preview Today)

![IMG_7180.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/07ff5098-a79a-0f7a-87d7-6ddcefef8b1a.jpeg)

従来のOCRは構造データを理解できない．

![IMG_7182.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/e85f535c-46f7-598f-4b63-fd9775e3e75a.jpeg)

Amazon Textractでは構造データを理解

![IMG_7184.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/f537e5b1-72db-6625-8ae5-ba08de542825.jpeg)
![IMG_7187.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/f1fea436-6eed-33a2-b740-b25776a1d06f.jpeg)

## 3.2. パーソナライズソリューションを提供 (Amazon Personalizeをリリース)

Amazon Personalizeで入力されたデータを学習し，ユーザに対して最適なレコメンデーションが出来るパーソナライズ機能を提供します．フルマネージドのサービスです．詳細は[AWSの技術ブログ](https://aws.amazon.com/jp/blogs/news/amazon-personalize-real-time-personalization-and-recommendation-for-everyone/)を参照してください．
本日から利用可能です．(Generally Available Today)

![IMG_7191.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/4b0dc3e1-16d1-ede3-c25a-2e43344b6104.jpeg)
![IMG_7198.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/7d394a29-ae06-0c66-c72a-729e47153c9d.jpeg)


*詳細を把握できていませんが，簡易的なレコメンデーションを提供できる機能だと推察します．*

## 3.3. 時系列データから予測するソリューションを提供(Amazon Forecastのリリース)

時系列データを事前に学習することで，将来を予測する機械学習サービスを提供．ユースケースでいうと，需要予測，ウェブのトラヒック予測，などなどです．本日から利用可能です．(Generally Available Today)

![IMG_7210.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/52cd68ff-f7b5-18d3-07a2-30ef774e37f2.jpeg)
![IMG_7212.JPG](https://qiita-image-store.s3.amazonaws.com/0/262328/8c79b32f-aa0e-eccd-47db-47113e60137a.jpeg)

---

どうでしたでしょうか？ AI/ML系で沢山のサービスがリリースされました．個人的には推論コストが削減出来るAmazon Elastic Inference，学習データの作成をサポートしてくれるAmazon SageMaker Ground Truth，アルゴリズムの売買ができるAWS Marketplace for machine learningに期待しています．