Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSで始める機械学習/machine-learning-on-aws-20180310
Search
ryo nakamaru
March 10, 2018
Technology
2
2.5k
AWSで始める機械学習/machine-learning-on-aws-20180310
JAWS DAYS 2018
ryo nakamaru
March 10, 2018
Tweet
Share
More Decks by ryo nakamaru
See All by ryo nakamaru
AWSで楽をするサービスメッシュ入門/appmesh-trial
pottava
1
1.5k
reinforce-2019-recap-lt
pottava
2
4.1k
ScaleShift-jp-2019-summer
pottava
1
210
Firecracker とは何か/what is Firecracker
pottava
12
5.5k
ハイブリッド並列 on Kubernetes/hybrid-parallel-program-on-kubernetes
pottava
1
440
AWS Fargate + Code 兄弟で始める継続的デリバリー / Continuous Delivery with AWS Fargate and Code brothers
pottava
12
3.2k
Singularity と NVIDIA GPU Cloud で作る ハイブリッド機械学習環境の構築 / Building a hybrid environment for Machine Learning with Singularity and NGC
pottava
3
1.4k
明日から始めるちょい足し λ / get-started-with-aws-lambda
pottava
4
2.5k
NGC と Singularity によるハイブリッド機械学習環境 / A hybrid environment for Machine Learning with NGC and Singularity
pottava
0
500
Other Decks in Technology
See All in Technology
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
1
310
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
130
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
140
What's new in OpenShift 4.20
redhatlivestreaming
0
270
組織全員で向き合うAI Readyなデータ利活用
gappy50
1
500
IoTLT@ストラタシスジャパン_20251021
norioikedo
0
140
コンパウンド組織のCRE #cre_meetup
layerx
PRO
1
270
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
360
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
430
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
0
160
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
210
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
320
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Documentation Writing (for coders)
carmenintech
75
5.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Docker and Python
trallard
46
3.6k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
The Cult of Friendly URLs
andyhume
79
6.6k
A designer walks into a library…
pauljervisheath
209
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Transcript
Let’s get started with AWS AWS で始める機械学習 JAWS DAYS Mar
10, 2018 Ryo NAKAMARU, JAWS-UG AI 支部
中丸 良 @pottava • AWS Certified SA, DevOps Engineer -
Pro • CTO at SUPINF Inc. / Solutions Architect at Rescale, Inc. • クラサバ ERP → Web → クラウド / Docker → HPC / ML Profile 2
Profile 3 お客様先のオンプレミスに機械学習環境を構築したり 不足した機械学習用コンピュートリソースを クラウドに用意したりするお仕事させてもらってます
学習の流れを再確認してみます 4
機械学習の流れ 5 2. σʔλલॲཧ 3. ֶश 4. ਪ 1. σʔλऩू
この流れに沿い、AWS をどう使えばいいのか 利用タイミングと目的別にご紹介します
学習 6
データの準備 7
データの収集 8 もちろん、最終的には IoT から得られるセンサデータなど 自社ならではのデータを使っていきたいところ。 とはいえ、まず試してみるだけなら 一般公開されたデータ を活用するのが簡単です。 1
一般公開された画像集 9 研究もコンテストも盛んで、たくさんあります。 • MNIST http://yann.lecun.com/exdb/mnist/ • CIFAR-10 &
CIFAR-100 https://www.cs.toronto.edu/~kriz/cifar.html • ImageNet http://www.image-net.org/ • …
AWS Public Datasets 10 https://aws.amazon.com/jp/public-datasets/
Public Datasets | Google Cloud Platform 11 https://cloud.google.com/public-datasets/
Public data sets for Azure analytics 12 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-public-data-sets
Datasets « Deep Learning 13 http://deeplearning.net/datasets/
? 14 http://www.data.go.jp/data/dataset
AWS 15
関連サービス群 16
データ収集に便利なサービス 17 • AWS IoT • Amazon Kinesis Streams •
Amazon CloudWatch Logs • Amazon S3 • Amazon Cognito + AWS SDK
データの前処理 18 入力データを行列計算などできるように加工する過程。 画像を切り落としたり 3 チャンネルにしたり CSV から必要なカラムだけを抜き出したり入れ替えたり。 Python で書けはするけど、専用ソフトウェアやサービスも便利。
2
AWS の関連サービス群 19
データ前処理に便利なサービス 20 • Amazon Mechanical Turk • AWS Glue •
Amazon EMR / EC2 • AWS Lambda / Step Functions • AWS CloudWatch Events
Amazon Mechanical Turk 21
Amazon Mechanical Turk: 事例 22 アメリカではラベル付けなどで とても利用されている・・ Cloud AutoML Vision?
試行錯誤 / POC 23
試行錯誤に便利なものたち 24
Jupyter notebook 25 主に科学技術計算や機械学習の業界で あれこれ 試行錯誤 したり、それを誰かと簡単に 共有 できる ツール。多くの研究者やエンジニアに愛用されている。
git などでバージョン管理するのも容易!
(NVIDIA) GPU 26 学習にはとても時間がかかるもの。 行列計算が得意な GPU を使えば時間が節約できます!
Docker 27 試行錯誤するにはこれもとても便利です。 ライブラリがどんどんバージョン更新しても大丈夫! クラウド上に学習・推論を持って行く ときにも有用! $ docker run -it
--rm -p 8888:8888 jupyter/tensorflow-notebook
NVIDIA の Docker イメージ 28 cuda:8.0-runtime ubuntu:16.04 cuda:8.0-devel cuda:8.0-cudnn5-runtime cuda:8.0-cudnn5-devel
digits (v6.0) 以下のような継承関係のイメージが公開されています。 機械学習の動作要件に適したイメージをベースに。 独自 Docker イメージのビルドもできます。 NGC なる サービスも
AWS の関連サービス群 29
試行錯誤に便利なサービス 30 • Amazon Machine Learning • Amazon SageMaker •
Amazon EMR / EC2 ‣ p3 / g3 (GPU) instances ‣ Deep Learning AMI • Amazon EBS / S3 / ECR
Amazon Machine Learning 31 二項分類、複数クラス分類、線形回帰のマネージドサービス。 データの取り込みから、学習・推論が行えます。 サーバの管理が不要なため、スケーラビリティや 推論サービスの可用性は気にせず OK!
GPU インスタンス 32 汎用コンピューティング用途: p3 系: NVIDIA Tesla P100 単精度演算性能
9.3 TFLOPS, 半精度演算性能 18.7 TFLOPS (3,584 CUDA cores) p2 系: NVIDIA Tesla K80 単精度演算性能 8.74 TFLOPS (2,496 CUDA cores / GPU が 2 つで 1 つの K80)
Amazon DeepLearning AMI 33 CUDA, cuDNN, Anaconda and so on.
P3, P3 & Intel Math Kernel Library for C5
学習 34
学習 35 3 もっとも重要、かつ ものすごく時間がかかる ところ。 自社のモデルを作るのはとても大変だが オリジナルのものができれば貴重な知財に。 クラウドの様々なサービスがサポートしてくれます。
AWS の関連サービス群 36
学習フェーズに便利なサービス 37 • Amazon EMR / Batch / EC2 ‣
p3 / g3 (GPU) instances ‣ Deep Learning AMI ‣ Spot Fleet / AutoScaling Group • Amazon SageMaker • Amazon Machine Learning • Amazon EFS / S3
AWS Batch 38 https://www.youtube.com/watch?v=UR8BI2Exkbc 科学技術計算・ハイパフォーマンスコンピューティング用途で 真価を発揮する、大規模なスケール、ジョブの依存定義が可能な マネージド 並列分散 バッチ処理基盤。現在 Docker
コンテナ前提。
AWS Batch 39 Black Belt の資料が公開されています http://aws.typepad.com/sajp/2017/02/aws-black-belt-online-seminar-aws-batch.html
AWS Batch 40 私もユーザ視点で書きました http://qiita.com/pottava/items/d9886b2e8835c5c0d30f
AWS Batch: 事例 41 https://www.slideshare.net/RecruitLifestyle/step-functionsaws-batch-81700778 株式会社リクルートライフスタイル 山田 雄さん / NTT
DATA Corporation 堤 崇行さん
Spot Fleet / Spot インスタンス 42 機械学習を AWS でやるなら、知って得する機能! 仮想サーバを安く使うことができる起動方法の一つ。
AWS のデータセンタの「余剰分」を「入札」して利用。
Amazon SageMaker 43 機械学習モデルを簡単に構築し、学習し、推論サービスをデプロイ するためのフルマネージドサービスです。EC2 を強く意識すること なく Jupyter notebook が立ち上がり、推論サービスもクリックだけ
で展開することができます。
Amazon SageMaker 44 設計 学習 デプロイ • ワンクリック起動 Jupyter notebook
• プリセットされた 機械学習アルゴリ ズム群 ▶ ▶ • ジョブを定義し 学習開始 • 並列分散学習 • ハイパーパラメタ 最適化 • シンプルな API で モデルをデプロイ • フルマネージドな 推論エンドポイント の提供
Amazon SageMaker: 事例 45
推論 46
推論 47 学習済みのモデルを使い、推論する。 ビジネスと直結 することが多く、稼働は 24 / 365。 可用性とレイテンシが重要なのは一般サービス同様。 もしかしてサーバレスでも・・いける・・・?
4
AWS の関連サービス群 (自社で推論サービスを提供する場合) 48
推論フェーズに便利なサービス 49 • Amazon ECS / EC2 ‣ p3 /
g3 (GPU) / F1 (FPGA) instances ‣ Deep Learning AMI ‣ Spot Fleet / AutoScaling Group • AWS Lambda / Amazon API Gateway • AWS ElasticBeanstalk • Amazon EFS / EBS / S3 / ECR
Amazon ECS 50 ϑϧϚωʔδυͳ Docker ίϯςφΫϥελڥɻ GPU ϕʔεͷਪΞϓϦέʔγϣϯͩͬͯಈ͖·͢ʂ ϩʔυόϥϯαΦʔτεέʔϧͳͲͱ౷߹͞Ε 24/365
ͷαʔϏεఏڙΛ༰қʹ࣮ݱ
Amazon ECS 51 https://speakerdeck.com/ayemos/build-image-classification-service-with-amazon-ecs-and-gpu-instances クックパッド株式会社 染谷 悠一郎さん
Amazon ECS 52 Black Belt の資料が公開されています https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2016-amazon-ec2-container-service
AWS Lambda 53 サーバレスで MXNet による推論をする実装例 http://aws.typepad.com/sajp/2017/01/ seamlessly-scale-predictions-with-aws-lambda- and-mxnet.html
AWS の関連サービス群 (推論マネージドサービスの利用) 54
AWS の推論 API サービス 55 • Amazon Rekognition • Amazon
Polly • Amazon Transcribe • Amazon Translate • Amazon Comprehend
まとめ 56 2. σʔλલॲཧ 3. ֶश 4. ਪ 1. σʔλऩू
Glue EMR Lambda Lambda ML SageMaker Batch ECS どこで何を使うか 難易度や機能に応じて選択
Join us :)
JAWS-UG AI 支部 58 • AWS で AI サービスを実装・運用するための 一般的な技術情報、知見、事例共有の場
‣ すでに活用している方 ‣ 導入を検討している方 ‣ 何それおいしいの?な方(開催ごとに難易度が多少違います)
Cloud HPC with 59 • クラウド HPC シミュレーションプラットフォームを提供 • スケーラブルなシミュレーションや機械学習を!
• Singularity でのコンテナ分散実行もサポート
Containerize your app! 60 • クラウド / コンテナ を強みにした受託開発運用、コンサルティング •
2015 年から Docker の本番運用を開始・豊富な CI / CD 事例 • スピンフ、と読みます・・
ご静聴ありがとうございました 参考文献: • Cloud Native Technologies in the Fortune 100
http://redmonk.com/fryan/2017/09/10/cloud-native-technologies-in-the-fortune-100/ • A Study of Security Vulnerabilities on Docker Hub http://dance.csc.ncsu.edu/papers/codaspy17.pdf