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.4k
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.3k
reinforce-2019-recap-lt
pottava
2
4.1k
ScaleShift-jp-2019-summer
pottava
1
190
Firecracker とは何か/what is Firecracker
pottava
13
5.2k
ハイブリッド並列 on Kubernetes/hybrid-parallel-program-on-kubernetes
pottava
1
400
AWS Fargate + Code 兄弟で始める継続的デリバリー / Continuous Delivery with AWS Fargate and Code brothers
pottava
12
3.1k
Singularity と NVIDIA GPU Cloud で作る ハイブリッド機械学習環境の構築 / Building a hybrid environment for Machine Learning with Singularity and NGC
pottava
3
1.2k
明日から始めるちょい足し λ / get-started-with-aws-lambda
pottava
4
2.4k
NGC と Singularity によるハイブリッド機械学習環境 / A hybrid environment for Machine Learning with NGC and Singularity
pottava
0
460
Other Decks in Technology
See All in Technology
君は隠しイベントを見つけれるか?
mujyun
0
280
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
730
Java x Spring Boot Warm up
kazu_kichi_67
2
490
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
140
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.5k
コンテンツを支える 若手ゲームクリエイターの アートディレクションの事例紹介 / cagamefi-game
cyberagentdevelopers
PRO
1
120
オニオンアーキテクチャで実現した 本質課題を解決する インフラ移行の実例
hryushm
14
3k
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
270
話題のGraphRAG、その可能性と課題を理解する
hide212131
4
1.4k
急成長中のWINTICKETにおける品質と開発スピードと向き合ったQA戦略と今後の展望 / winticket-autify
cyberagentdevelopers
PRO
1
160
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
430
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Testing 201, or: Great Expectations
jmmastey
38
7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Ruby is Unlike a Banana
tanoku
96
11k
Thoughts on Productivity
jonyablonski
67
4.3k
Speed Design
sergeychernyshev
24
570
Adopting Sorbet at Scale
ufuk
73
9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Navigating Team Friction
lara
183
14k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
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