Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
get-started-with-machine-learning-on-aws-20170401
Search
ryo nakamaru
April 01, 2017
Programming
3.9k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
get-started-with-machine-learning-on-aws-20170401
IoT ALGYAN @ 20170401
ryo nakamaru
April 01, 2017
More Decks by ryo nakamaru
See All by ryo nakamaru
AWSで楽をするサービスメッシュ入門/appmesh-trial
pottava
1
1.7k
reinforce-2019-recap-lt
pottava
2
4.2k
ScaleShift-jp-2019-summer
pottava
1
230
Firecracker とは何か/what is Firecracker
pottava
12
5.7k
ハイブリッド並列 on Kubernetes/hybrid-parallel-program-on-kubernetes
pottava
1
470
AWS Fargate + Code 兄弟で始める継続的デリバリー / Continuous Delivery with AWS Fargate and Code brothers
pottava
12
3.4k
Singularity と NVIDIA GPU Cloud で作る ハイブリッド機械学習環境の構築 / Building a hybrid environment for Machine Learning with Singularity and NGC
pottava
3
1.6k
明日から始めるちょい足し λ / get-started-with-aws-lambda
pottava
4
2.5k
NGC と Singularity によるハイブリッド機械学習環境 / A hybrid environment for Machine Learning with NGC and Singularity
pottava
0
550
Other Decks in Programming
See All in Programming
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
700
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
150
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
2.1k
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
130
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
310
Building an Out-of-Order CPU
latte72
1
790
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3k
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
150
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.3k
AHC070解法紹介
eijirou
0
130
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
150
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
Documentation Writing (for coders)
carmenintech
77
5.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
The Spectacular Lies of Maps
axbom
PRO
1
1k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Optimizing for Happiness
mojombo
378
71k
Writing Fast Ruby
sferik
630
63k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Between Models and Reality
mayunak
4
460
Transcript
AWS Ͱ࢝ΊΑ͏ʂ͡Ίͯͷػցֶश IoT ALGYAN @ 2017.04.01
@pottava (AWS Certified) SA, DevOps Engineer Pro ❤ Amazon ECS,
AWS Batch, IAM
גࣜձࣾεϐϯϑ
ɹɹػցֶशͷ͓͞Β͍ • ػցֶशͱ • ػցֶशͱਂֶश ɹɹֶश • σʔλͷ४උ • ࢼߦࡨޡ
/ POC • ֶश ɹɹਪ ɹɹAWS ར༻ Tips ࠓ͓͢͠Δ͜ͱ 4
ػցֶशͷ͓͞Β͍
ػցֶश
Կ͔ಛఆͷ͕͋Δͱͯ͠ɻ ίϯϐϡʔλʹ ٬؍తࣄ࣮ͷΈ Λ༩͑Δ͜ͱͰ ۩ମతͳճΛಘΔɺ·ͨͦΕΛվળ͢Δ͜ͱɻ ػցֶशͱ 7
y = ax + b a, b Λਓ͕ؒࣄલʹܾΊΔͷ͕Ұൠతϓϩάϥϛϯάɻ ࣮σʔλ͔Βίϯϐϡʔλʹܭࢉͤ͞Δͷ͕ػցֶशɻ ػցֶशͱ
8
y = ax + b ྫʣ x : ࠷ۙΓ߹ͬͨਓͷಛ y
: ͜ͷͻͱͱকདྷ݁ࠗͨ͠ΒͤʹͳΕΔ͔ ػցֶशͱ 9
y = ax + b ྫʣ ਓؒʮ y = 0.7
* ੑ֨x + 0.2 * ֎ݟx + 0.1 * ऩೖx ͰΑΖʯ ػցʮաڈͷσʔλ͔Β͍͑ ɹɹɹy = 0.4 * ੑ֨x + 0.1 * ֎ݟx + 0.5 * ऩೖx ͕దʯ ػցֶशͱ 10
y = ax + b a, b ΛܾΊΔͨΊͷ࡞ۀΛֶशɺ ܾ·ͬͨ a,
b ͷ͜ͱΛֶशࡁΈϞσϧͱݴ͏ɻ ֶशࡁΈϞσϧΛͬͯ ࣮ࡍʹ x Λೖ͠ y ΛಘΔͷ͕ਪɻ ֶशͱਪ 11
y = ax + b Ϗδωε্ॏཁͳͷɺ༏Εͨਪ͕Ͱ͖Δ͔ɻ ༏ΕͨਪΛ͢ΔͨΊʹɺ༏ΕͨϞσϧ͕ඞཁɻ ༏Εͨ a, b
ΛܾΊΔͨΊͷֶश͕ɺͷݟͤͲ͜Ζɻ ֶशͱਪ 12
y = ax + b σʔλ͔Β a, b ΛٻΊΔํ๏ͨ͘͞Μ͋Δɻ ղ͖͍ͨʹΑͬͯɺదͳํ๏ΛબͿඞཁ͕͋Δɻ
ֶशΞϧΰϦζϜ 13
y = ax + b σʔλ͔Β a, b ΛؼೲతʹٻΊΔ۩ମతͳํ๏ͷ͜ͱɻ •
A / B Ͳͬͪʁ → ϩδεςΟοΫճؼ • ച্Λ༧ଌ͍ͨ͠ → ઢܗճؼ • ސ٬Ληάϝϯτ͚͍ͨ͠ → k ฏۉ๏ • ϨίϝϯυΛग़͍ͨ͠ → ڠௐϑΟϧλϦϯά • … ֶशΞϧΰϦζϜ 14
IoT ͰूΊͨσʔλ͔Β༏ΕͨϞσϧΛ࡞Γਪ͢Δɻ ͖ͬ͞ͷֶशΞϧΰϦζϜɺ͑ͦ͏Ͱ͢ΑͶʁ • ͏͙͢ނো͢Δʁ͠ͳ͍ʁ • ऩ֭ྔͲͷ͘Β͍ʹͳΔͩΖ͏ʁ • ࣅ௨ͬͨάϧʔϓʹ͚͍ͨ •
Ճจͯ͘͠Εͦ͏ͳαΠυϝχϡʔԿͩΖ͏ʁ IoT × ػցֶश 15
Ұํɺࠓͷ
ਂֶश
σΟʔϓϥʔχϯάɻ ଟߏͷωοτϫʔΫΛ༻͍ͨػցֶशͷ͜ͱɻ ྫʣ 4 ͷωοτϫʔΫྫ ਂֶशͱ 18
੨ؙʹΛೖྗ͢Δͱɺؙʹ͕͑ग़ྗ͞ΕΔɻ ྫʣ͍҆ɺඒຯ͍͠ → ങ͏͖ 0.9ɺങΘͳ͍͖ 0.1 ਂֶशͱ 19
2 Ҏ߱ͷ֤ϊʔυ˓͕ɺલͷ͔ΒͷೖྗΛجʹ y = ax + b ΛͬͯࣗࣗͷΛܭࢉɻ ਂֶशͱ 20
ΑΓͬͱΒ͍͑͠Λฦͨ͢Ίʹ ֤ϊʔυͷ a, b ΛࣄલʹܾΊΔͷ͕ɺֶशɻ શϊʔυͷ a, b ͕ܾ·ΕɺͦΕֶ͕शࡁΈϞσϧɻ ਂֶशͱ
21
ػցֶशશൠɺղܾ͍ͨ͠͝ͱʹબ͢Δͷ͕ ֶशΞϧΰϦζϜɻਂֶशྫ֎Ͱͳ͍ɾɾ ྫʣ • ͜ͷ͖Ύ͏Γ S? M? L? → ΈࠐΈχϡʔϥϧωοτϫʔΫ
(CNN) • ࠓͷൃݴϙδςΟϒʁ → ࠶ؼܕχϡʔϥϧωοτϫʔΫ (RNN) • ਓ͕ඈͼग़͖ͯͨ͠ʂंΛݮʂʂ → ͋Ε͜ΕΈ߹Θͤ • … ਂֶशΞϧΰϦζϜ 22
ඒ͍͠Έ߹ΘͤͷྫɺAlphaGoɻ ʢจ: http://www.nature.com/nature/journal/v529/n7587/abs/nature16961.html ʣ • 4 ͭͷσΟʔϓχϡʔϥϧωοτϫʔΫΛར༻ • ͦΕͧΕ ॳڃऀ
pπ / தڃऀ pσ / ্ڃऀ pρ / அ vθ ͱ͍ͬͨҐஔ͚ • pπ ਓؒͷ 800 ສͷ൫໘σʔλΛݩʹֶशɻਫ਼͍͕ߴʹղΛಘΔɻ • pσ 13 ͷ CNNɻ3,000 ສ൫໘Λ 50 GPU Ͱ 3.4 ԯεςοϓɺ3 िֶؒशɻ ϓϩͷࢦ͠खΛ 57.0% ͷਫ਼Ͱ༧Ͱ͖Δɻ • pρ 50 GPU Ͱ 1 ͔͚128 ສճࣗݾରઓɻطଘιϑτʹ 85% ͷѹతউɻ • vθ pσ ͰϥϯμϜʹ 3,000 ສ൫໘Λੜ͠ɺpρ Ͱ 1 ԯ 6,000 ສճϩʔϧΞτͨ͠উΛ ڭࢣσʔλʹɺ50 GPU ͰҰिؒ 5,000 ສճ֬ޯ߱Լ๏Λ࣮ࢪɻ • ࣮ରઓͰ1,202 CPU + 176 GPU͕ΘΕɺpσ Ͱ࣍ͷखબɺvθ Ͱ൫໘ධՁɻ • উ͍͍͕ཧ٧Ίͷ pρ ΑΓɺਓؒͷบΛֶΜͩ pσ Λ͔ͬͨɻ • উҼ pρ ͷపఈతͳڧԽֶशʹՃ͑ɺϞϯςΧϧϩ୳ࡧͱ CNN ͷ߹͔ͤɻ ਂֶशΞϧΰϦζϜ 23
࣮ફతͳωοτϫʔΫɺ ࣮ࡍʹͲΕ͘Β͍σΟʔϓͳϨΠϠʔͳͷʁ ྫʣ ΈࠐΈχϡʔϥϧωοτϫʔΫͷҰछɺResNet 152 ਂֶशΞϧΰϦζϜ https://research.googleblog.com/2016/08/improving-inception-and-image.html 24
͓ɺ͓͏ɾɾ Ϟσϧͱܾͯ͠ΊΔมͲΕ͚ͩ͋Δͷɾɾ ֶशʹͲΕ͚͔͔ͩ࣌ؒΔͷɾɾ ͱ͍͏͔ɺϨΠϠʔఆٛ͢Δ͚ͩͰ৺͕ંΕͦ͏ɻ ࣗલͰ࣮ʁ·͋ແཧͰ͢ΑͶɾɾ ਂֶशΞϧΰϦζϜ 25
ͦ͜Ͱ
ਂֶशϑϨʔϜϫʔΫ
ར༻ऀΞϧΰϦζϜͷ࣮Λ͢Δ͜ͱͳ͘ ֤छύϥϝλͷࢦఆ͚ͩͰֶशɾਪ͕Ͱ͖Δɻ ྫʣTensorFlow ʹΑΔΈࠐΈχϡʔϥϧωοτϫʔΫ (CNN) ఆٛ ɹ ͲΜͳॱংͰͲΜͳΛܦ༝͢Δ͔ɺײతʹΘ͔Δ ਂֶशϑϨʔϜϫʔΫ 28
ΞϧΰϦζϜͷ࣮ͦͷಓͷϓϩʹ͓ͤͭͭ͠ɾɾ ࢲͨͪΓ͍ͨ͜ͱ͚ͩͰ͖Δ࣌ɺ౸དྷɻ ྫʣը૾ʹ͍ࣸͬͯΔਓ͕Γ͍ͨ → TensorFlow Ͱ CNN Λֶ͑शɾਪͰ͖Δʂ ≒ Golang
Ͱ HTTP/2 Λ͑ηΩϡΞͳ௨৴؆୯ʂ ਂֶशϑϨʔϜϫʔΫ 29
TensorFlowɺMXNetɺCaffeɺChainerɺTheanoɾɾ ͦΕͧΕͷಛΛؑΈͯͲΕΛ͏ͷ͔ɻ • ରԠΞϧΰϦζϜ • ಈ࡞ɾڥ • ܭࢉ / Ϧιʔεར༻ޮ
• ར༻Մೳͳݴޠ / खଓతɾએݴత • εέʔϥϏϦςΟ / ෳ GPUɺฒྻαʔόରԠ • ใͷ๛͞ / ΤίγεςϜ / ༻αϙʔτ • … ਂֶशϑϨʔϜϫʔΫ 30
ΫΠζͰ͢
ʮ2 ͔݄લ͔ΒूΊͨσʔλ͔Β ඪମॏ·Ͱ͋ͱԿϲ݄ ͔͔Δ͔༧ଌ͍ͨ͠ʯ
࣍ͷͲΕΛ͏ɾɾʁ
ϩδεςΟοΫճؼ ઢܗճؼ ΈࠐΈχϡʔϥϧωοτϫʔΫ Ҩతϓϩάϥϛϯά
࣮ફ͢ΔલͷɺେͳϙΠϯτ
ʮ͋ͳͨͷۀʹػցֶशΛ׆༻͢Δ 5 ͭͷϙΠϯτʯ https://www.slideshare.net/shoheihido/5-38372284 גࣜձࣾ Preferred Infrastructure ൺށ কฏ͞Μ ͱ͍͍ͯεϥΠυͰͨ͠ɻ
36
ͯ͞
ֶशͷྲྀΕΛ࠶֬ೝ
ػցֶशͷྲྀΕ 2. σʔλલॲཧ 3. ֶश 4. ਪ 1. σʔλऩू 39
Ҏ߱ɺ͜ͷྲྀΕʹԊ͍ɺAWS ΛͲ͏͍͍͑ͷ͔ ར༻λΠϛϯάͱతผʹ͝հ͠·͢ɻ ػցֶशͷྲྀΕ 2. σʔλલॲཧ 3. ֶश 4. ਪ
1. σʔλऩू 40
ֶश
σʔλͷ४උ
1ɹσʔλͷऩू ͪΖΜɺIoT ͔ΒಘΒΕΔηϯασʔλ༗༻ʂʂ ͱ͍͑ɺ·ͣػցֶशΛࢼͯ͠ΈΔ͚ͩͳΒ Ұൠެ։͞ΕͨσʔλΛ׆༻͢Δͷ͕؆୯Ͱ͢ɻ 43
Ұൠެ։͞Εͨը૾ू ݚڀίϯςετΜͰɺͨ͘͞Μ͋Γ·͢ɻ • 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/ • … 44
AWS Public Datasets https://aws.amazon.com/jp/public-datasets/ 45
Public Datasets | Google Cloud Platform https://cloud.google.com/public-datasets/ 46
Public data sets for Azure analytics https://docs.microsoft.com/en-us/azure/sql-database/sql-database-public-data-sets 47
Datasets « Deep Learning http://deeplearning.net/datasets/ 48
http://www.data.go.jp/data/dataset 49 ͜Μͳͷ͋Δ
AWS
ؔ࿈αʔϏε܈
σʔλऩूʹศརͳαʔϏε • AWS IoT • Amazon Kinesis Streams • Amazon
CloudWatch Logs • Amazon S3 • Amazon DynamoDB • Amazon Cognito + AWS SDK • Amazon API Gateway 52
2ɹσʔλͷલॲཧ Python ͚ͩͰࡁΉͳΒͦΕͰ͍͍ͷͷɺ ෳͷσʔλιʔε͔ΒϝλσʔλΛऔಘͨ͠Γ େنͳϑΝΠϧ͔ΒσʔλΛൈ͖ग़͢ͳΒ ઐ༻ͷιϑτΣΞαʔϏε͕ศརɻ 53
AWS ͷؔ࿈αʔϏε܈
σʔλલॲཧʹศརͳαʔϏε • Amazon Mechanical Turk • Amazon Athena • AWS
Lambda / Step Functions • AWS CloudWatch Events • Amazon EMR / Batch / EC2 55
Amazon Mechanical Turk 56 ΞϝϦΧͰͦͷར༻͕ ͱͯྲྀߦ͍ͬͯΔ ͱͷ͜ͱɾɾ
ࢼߦࡨޡ / POC
ࢼߦࡨޡʹศརͳͷͨͪ
ओʹՊֶٕज़ܭࢉػցֶशͷۀքͰ ͋Ε͜Εࢼߦࡨޡͨ͠ΓɺͦΕΛ୭͔ͱڞ༗͢ΔͨΊͷ πʔϧɻଟ͘ͷݚڀऀΤϯδχΞʹѪ༻͞Ε͍ͯΔɻ git ͳͲͰόʔδϣϯཧ͢Δͷ༰қʂ Jupyter notebook 59
ֶशʹͱ͕͔͔ͯ࣌ؒΔͷɻ ߦྻܭࢉ͕ಘҙͳ GPU Λ͕͑࣌ؒઅͰ͖·͢ʂ ࣗͷ PC ʹ͍ͬͯ͞Δ GPU ͕͑Δ͔ɾɾʁ (NVIDIA)
GPU 60 ʢ͜Ε͕ͬͯ͞Δਓ͍ͳ͍ͱࢥ͏͚Ͳ..ʣ
(NVIDIA) GPU 61 ݱࡏ AWS Ͱ GPU Λ͏ͱ͖ͷ Tips Λ·ͱΊ·ͨ͠
https://speakerdeck.com/pottava/tesorflow-v1-dot-0-on-ec2
ࢼߦࡨޡ͢Δʹ͜ΕͱͯศརͰ͢ɻ ϥΠϒϥϦ͕ͲΜͲΜόʔδϣϯߋ৽ͯ͠େৎʂ Ϋϥυ্ʹֶशɾਪΛ࣋ͬͯߦ͘ͱ͖ʹ༗༻ʂ docker run -it --rm -p 8888:8888 jupyter/tensorflow-notebook
Docker 62
Docker 63 ݱࡏ AWS Ͱ Docker Λ͏ͱ͖ͷ·ͱΊ https://speakerdeck.com/pottava/containers-on-aws
NVIDIA ͷ Docker Πϝʔδ 64 ҎԼͷΑ͏ͳܧঝؔͷΠϝʔδ͕ެ։͞Ε͍ͯ·͢ɻ ػցֶशͷಈ࡞ཁ݅ʹదͨ͠ΠϝʔδΛϕʔεʹɻ ಠࣗ Docker ΠϝʔδͷϏϧυͰ͖·͢ɻ
cuda:7.x-runtime ubuntu:14.04 cuda:7.x-devel cuda:7.x-cudax-runtime cuda:7.x-cudax-devel caffe (v0.14) digits (v4.0)
AWS Ϣʔβ Retty ͞Μ͕ GPUʢཧʣΛങͬͨɻ ͱͯڵຯਂ͍ɻ Ϋϥυඞཁͳͷʁ 65 http://qiita.com/taru0216/items/dda1f9f11397f811e98a
࣮ࡍɺνʔϜͰݚڀɾ։ൃΛ͢ΔͱͳΔͱ ڥͷ / ෳ / ڞ༗ / ݖݶཧͳͲ՝ͨ͘͞Μɻ ޙड़ͷ EMR
or ECS + IAM ͳͲͷΈ߹ΘͤΕ ࠷৽ͷ GPU ڥΛࣗಈ͢Δͱ͍ͬͨ͜ͱʂ AWS Ͱͷੳڥ 66
AWS ͷؔ࿈αʔϏε܈
ࢼߦࡨޡϑΣʔζʹศརͳαʔϏε • Amazon Machine Learning • Amazon EMR / EC2
‣ p2 / g2 (GPU) instances ‣ Deep Learning AMI • Amazon EBS / S3 / ECR 68
ೋ߲ྨɺෳΫϥεྨɺઢܗճؼͷϚωʔδυαʔ ϏεɻσʔλͷऔΓࠐΈ͔Βɺֶशɾਪ͕ߦ͑·͢ɻ αʔόͷཧ͕ෆཁͳͨΊɺεέʔϥϏϦςΟਪαʔ ϏεͷՄ༻ੑؾʹͤͣ OKʂ Amazon Machine Learning 69
GPU Πϯελϯε 70 AWS ʹ 2 छྨ͋Γ·͢ʢݱߦੈʣ g2 ܥ: NVIDIA
GRID K520 ɹɹɹɹ1,536 CUDA cores / GPU ͕ 2 ͭͰ 1 ͭͷ K520 ɹɹɹɹg2 Ͱ͑Δ GPU ຊདྷάϥϑΟοΫɾήʔϛϯά༻్ p2 ܥ: NVIDIA Tesla K80 ɹɹɹɹഒਫ਼ԋࢉ࠷େ 2.91 TFLOPSɺ୯ਫ਼ԋࢉ࠷େ 8.74 TFLOPS ɹɹɹɹ2,496 CUDA cores / GPU ͕ 2 ͭͰ 1 ͭͷ K80 ɹɹɹɹp2 ͷ GPU ൚༻ίϯϐϡʔςΟϯά༻్
Amazon DeepLearning AMI 71 શ෦ೖΓ AMIɺ͋Γ·͢ʂʂ TensorFlow 1.0, MXNet, Caffe,
CNTK, Theano, Torchɻ CUDA 7.5, cuDNN 5.0, Anaconda ɻ
ֶश
3ɹֶश ͬͱॏཁɺ͔ͭͷ͕͔͔࣌ؒ͘͢͝Δͱ͜Ζɻ ࣗࣾͷϞσϧΛ࡞Δͷͱͯେม͕ͩ ΦϦδφϧͷͷ͕Ͱ͖Εوॏͳࡒʹɻ Ϋϥυͷ༷ʑͳαʔϏε͕αϙʔτͯ͘͠Ε·͢ɻ 73
AWS ͷؔ࿈αʔϏε܈
ֶशϑΣʔζʹศརͳαʔϏε • Amazon EMR / Batch / EC2 ‣ p2
/ g2 (GPU) instances ‣ Deep Learning AMI ‣ Spot Fleet / AutoScaling Group • Amazon Machine Learning • Amazon EFS / EBS / S3 / ECR • Amazon SQS 75
AWS Batch 76 https://www.youtube.com/watch?v=UR8BI2Exkbc Պֶٕज़ܭࢉɾϋΠύϑΥʔϚϯείϯϐϡʔςΟϯά ༻్ͰਅՁΛൃش͢Δɺେنͳεέʔϧɺδϣϒͷґ ଘఆ͕ٛՄೳͳϚωʔδυฒྻࢄόονॲཧج൫ɻ
͢Ͱʹ Black Belt ͷࢿྉ͕ެ։͞Ε͍ͯ·͢ɻ AWS Batch http://aws.typepad.com/sajp/2017/02/aws-black-belt-online-seminar-aws-batch.html 77
ࢲϢʔβࢹͰݱঢ়Λ·ͱΊ·ͨ͠ɻ AWS Batch http://qiita.com/pottava/items/d9886b2e8835c5c0d30f 78
ਪ
4ɹਪ ֶशࡁΈͷϞσϧΛ͍ɺਪ͢Δɻ Ϗδωεͱ݁͢Δ͜ͱ͕ଟ͘ɺՔಇ 24 / 365ɻ Մ༻ੑͱϨΠςϯγ͕ॏཁͳͷҰൠαʔϏεಉ༷ɻ ͔ͯ͠͠αʔόϨεͰɾɾ͍͚Δɾɾɾʁ 80
AWS ͷؔ࿈αʔϏε܈
ਪϑΣʔζʹศརͳαʔϏε • Amazon ECS / EC2 ‣ p2 / g2
(GPU) instances ‣ Deep Learning AMI ‣ Spot Fleet / AutoScaling Group • AWS Lambda / Amazon API Gateway • AWS ElasticBeanstalk • Amazon EFS / EBS / S3 / ECR 82
ϑϧϚωʔδυͳ Docker ίϯςφΫϥελڥɻ GPU ϕʔεͷਪΞϓϦέʔγϣϯͩͬͯಈ͖·͢ʂ Amazon ECS 83 https://speakerdeck.com/ayemos/build-image-classification-service-with-amazon-ecs-and-gpu-instances ΫοΫύουגࣜձࣾ
છ୩ ༔Ұ͞Μ
ͪ͜Β͢Ͱʹ Black Belt ͷࢿྉ͕ެ։͞Ε͍ͯ·͢ɻ Amazon ECS 84 http://aws.typepad.com/sajp/2017/02/aws-black-belt-online-seminar-aws-batch.html
AWS Lambda 85 αʔόϨεͰ MXNet ʹΑΔਪΛ͢Δ࣮ྫ http://aws.typepad.com/sajp/2017/01/ seamlessly-scale-predictions-with-aws-lambda- and-mxnet.html
AWS ར༻ Tips
ػցֶशΛ AWS ͰΔͳΒɺͬͯಘ͢Δػೳ No. 1ʂ ԾαʔόΛ҆͑͘Δىಈํ๏ɻ AWS ͷσʔληϯλͷʮ༨ʯΛ ͜ͷֹۚͳΒ͍·͢ʂͱʮೖࡳʯͯ͠ىಈɻ Spot
Fleet / Spot Πϯελϯε 87
͜Ε·Ͱհ͖ͯͨ͠ AWS ͷ֤αʔϏεΛ Ͳ͏͍͍͔ͨΛ yaml / json Ͱએݴతʹهड़͓͖ͯ͠ Ұؾʹੜɾഁغ͢Δ͜ͱ͕Ͱ͖Δɻ ؆୯ਝʹɺ҆৺ͯ͠ڥ͕ߏஙͰ͖Δɻ
ӡ༻ෛՙԼ͕Γ·͢ɻΠϯϑϥΛόʔδϣϯཧՄೳʹɻ CloudFormation 88
Let’s try, anyway!
ؼͬͨΒࣗͰҰ࿈ͷྲྀΕΛܦݧʂʂ࣮ફେࣄɻ ʮࣈը૾ఆ with TensorFlow on AWSʯ ࠓͷ॓ http://qiita.com/pottava/items/2fb2572f7099d432ebd9 90
ػցֶशʹͲͷΫϥυΛ͏͔ʁͱߟ͑ΔΑΓ ৄ͍͠ਓΛั·͑ͯɺͬ͞ͱใΛूΊͯ ͍͍ͱ͜ͲΓͰ͏ͷ͕Α͍ͱࢥ͍·͢ɻ ͱ͍͏͔ɺࢼ͚ͩ͢ͳΒ ϩʔΧϧʹڥΛ͑ΕेͰ͢ɾɾ ·ͱΊ͡Όͳ͍ɺ·ͱΊ 91
JAWS-UG AI ࢧ෦
ίϯςϯπ • AWS Ͱ AI αʔϏεΛ࣮ɾӡ༻͢ΔͨΊͷ ɹҰൠతͳٕज़ใɺݟɺࣄྫڞ༗ͷ • ͢Ͱʹ׆༻͍ͯ͠Δํ •
ಋೖΛݕ౼͍ͯ͠Δํ • ԿͦΕ͓͍͍͠ͷʁͳํʢ։࠵͝ͱʹқ͕ଟগҧ͍·͢ʣ
͋Γ͕ͱ͏͍͟͝·ͨ͠ ࢀߟจݙ: • AWS Batch – ؆୯ʹ͑ͯޮతͳόονίϯϐϡʔςΟϯάػೳ – AWS https://aws.amazon.com/jp/batch/
• AWS Black Belt Online SeminarʮAWS Batchʯͷࢿྉ͓ΑͼQAެ։ http://aws.typepad.com/sajp/2017/02/aws-black-belt-online-seminar-aws- batch.html#QCPzBdn.twitter_tweet_count_m • re:Invent 2016: AWS Big Data & Machine Learning Sessionsɻ https://aws.amazon.com/blogs/big-data/reinvent-2016-aws-big-data- machine-learning-sessions/