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.
#jawsdays #jd2017_a
APIを叩くだけでない、Deep Learning on
AWS で自分だけの学習モデルを作ろう!
by JAWS-UG AI支部
#jawsdays #jd2017_a
自己紹介
• 長尾 太介 (Daisuke Nagao)
• 職歴
– 富士ゼロックス (粉体シミュレータの開発、スパコン環境の導入・管理)
– NVIDIA Japan: Cloud Service P...
#jawsdays #jd2017_a
JAWS-UG AI 支部
• Deep Learningを中心とした AI 関連技術を学び AWS 上で活用して
くためのユーザグループです
• 「AWSは知っているけど、Deep Learningって...
#jawsdays #jd2017_a
本日の流れ
• 前半 (長尾)
– Deep Learning の クラウドアーキテクチャー
• 後半 (中丸)
– MXnet の デモ
• 本日は、 Deep Learning のアーキテクチャー、動...
#jawsdays #jd2017_a
Deep Learning とは
• 脳内の神経回路網とそのプロセスを真似たもの・・・
イス
#jawsdays #jd2017_a
Google 翻訳も賢くなった
#jawsdays #jd2017_a
AWSも Deep Learning なサービスを発表
• Amazon Rekognition
– 画像の状況、人物の顔、物体 を検出
• Amazon Polly
– テキスト to スピーチ機能、な...
#jawsdays #jd2017_a
#jawsdays #jd2017_a
• なぬ〜39歳のオッサンを100%女と判定
• 欧米人で最適化されているのかしら? (勝手に
予測)
既存のサービス使えればGoodだが、、、、
必ずしも所望の結果が得られるとは限らない
#jawsdays #jd2017_a
やりたいことは、API叩くだけで満足できますか?
• アリ物のAPIを叩くだけでは、みんなと同じ
サービスしかできない。簡単に真似される懸
念がある
• そのAPIは “やりたいこと” ”課題”を解決して...
#jawsdays #jd2017_a
自分で”脳みそ” を作っちゃおう
• 脳みそから作って、あなた独自のサービスを展開
– 脳みそ作る工程 を Learning (学習) と言う
– フレームワーク (アプリケーション) を使って 学習を行...
#jawsdays #jd2017_a
どんなアーキテクチャが必要?
Learning
(学習)
Inference
(推論)
BIGDATA Labels
訓練済みの
モデル apple OrangeBanana
API
数日間マシンをぶん回...
#jawsdays #jd2017_a
HPC (スパコン) のアーキテクチャーとは
13
FILE_SERVER
HPC用ジョブスケジューラ
(Submit Node)
Calc-nodes
マルチノード、マルチGPU(1台のマシンに複数のG...
#jawsdays #jd2017_a
AWSにおける構成例
P2
P2
P2
P2
NFS
EBS
Submit Node
(e.g. c4.large)
状況によってインスタンスタイプを選択。
場合によってはsubmit nodeをなくして...
#jawsdays #jd2017_a
P2インスタンス
https://www.slideshare.net/understeer/jawsug-ai-aws-ai
#jawsdays #jd2017_a
Cloud HPC の運用例
16
Time
Loadaverage
インスタンス起動
HPCクラスタ構築
学習開始
クラスタの削除
ファイルステージング
ファイルステージング
SubmitJob
#jawsdays #jd2017_a
HPC環境の運用を楽にするサービスたち
DL用Clusterを楽に構築cfncluster AWS Batch
AWS Native Services AWS上で動くSaaS
https://aws.am...
#jawsdays #jd2017_a
忘れちゃダメなプリ処理 (学習データセットの用意)
• 学習データセットの作成
– BIGDATAから学習用のデータを抽出
• 既存のサービスをうまく利用、hadoop, sparkなども使えるかも
– ...
#jawsdays #jd2017_a
#jawsdays #jd2017_a
#jawsdays #jd2017_a
忘れちゃダメなデプロイ環境
• 学習済みモデルを、うまくサービス側へ渡す
仕組み
• サービス側に沿った仕組みを構築
#jawsdays #jd2017_a
Neural Network
Structure
Learning: HPC Architecture Inference: Web Architecture
BIGDATA
Labels
Deploy ...
#jawsdays #jd2017_a
ここまでのメッセージ
• Deep Learnig を使ったAIは、学習と推論どちら
も必要
• 学習データの収集 -> 学習 -> Deploy -> サービス
と全体を踏まえて、全体をデザインしよう
...
#jawsdays #jd2017_a
自立/分散/協調型も視野に入れて
http://www.meti.go.jp/committee/sankoushin/shojo/johokeizai/bunsan_senryaku_wg/pdf/00...
#jawsdays #jd2017_a
事例: GTC JAPAN2016で発表したプロト
• 学習
– Rescaleを利用しCAFFEを動かす
– ユーザには見えないが g2インスタンスが後
ろで動く
• 推論
– NVIDIA Jetso...
GTC Japan 2016: システム計画研究所/ISP さま事例
Amazon
EC2
Amazon
S3
Amazon
SQS
クライアント
アプリケーション
(Jetson TX1)
API
ダウンロード
学習
デプロイ
更新情報caf...
#jawsdays #jd2017_a
クラウドだからプロトタイプも楽に作れる
• 2, 3人、数日で作成
– Rescale, AWSを利用することで数日でシステ
ムが組めた
– APIでシステムを操作できることがとても重要
• オンプレじゃ...
#jawsdays #jd2017_a
スタートでハマらないために
• 大前提として
– ゼロベースで学習用のアプリケーションを書こうとしない。GPUの使
いこなしで死ぬ。Deep Learning の フレームワークを適切に使う
• 初心者は...
#jawsdays #jd2017_a
Deep Learning 環境がインストールされた環境を使う
• AMIを使う
– Deep Learning環境の構築不要
– マシンの管理は必要 (素のAWS料金でOK)
• SaaSタイプのサービ...
#jawsdays #jd2017_a
Deep Learning 環境がインストールされた環境を使う
• AMIを使う
– Deep Learning環境の構築不要
– マシンの管理は必要 (素のAWS料金でOK)
• SaaSタイプのサービ...
#jawsdays #jd2017_a
DEMO: SUPINF 中丸さんへ
Upcoming SlideShare
Loading in …5
×

APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部

[JAWS-UG AI] JAWS-DAYS 2017 発表資料

  • Be the first to comment

  • Be the first to like this

APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部

  1. 1. #jawsdays #jd2017_a APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部
  2. 2. #jawsdays #jd2017_a 自己紹介 • 長尾 太介 (Daisuke Nagao) • 職歴 – 富士ゼロックス (粉体シミュレータの開発、スパコン環境の導入・管理) – NVIDIA Japan: Cloud Service Provider 向けの BD – Rescale Japan: 7月にSaaS型のCloudHPCを提供するRescaleへソリュー ションアーキテクトとしてJoin • コミュニティー – JAWS-UG AI (コアメンバ) – JAWS-UG HPC専門支部 (コアメンバ)
  3. 3. #jawsdays #jd2017_a JAWS-UG AI 支部 • Deep Learningを中心とした AI 関連技術を学び AWS 上で活用して くためのユーザグループです • 「AWSは知っているけど、Deep Learningって何?」という方を対 象とします • 「これからDeep Learning だけでなく AWSも同時に学びたい」と いう方も歓迎いたします • 運営側は Deep Learning に関して初心者なので、みなさん一緒に 楽しく学んで行きましょう
  4. 4. #jawsdays #jd2017_a 本日の流れ • 前半 (長尾) – Deep Learning の クラウドアーキテクチャー • 後半 (中丸) – MXnet の デモ • 本日は、 Deep Learning のアーキテクチャー、動かし方にフォーカスします • Deep Learning の理論のお話は、丸山先生のマルレク資料等を参照してくださ い(本日は言及しない)
  5. 5. #jawsdays #jd2017_a Deep Learning とは • 脳内の神経回路網とそのプロセスを真似たもの・・・ イス
  6. 6. #jawsdays #jd2017_a Google 翻訳も賢くなった
  7. 7. #jawsdays #jd2017_a AWSも Deep Learning なサービスを発表 • Amazon Rekognition – 画像の状況、人物の顔、物体 を検出 • Amazon Polly – テキスト to スピーチ機能、なめらかに喋ってくれる • Amazon Lex – テキストメッセージに応答するチャットボット開発を 容易にするサービス
  8. 8. #jawsdays #jd2017_a
  9. 9. #jawsdays #jd2017_a • なぬ〜39歳のオッサンを100%女と判定 • 欧米人で最適化されているのかしら? (勝手に 予測) 既存のサービス使えればGoodだが、、、、 必ずしも所望の結果が得られるとは限らない
  10. 10. #jawsdays #jd2017_a やりたいことは、API叩くだけで満足できますか? • アリ物のAPIを叩くだけでは、みんなと同じ サービスしかできない。簡単に真似される懸 念がある • そのAPIは “やりたいこと” ”課題”を解決してい ますか?
  11. 11. #jawsdays #jd2017_a 自分で”脳みそ” を作っちゃおう • 脳みそから作って、あなた独自のサービスを展開 – 脳みそ作る工程 を Learning (学習) と言う – フレームワーク (アプリケーション) を使って 学習を行う – 代表的なフレームワークはどれもOSS Deep Learning のフレームワークは無料 HWさえ揃えれば誰でもできる Caffe
  12. 12. #jawsdays #jd2017_a どんなアーキテクチャが必要? Learning (学習) Inference (推論) BIGDATA Labels 訓練済みの モデル apple OrangeBanana API 数日間マシンをぶん回し学習を行う Neural Network HPC (スパコン) のアーキテクチャー サービス側のアーキテクチャー Learningに適したGPU 入力に対してすぐに応答でき るようなシステム Submit Job タイプ (バッチ処理) Daemonタイプ
  13. 13. #jawsdays #jd2017_a HPC (スパコン) のアーキテクチャーとは 13 FILE_SERVER HPC用ジョブスケジューラ (Submit Node) Calc-nodes マルチノード、マルチGPU(1台のマシンに複数のGPU)を一度 に使い、アプリケーションを高速化する マルチノード環境: MPIがよく使われる GPU環境: CUDA NFSNFS
  14. 14. #jawsdays #jd2017_a AWSにおける構成例 P2 P2 P2 P2 NFS EBS Submit Node (e.g. c4.large) 状況によってインスタンスタイプを選択。 場合によってはsubmit nodeをなくして も良い(EBSは計算ノード側へつける) GPUを持つインスタンスを選択 NFSマウントされた共有領域を、 全ノードから見えると便利 Calc-Nodes
  15. 15. #jawsdays #jd2017_a P2インスタンス https://www.slideshare.net/understeer/jawsug-ai-aws-ai
  16. 16. #jawsdays #jd2017_a Cloud HPC の運用例 16 Time Loadaverage インスタンス起動 HPCクラスタ構築 学習開始 クラスタの削除 ファイルステージング ファイルステージング SubmitJob
  17. 17. #jawsdays #jd2017_a HPC環境の運用を楽にするサービスたち DL用Clusterを楽に構築cfncluster AWS Batch AWS Native Services AWS上で動くSaaS https://aws.amazon.com/jp/blogs/compu te/distributed-deep-learning-made-easy/ 例えば
  18. 18. #jawsdays #jd2017_a 忘れちゃダメなプリ処理 (学習データセットの用意) • 学習データセットの作成 – BIGDATAから学習用のデータを抽出 • 既存のサービスをうまく利用、hadoop, sparkなども使えるかも – ラベルづけ (この写真は ”イス” です) • Amazon Mechanical Turk、要は人海戦術・・・ • BIGDATAがなければ、オープンなデータセットの利用も検討 – AWS Public Dataset • 仕掛け作りでデータを作る – お肌の年齢コンテスト、「お肌の写真とプロフィールを送ってください。 優勝者には・・・・」
  19. 19. #jawsdays #jd2017_a
  20. 20. #jawsdays #jd2017_a
  21. 21. #jawsdays #jd2017_a 忘れちゃダメなデプロイ環境 • 学習済みモデルを、うまくサービス側へ渡す 仕組み • サービス側に沿った仕組みを構築
  22. 22. #jawsdays #jd2017_a Neural Network Structure Learning: HPC Architecture Inference: Web Architecture BIGDATA Labels Deploy a trained Network apple Orange strawberryBanana Require real time processRequire Many Core, BIGDATA analysis API ついに HPC でも Docker が! How deploy your apps? Learning Inference AWS Elastic Beanstalk 教師データ cfncluster Amazon DynamoDB bucket Meta Data Amazon API Gateway Submit Job Daemon HPC on AWS 用ミドルウェア • HPC Clusterの動的作成・削除・管理 • スケジューリング機能 P2 F1もあり Lambdaもあり AWS Batch or 前処理
  23. 23. #jawsdays #jd2017_a ここまでのメッセージ • Deep Learnig を使ったAIは、学習と推論どちら も必要 • 学習データの収集 -> 学習 -> Deploy -> サービス と全体を踏まえて、全体をデザインしよう • AWSは、サービスをつなぎ合わせることでトー タルでソリューションできる
  24. 24. #jawsdays #jd2017_a 自立/分散/協調型も視野に入れて http://www.meti.go.jp/committee/sankoushin/shojo/johokeizai/bunsan_senryaku_wg/pdf/001_03_00.pdf エッジ側にどこまでの処理を任せるか、クラウドへ上げるデータは何かをよく考える
  25. 25. #jawsdays #jd2017_a 事例: GTC JAPAN2016で発表したプロト • 学習 – Rescaleを利用しCAFFEを動かす – ユーザには見えないが g2インスタンスが後 ろで動く • 推論 – NVIDIA Jetson (ARM + GPU の組み込み ボード) を利用 – USBでカメラを取り付け物体認識を行う • Deploy 方法 – S3, SQSを利用. JetsonがSQSをポーリング Amazo n S3 Amazon SQS Camera
  26. 26. GTC Japan 2016: システム計画研究所/ISP さま事例 Amazon EC2 Amazon S3 Amazon SQS クライアント アプリケーション (Jetson TX1) API ダウンロード 学習 デプロイ 更新情報caffemodel ポーリン グ ダウンロード (判別機更新) wget Rescale APIを使った他のシステムとの連携
  27. 27. #jawsdays #jd2017_a クラウドだからプロトタイプも楽に作れる • 2, 3人、数日で作成 – Rescale, AWSを利用することで数日でシステ ムが組めた – APIでシステムを操作できることがとても重要 • オンプレじゃできねー
  28. 28. #jawsdays #jd2017_a スタートでハマらないために • 大前提として – ゼロベースで学習用のアプリケーションを書こうとしない。GPUの使 いこなしで死ぬ。Deep Learning の フレームワークを適切に使う • 初心者は各種セットアップ/インストールを避けた方が無難。挫折 する人も多数 – CUDAのインストール – フレームワークのインストール – CUDAとフレームワークのバージョン問題など – ipythonとの連携
  29. 29. #jawsdays #jd2017_a Deep Learning 環境がインストールされた環境を使う • AMIを使う – Deep Learning環境の構築不要 – マシンの管理は必要 (素のAWS料金でOK) • SaaSタイプのサービスを使う – Deep Learning環境の構築不要 – マシンの管理不要 (その分高い)
  30. 30. #jawsdays #jd2017_a Deep Learning 環境がインストールされた環境を使う • AMIを使う – Deep Learning環境の構築不要 – マシンの管理は必要 (素のAWS料金でOK) • SaaSタイプのサービスを使う – Deep Learning環境の構築不要 – マシンの管理不要 (その分高い)
  31. 31. #jawsdays #jd2017_a DEMO: SUPINF 中丸さんへ

×