Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

データレイクを基盤としたAWS上での機械学習サービス構築

8,482 views

Published on

2016/12/17開催「今年もやるよ!ビッグデータオールスターズ -日本を代表するビッグデータエンジニア・マーケターが大集結!- 」での発表資料「データレイクを基盤としたAWS上での機械学習サービス構築」です

Published in: Internet

データレイクを基盤としたAWS上での機械学習サービス構築

  1. 1. データレイクを基盤とした AWS上での機械学習サービス構築 Makoto Shimura Data Science SA, Amazon Web Services Japan 2016/12/18
  2. 2. 自己紹介 • 志村 誠 Amazon Web Services Japan Data Science SA • ビッグデータやデータサイエンスに関する案件を担当 • 好きなAWSのサービス: S3とRedshift 2
  3. 3. Agenda • AWSにおける機械学習の取り組み • データレイクアーキテクチャ • データレイクをさらに便利にする新サービス • AWS上での機械学習モデルの構築 • re:Invent 2016: Machine Learning Track 3
  4. 4. AWSにおける機械学習の取り組み 4
  5. 5. 世界中に広がるデータセンタ群 5 16のリージョンと42のAZ 1. AWS GovCloud (2) 2. オレゴン (3) 3. 北カリフォルニア (3) 4. バージニア北部 (5) 5. オハイオ (3) 6. サンパウロ (3) 7. アイルランド (3) 8. フランクフルト (2) 9. シンガポール (2) 10. シドニー (3) 11. 東京 (3) 12. ソウル (2) 13. ムンバイ (2) 14. 北京 (2) 15. モントリオール (2) 16. ロンドン(2) 2リージョンを追加予定 1. パリ 2. 寧夏 2 2 2016/12/18時点
  6. 6. AWSのイノベーションの速度 6 24 48 61 82 159 280 516 722 2008 2009 2010 2011 2012 2013 2014 2015 2015年には722のメジャーな新機能や 新サービスがリリースされました
  7. 7. Amazonでの機械学習の取り組み
  8. 8. 画像/音声認識を活用したサービス 8 • Amazon Go – レジのないコンビニ – シアトルにてテスト出店 – 各種認識技術で購入商品を判定 • Amazon Echo / Amazon Fire TV – 音声認識 / 音声検索 – 自然言語理解
  9. 9. 物流倉庫の自動化 • Amazon Picking Challenge – ロボットアームを自動制御するコンテスト – 物体判別や物体の状態認識 • 配送業務の効率化 – ロボットを活用して作業の効率化 9
  10. 10. Amazon Rekognition • 深層学習の技術を利用した画像認識のマネージドサービス • 学習済みモデルを使って画像の「状況」「人物の顔」「物体」を検出
  11. 11. Amazon Polly • フルマネージド型の”Text-to-speech”機能を提供する新サービス • 発音の強弱や速度調整,辞書の追加などが可能
  12. 12. Amazon Lex • 音声またはテキストメッセージに応答するチャットボット開発を 容易にするサービス
  13. 13. AWSを活用して効果的に機械学習サービスを 構築する方法をご紹介します 13
  14. 14. データレイクアーキテクチャ
  15. 15. 機械学習サービスの話ではない? いえ,そんなことはありません
  16. 16. 機械学習で大事なのは,継続的な改善サイクル • 機械学習は,それ単体では完結しない – 必要なデータを収集 – さまざまな前処理 – データの可視化や集計 – モデルの構築 – モデルのサービスへの適用 – 適用結果に基づいたモデルおよびサービスの改善 • サイクルを高速に回すためには 大規模データの適切なハンドリングが重要
  17. 17. 既存のアーキテクチャ
  18. 18. データウェアハウスにデータを蓄積 18 Databases Logs Data Warehouse BI Report
  19. 19. データウェアハウスの利点と欠点 • スキーマが定義されて いる • データの型が強制され ている • 安定的なエコシステム が構築されており, 簡単にアクセスできる • すべてのデータに対し て,あらかじめスキー マと型が必要 • 事業環境の変化に対応 するコストが非常に高 い • 非定型データを扱うの が困難 19 利点 欠点
  20. 20. 入出力の質と量が大きく変化した結果… 20 Databases Logs Data Warehouse Events Media BI Report Lab Realtime Machine Learning
  21. 21. Hadoopクラスタにデータを蓄積 21 Databases Logs BI Report ETL Machine Learning
  22. 22. さまざまな運用上の問題が生まれる • CPUとストレージのいずれかのみが不足しているの に,不足分だけを追加することができない • さまざまなワークロードが走り,かつ時間とともに 変化するため,適切なクラスタスペックの選定が困 難 • ミドルウェアアップデートやハードウェア故障対応 など,クラスタの運用コストが高い 22
  23. 23. 既存のアーキテクチャの問題を どうやって解決するか 23
  24. 24. データレイクアーキテクチャ 24 IoT API GW lambda KinesisLogs Databases S3 EMR (ETL) EMR (ML) Redshift Elasticsearch Service BI Dynamo DB
  25. 25. データレイクのポイント • すべてのデータを一箇所に集めて保存 • コンピュートとストレージの分離 • データと用途に応じた適切な処理方法の選択 25
  26. 26. すべてのデータを一箇所に集めて保存 • 分析する内容が,データを集める段階で完璧に わかっていることはありえない • まずは,すべてのデータを一箇所に集めておく – サイロ化を防ぐ • メタデータを付与して管理 – 後から再加工できるようにするため 26
  27. 27. コンピュートとストレージの分離 • CPUとストレージ,足りない分だけを追加する ことが可能 • ワークロードに応じた,適切なコンピューティ ングリソースの確保 • 実質無限の容量を持つ,S3というストレージ 27
  28. 28. データと用途に応じた適切な処理方法の選択 • HiveによるETLバッチ – I/Oスループットを重視したワークロード • Sparkによる機械学習 – CPU/メモリ重視でイテレーションを高速化 • Elasticsearch & Kibanaによる可視化 – モデルの適用結果をクイックに確認 28
  29. 29. Amazon S3 • 何でも保存できる (オブジェクトストレージ) • スケール可能 / 弾力的 • 99.999999999% の耐久性 (イレブン・ナイン) • 低コスト(月額 $0.025/GB* ) • 全てのAWSサービスにとって仮想的なデータレイヤ 29 *2016/12時点
  30. 30. EMR 30 • フルマネージドのHadoopクラスタ • 必要なときに立ち上げて,ジョブを実行したら落とす • データはS3から読み込んで,S3に書き出す • ETLから機械学習,ストリーム処理まで様々な用途 • アップデートの頻度が高く,最新バージョンのOSSを 利用可能 • Auto Scalingで負荷に応じてノード数を増減可能
  31. 31. データレイクを活用した事例 31
  32. 32. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scott Donaldson, Senior Director Clayton Kovar, Principal Architect EMR と 対話的な分析
  33. 33. 最大で 750億件の イベントが 毎日 5 PBを超える ストレージ 投資家を 保護する マーケットを 清廉に保つ アメリカの 99%の株取引と 70%のオプション を監視している マーケットの 再構築は 10兆もの ノードとエッジが 含まれる 大きく 考える
  34. 34. S3を中心としてEMRでさまざまな処理を行う データマート (Amazon Redshift) クエリクラスタ (EMR) クエリクラスタ (EMR) Auto Scaled EC2 分析 アプリ 正規化ETL クラスタ (EMR) バッチ分析 クラスタ (EMR) アドホック クエリクラスタ (EMR) Auto Scaled EC2 分析 アプリ ユーザ データ 提供者 Auto Scaled EC2 データ 投入 サービス 最適化ETL クラスタ (EMR) 共有Metastore (RDS) クエリ最適化 (S3) Auto Scaled EC2 データ カタログ &派生 サービス 参照データ (RDS) 共有データサービス Auto Scaled EC2 クラスタ管理 &ワークフロー サービス 生データ (S3)
  35. 35. 35
  36. 36. 36 毎週21億以上のセンサデータを取得 自動運転用の地図に反映
  37. 37. 37 モバイルアプリ データ処理 データ保存
  38. 38. データレイクをさらに便利にする新サービス 38
  39. 39. 39 IoT API GW lambda KinesisLogs Databases S3 EMR (ETL) EMR (ML) Redshift QuickSight Dynamo DB Athena AWS Batch Glue Amazon Machine Learning EC2
  40. 40. Amazon Athena • Amazon S3 に置いたデータをインタラクティブに SQLで直接クエリできるサービス • ペタバイト級のデータに対するクエリをサポート • 標準のANSI-SQLで表現でき,JOINやWindow関数も サポート.Prestoベースの実装なので,Prestoのクエ リも大部分が利用可能 • CSV/TSV/JSON/Apache logだけでなく,Parquet, ORCもサポート • 既存BIツールにJDBCで接続可能
  41. 41. AWS Glue 41 • データカタログの作成と,データの加工・ロード (ETL)が実現可能なマネージドサービス • データソースを自動で探索し,データフォーマッ トを認識してスキーマや変換ロジックを提示 • S3, RDS, Redshift その他 JDBC対応データスト アをサポート • Pythonで変換ロジックを編集したり, 他のユーザーと共有することも可能 • インフラを自動でスケーリング • プリアナウンスサービス
  42. 42. AWS上での機械学習モデルの構築
  43. 43. 機械学習のモデル構築において AWSはどのように活用できるか 43
  44. 44. ディープラーニングを中心とした 最新の機械学習は… • 高速なGPUを搭載したマシンを使わないと,計算に 非常に時間がかかる • GPUを使うためのドライバや,ディープラーニング フレームワークのインストールが手間 • 複数のマシンを使って計算させるために,ネット ワーク等の設定が必要 44
  45. 45. • NVIDIA K80を最大16GPU搭載 • 計192GBのGPUメモリと 約40,000 CUDAコアを搭載 • 1台で70TFlops(単精度浮動小数点演算)を実現 • 1台で23TFlops(倍精度浮動小数点演算)を実現 • GPUDirect™によるpeer-to-peer 接続をサポート Instance Name GPU Count vCPU Count Memory Parallel Processing Cores GPU Memory Network Performance P2.xlarge 1 4 61GiB 2,496 12 GiB High P2.8xlarge 8 32 488GiB 19,968 96 GiB 10 Gigabit P2.16xlarge 16 64 732GiB 39,936 192 GiB 20 Gigabit GPU搭載:P2インスタンス バージニア・オレゴン・アイルランド の3リージョンで提供中
  46. 46. ディープラーニング向けのAMI 46 NVIDIA製AMI • Windows Server + Driver • CUDA7.5 + Amazon Linux • DIGITS4 + Ubuntu 14.04 AWS製AMI • 各種ディープラーニングフレームワーク • MXNet / Caffe / Tensorflow / Theano / Torch / CTNK • その他コンポーネント • Nvidia drivers / CUDA / cuDNN • Anaconda / Jupyter / Python2 and Python3
  47. 47. AWSのディープラーニングAMIは随時更新中 47 Oregon Region / 2016/12/6時点
  48. 48. MXNet向けのCloudFormationテンプレート 48
  49. 49. AWSではMXNetを ディープラーニングフレームワークとして選択 49 http://aws.typepad.com/sajp/2016/11/mxnet-default-framework-deep-learning-aws.html http://www.allthingsdistributed.com/2016/11/mxnet-default-framework-deep-learning-aws.html • 画像分析アルゴリズムInception v3 をMXNetで実装しP2インスタンスで実行 • スケーリング効率85%
  50. 50. MXNetのコミッターも社内にいます 50
  51. 51. re:Invent Machine Learning Track 51
  52. 52. まとめ 60
  53. 53. 61 IoT API GW lambda KinesisLogs Databases S3 EMR (ETL) EMR (ML) Redshift QuickSight Dynamo DB Athena AWS Batch Glue Amazon Machine Learning EC2
  54. 54. Summary • Amazon S3にデータレイクを構築 – あらゆるデータを保存して必要に応じて処理 – ワークロードに合わせた適切なリソースの選択 – 大規模データの活用サイクルを高速に回す • 機械学習サービスの開発サイクル – AWSのリソースを活用して環境構築コストを低減 – インスタンスタイプを柔軟に変えて高速で学習 – 本来やりたかった機械学習モデルの構築に集中 62
  55. 55. 63

×