Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
get-started-with-machine-learning-on-aws-20170401
ryo nakamaru
April 01, 2017
Programming
3
3.3k
get-started-with-machine-learning-on-aws-20170401
IoT ALGYAN @ 20170401
ryo nakamaru
April 01, 2017
Tweet
Share
More Decks by ryo nakamaru
See All by ryo nakamaru
AWSで楽をするサービスメッシュ入門/appmesh-trial
pottava
1
870
reinforce-2019-recap-lt
pottava
2
4k
ScaleShift-jp-2019-summer
pottava
1
150
Firecracker とは何か/what is Firecracker
pottava
11
4.5k
ハイブリッド並列 on Kubernetes/hybrid-parallel-program-on-kubernetes
pottava
1
290
AWS Fargate + Code 兄弟で始める継続的デリバリー / Continuous Delivery with AWS Fargate and Code brothers
pottava
12
2.6k
Singularity と NVIDIA GPU Cloud で作る ハイブリッド機械学習環境の構築 / Building a hybrid environment for Machine Learning with Singularity and NGC
pottava
3
940
明日から始めるちょい足し λ / get-started-with-aws-lambda
pottava
4
2k
NGC と Singularity によるハイブリッド機械学習環境 / A hybrid environment for Machine Learning with NGC and Singularity
pottava
0
380
Other Decks in Programming
See All in Programming
はてなフォトライフをECSに移行した話 / Hatena Engineer Seminar #20
cohalz
1
820
GoogleI/O2022 LT報告会資料
shinsukefujita1126
0
280
Client-Side Field-Level Encryption for Apache Kafka Connect @ VoxxedDays Luxembourg 2022
hpgrahsl
0
100
Running Laravel/PHP on AWS (AWS Builders Day Taiwan 2022)
dwchiang
0
130
Jetpack Compose best practices 動画紹介 @GoogleI/O LT会
takakitojo
0
270
Amazon Aurora の v1 が EOL になるので 10 クラスタアップグレードして出てきたノウハウ
dekokun
0
840
即、New Relic / New Relic NOW!
uzulla
0
270
1時間半で克服するJavaScriptの非同期処理/async_javascript_kokufuku
marchin1989
2
600
Oracle REST Data Service: APEX Office Hours
thatjeffsmith
0
690
Cross Deviceチームにおけるスマートテレビアプリ開発ってどんな感じ?
cokaholic
0
120
個人開発でReact Native + Expo製アプリを作った話
ryonakae
1
450
IE Graduation Certificate
jxck
6
4.7k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
WebSockets: Embracing the real-time Web
robhawkes
57
5.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
269
11k
How GitHub (no longer) Works
holman
296
140k
Infographics Made Easy
chrislema
233
17k
Making the Leap to Tech Lead
cromwellryan
113
7.4k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
213
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
37
3.2k
Become a Pro
speakerdeck
PRO
3
830
Web development in the modern age
philhawksworth
197
9.3k
The Pragmatic Product Professional
lauravandoore
19
2.9k
Making Projects Easy
brettharned
98
4.3k
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/