Amazonでのレコメンド生成における深層学習とAWS利用について

1,732 views

Published on

2016/10/22 第5回 Machine Learning 15minutes! での講演「Amazonでのレコメンド生成における深層学習とAWS利用について」の資料です。

Published in: Internet
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,732
On SlideShare
0
From Embeds
0
Number of Embeds
929
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Amazonでのレコメンド生成における深層学習とAWS利用について

  1. 1. 1 Amazonでのレコメンド生成に おける深層学習とAWS利用について Ryosuke Iwanaga Solutions Architect Amazon Web Services Japan
  2. 2. 2 自己紹介 • Ryosuke Iwanaga (岩永 亮介) – Twitter/GitHub @riywo • Amazon Web Services Japan • Solutions Architect – Web, Gaming – Big Data / Machine Learning / DevOps / Container • Before Amazon – Software Engineer / Ops Engineer / DBA / etc.
  3. 3. 3 Agenda • 機械学習とAmazon / AWS • 深層学習によるAmazonのレコメンド生成
  4. 4. 4 機械学習とAmazon / AWS
  5. 5. 5 機械学習とは? • 傾向やパターンを発見するために機械を利用し、過 去の実績データに基づく数学的な予測モデルを計算 する • MLモデルは過去に基づきもっともらしい結果の”知 見”を提供する – 機械学習は、単に過去にすでに起こった状態というよりむしろ、未 来に起こりうる結果を導き出す • 過去のデータや統計モデルは、可能性を正確にする ために利用される
  6. 6. 6 学習タスク 推論タスク BIGDATA Labels 学習済みモデル Apple:0.9 Orange:0.1 Strawberry: 0.2 Banana:0.1 学習 推論 エンジン 結果 教師データ 機械学習の構成 ここだけ提供しているSaaSも多い デバイス側で動作させる場合も多い大量の計算リソースが必要 「今日の天気は?」 「晴れです」 推論 エンジン学習 初期パラメータ ニューラルネットワーク定義 結果 配布 配布
  7. 7. 7 Amazonと機械学習 http://www.allthingsdistributed.com/2011/04/the_amazoncom_2010_shareholder.html
  8. 8. 8 Amazonと機械学習 Alexa Prize 高度な会話ができる人工知能 (AI) を現実にするため、 Amazon では今年から Alexa Prize を毎年開催するこ とにしました。会話 AI 分野の発展を目的とし毎年開 催する大学生対象のこのコンテストで、Amazon は初 年度において 250 万ドルを投資しました。 コンテストの結果発表は2017年のre:Invent予定 https://aws.amazon.com/jp/blogs/news/first-annual-alexa-prize-2-5-million-to-advance-conversational-ai/
  9. 9. 9 re:Invent • AWSの最大イベント 今年は11/28-12/2 • 機械学習のセッションも豊富 – State of the Union: Amazon Alexa and Recent Advances in Conversational AI – FINRA: Building a Secure Data Science Platform on AWS – Bringing Deep Learning to the Cloud with Amazon EC2 – Fraud Detection with Amazon Machine Learning on AWS – Data Science and Healthcare: Running Large Scale Analytics and Machine Learning on AWS – Deep Learning in AlexaTransforming Industrial Processes with Deep Learning – Developing Classification and Recommendation Engines with Amazon EMR and Apache Spark – Using MXNet for Recommendation Modeling at Scale – Scalable Deep Learning Using MXNet – 絶賛追加中! https://reinvent.awsevents.com/
  10. 10. 10 MAC401 - Scalable Deep Learning Using MXNet • MXNetのコントリビュータでAWS社員のMu Liが講師のハンズオン • アジェンダ – Module 1. Background on Deep Learning – Module 2. Walkthrough on Setting up AMIs, CloudFormation Templates and other Deep Learning Frameworks on AWS – Module 3. A Peek Under the MXNet Hood (MXNet Internals) – Module 4. Hands on with MXNet: NDArrays, Symbols, And Mechanics of Training Deep Neural Networks – Module 5. Hands on with MXNet: Application Examples Targeting Compute Vision and Recommendation Engines https://www.portal.reinvent.awsevents.com/connect/sessionDetail.ww?SESSION_ID=8523 http://mxnet.io/
  11. 11. 11 Machine Learning on AWSの選択肢 • Amazon Machine Learning – あらゆるスキルレベルの開発者が機械学習 のテクノロジーを利用できるマネージドサービス • Amazon EMRの利用 – Apache SparkやHadoopを利用した分散処理 • On Amazon EC2 – 様々な機械学習ライブラリを利用可能 – GPUインスタンスを活用したDeep Learning
  12. 12. 12 高性能GPUインスタンスタイプ • NVIDIA K80を最大16GPU搭載 • 最大64 vCPUのIntel Broadwell プロセッサと、最大 732GiB RAM • Elastic Network Adaptor (ENA)による20Gbps ネットワーク P2 インスタンス p2.xlarge: $ 0.90 per hour (us-east-1)〜利用可能 リザーブドインスタンスやスポットインスタンスももちろん可能 https://aws.amazon.com/jp/blogs/news/new-p2-instance-type-for-amazon-ec2-up-to-16-gpus/
  13. 13. 13 深層学習によるAmazonのレコメンド生成
  14. 14. 14 Amazonの製品レコメンデーション • 製品A, B, C …, Zを買った人が、次に購入しそ うな製品はなんでしょう? • 推論の入出力 – 入力: 各お客様の購入履歴 – 出力: 各お客様の、各製品に対する購入確率 • 課題 – 製品数・お客様数が膨大なため、学習・推論に時間がかかる
  15. 15. 15 ニューラルネットワークを使った場合 出力層 (10K-10M) 入力層 (10K-10M) 隠れ層 (100-1K) 製品カタログに対して、お客様の購入履歴は極端に小さい →ほとんどの重みがゼロ(疎なネットワーク) 愚直にニューラルネットワークを計算すると、ほとんどの計算は0×0
  16. 16. 16 Amazon DSSTNE: Deep Sparse Scalable Tensor Network Engine  AmazonがOSSとしてリリースしたニューラルネットワーク のフレームワーク  巨大疎データと全結合レイヤに対して最適化されている  モデル並列の複数GPUサポートが、とても効率的  100%の決定論的な実行  SM 3.x, 5.x, 6.xを完全にサポート (Kepler以上のGPU)  標準で分散学習をサポート (約20行のMPI呼び出し)  よくあるユースケース  製品レコメンデーション (製品数は膨大だが、各人の購入履歴は小さい)  自然言語学習 (語彙数は膨大だが、各文脈で使われるのはごく一部) https://github.com/amznlabs/amazon-dsstne
  17. 17. 17 GPUを利用した深層学習とCPUを利用した前後処理 • GPUは超並列学習・推論に最適 – アルゴリズム、パラメータ、フレームワークを変えながら最適 なものを選択 – → 入出力を変えずに、学習器のみを入替えたい • 機械学習はその前後の処理も重要 – データ整形、異常値排除等CPUが得意な処理 – →大量のデータを、分散処理したい
  18. 18. 18 Amazonのレコメンド生成基盤 • GPUとCPUを扱うジョブを、単一のインタ フェースからインタラクティブに利用可能 – Amazon EMR + Apache Spark + Apache Zeppelin • GPUジョブのスケジューリングと学習器入替え を容易にするために、Dockerを利用 – Amazon ECS + Docker + GPU instances
  19. 19. 19 アーキテクチャ
  20. 20. 20 学習: モデル並列 • ネットワークが巨大なため、高々12GBしかな いGPUメモリでは足りない • モデル並列: 複数のGPUに対して、ニューラル ネットのパラメータを分散並列して計算させる – データはどのGPUでも同じように全データを扱う • 1インスタンスにある複数のGPUを利用
  21. 21. 21 学習: モデル並列
  22. 22. 22 推論: データ並列 • 学習されたモデルを使い、全お客様に対してレコ メンデーション(Top N)を生成する – 各お客様向けの推論はEmbarrassingly Parallel(互いに関連しない) • 複数インスタンスにあるGPUに対して、それぞれ お客様向けの推論タスクを割り振る • インスタンス数を2倍にすれば、予測時間は1/2
  23. 23. 23 推論: データ並列
  24. 24. 24 詳細な情報はAWSのブログをご覧下さい • Apache SparkとAmazon DSSTNEを使った、Amazon規 模のレコメンデーション生成 – 今回も紹介しているアーキテクチャの詳細な解説です • GPU高速化のワークロードをAmazon ECS上で管理する – 上記のアーキテクチャを簡単に試すことができるAWS CloudFormationテン プレート付きです • 来週10/27には、Hadoop Summit Tokyo 2016でも同様 の事例を発表します。 – http://hadoopsummit.org/tokyo/
  25. 25. 25 まとめ • Amazon/AWSには豊富な機械学習の事例がある – AWSの強力なクラウドのパワーがその源泉 – P2インスタンス! – 今年もre:Inventで多数の事例が発表予定 • Amazonの製品レコメンデーション – 課題解決のために、深層学習のフレームワークを開発・公開 – AWSを使ってスケーラブルな基盤を構築 – あなたも今すぐ試せる!(自分でやってみるのが一番の理解)
  26. 26. 26

×