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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
480
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.6k
NGC と Singularity によるハイブリッド機械学習環境 / A hybrid environment for Machine Learning with NGC and Singularity
pottava
0
550
Other Decks in Programming
See All in Programming
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
150
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1k
GraphQL の onError と Nullability のこれから
quramy
0
180
APNsからLive Activityを開始する話
yumnumm
0
180
sbt 2.0: takeoff
eed3si9n
0
170
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
370
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
120
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
220
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
210
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
200
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
200
Performance Optimization With LLMs
xleitix
0
210
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
The Cost Of JavaScript in 2023
addyosmani
55
10k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
370
The Language of Interfaces
destraynor
162
27k
Building the Perfect Custom Keyboard
takai
2
920
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
How to Talk to Developers About Accessibility
jct
2
590
GitHub's CSS Performance
jonrohan
1033
470k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
47k
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/