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
フリーランスだらけの ML基盤開発 / ML Infra Development with F...
Search
Kengo Miyakawa
December 12, 2019
Technology
3
2.8k
フリーランスだらけの ML基盤開発 / ML Infra Development with Freelance
Kengo Miyakawa
December 12, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
大規模言語モデルとそのソフトウェア開発に向けた応用 (2024年版)
kazato
1
160
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
200
Fearsome File Formats
ange
0
400
多様なメトリックとシステムの健全性維持
masaaki_k
0
130
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
620
ZOZOTOWN の推薦における KPI モニタリング/KPI monitoring for ZOZOTOWN recommendations
rayuron
1
170
MasterMemory v3 最速確認会
yucchiy
0
230
ハイテク休憩
sat
PRO
2
190
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
320
組み込みアプリパフォーマンス格闘記 検索画面編
wataruhigasi
1
180
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
130
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
520
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
190
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A Philosophy of Restraint
colly
203
16k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
GitHub's CSS Performance
jonrohan
1031
460k
Agile that works and the tools we love
rasmusluckow
328
21k
Gamification - CAS2011
davidbonilla
80
5.1k
Writing Fast Ruby
sferik
628
61k
Into the Great Unknown - MozCon
thekraken
34
1.5k
Transcript
ϑϦʔϥϯεͩΒ͚ͷ MLج൫։ൃ ٶ݈ޗ @MLPP#5 2019/12/12 1
ٶ ݈ޗ (@N30nnnn) ࣗݾհ • ܦӦֶ - ౷ܭֶઐ߈ • ݸਓࣄۀओ
• σʔλੳ → ը૾ܥML → EM + MLOps • ݱࡏ2ࣾͰ MLOps 2
৬ྺ • ࠂཧళ (σʔλੳ) • ਓೳडୗ։ൃ1 (ML) • ਓೳडୗ։ൃ2 (ML,
EM) • (ݱ৬) גࣜձࣾΫϥϏε (MLOps, EM) ᵋ ձܭܥը૾ॲཧ • (ݱ৬) גࣜձࣾϨΞδϣϒ (MLOps) ᵋ ΦϯϥΠϯӳձ EM: HowͱWho EM: HowͱWho 3 ※ڐՄΛड͚ͯެ։ ※2019/12 ݱࡏ
MLνʔϜͷϝϯόʔߏ • (ݱ৬) גࣜձࣾΫϥϏε (MLOps, EM) ᵋ ձܭܥը૾ॲཧ • (ݱ৬)
גࣜձࣾϨΞδϣϒ (MLOps) ᵋ ΦϯϥΠϯӳձ ਖ਼ࣾһ: 2ਓ ϑϦʔ: 7ਓ ਖ਼ࣾһ: 2ਓ ϑϦʔ: 5ਓ 4 ※ڐՄΛड͚ͯެ։ ※2019/12 ݱࡏ
Agenda • ࠷ۙ࡞͍ͬͯΔϓϩμΫτͷߏ • Fargateϕʔε • EKSϕʔε • ϑϦʔϥϯε͕ଟ͍ϓϩδΣΫτͷΈ •
ਓࡐαΠΫϧͷ͞ • ઐྖҬͷҧ͍ • ͞ΕͨMLίʔυཧ • ߨͨ͡ղܾࡦ • ΠϯλʔϑΣʔεͷపఈ - ؔ৺ͷ 5
Fargateͷࣄྫ 6
ϓϩμΫτ: Fargate - ਪڥ • 1API - 1ϦϙδτϦ • gitflowͰ
develop/master → ։ൃ/ຊ൪ • ΠϝʔδϏϧυͱ devσϓϩΠCircleCIͰࣗಈԽ • ΠϯϑϥTerraform 7 ※ڐՄΛड͚ͯެ։
ϓϩμΫτ: Fargate - ࠶ֶशػߏ 8 • ֶशσʔλRDSʹ. • ఆظతʹֶशΛτϦΨ. •
Dynamoʹֶश݁Ռอଘ • Dynamoࢀর͠࠷ྑͷϞσ ϧΛऔಘ • RDSʹཷΊΔͷΈͰɺ ੑೳ্/มԽΛଊ͑ ͍ͨ ※ڐՄΛड͚ͯެ։
ϓϩμΫτ: Fargate - ࠶ֶशػߏ 9 • ֶशσʔλRDSʹ. • ఆظతʹֶशΛτϦΨ. •
Dynamoʹֶश݁Ռอଘ • Dynamoࢀর͠࠷ྑͷϞσ ϧΛऔಘ • RDSʹཷΊΔͷΈͰɺ ੑೳ্/มԽΛଊ͑ ͍ͨ ※ڐՄΛड͚ͯެ։
ϓϩμΫτ: Fargate - ࠶ֶशػߏ 10 • ֶशσʔλRDSʹ. • ఆظతʹֶशΛτϦΨ. •
Dynamoʹֶश݁Ռอଘ • Dynamoࢀর͠࠷ྑͷϞσ ϧΛऔಘ • RDSʹཷΊΔͷΈͰɺ ੑೳ্/มԽΛଊ͑ ͍ͨ ※ڐՄΛड͚ͯެ։
ϓϩμΫτ: Fargate - ࠶ֶशػߏ 11 • ֶशσʔλRDSʹ. • ఆظతʹֶशΛτϦΨ. •
Dynamoʹֶश݁Ռอଘ • Dynamoࢀর͠࠷ྑͷϞσ ϧΛऔಘ • RDSʹཷΊΔͷΈͰɺ ੑೳ্/มԽΛଊ͑ ͍ͨ ※ڐՄΛड͚ͯެ։
EKSͷࣄྫ 12
ϓϩμΫτ: EKS - ਪڥ • ෳͷೖྗΛ·ͱΊͯਪఆ ΩϡʔܗࣜͷAPI • ࠶ֶशݕ౼த •
develop/master → ։ൃ/ຊ൪ • ΠϝʔδϏϧυ CircleCIͰࣗಈԽ • ΠϯϑϥTerraform 13 ※ڐՄΛड͚ͯެ։
ϓϩμΫτ: EKS - ਪڥ • ෳͷೖྗΛ·ͱΊͯਪఆ ΩϡʔܗࣜͷAPI • ࠶ֶशݕ౼த •
develop/master → ։ൃ/ຊ൪ • ΠϝʔδϏϧυ CircleCIͰࣗಈԽ • ΠϯϑϥTerraform 14 ※ڐՄΛड͚ͯެ։
ϓϩμΫτ: EKS - ਪڥ • ෳͷೖྗΛ·ͱΊͯਪఆ ΩϡʔܗࣜͷAPI • ࠶ֶशݕ౼த •
develop/master → ։ൃ/ຊ൪ • ΠϝʔδϏϧυ CircleCIͰࣗಈԽ • ΠϯϑϥTerraform 15 ※ڐՄΛड͚ͯެ։
ϓϩμΫτ: EKS - ਪڥ • ෳͷೖྗΛ·ͱΊͯਪఆ ΩϡʔܗࣜͷAPI • ࠶ֶशݕ౼த •
develop/master → ։ൃ/ຊ൪ • ΠϝʔδϏϧυ CircleCIͰࣗಈԽ • ΠϯϑϥTerraform 16 ※ڐՄΛड͚ͯެ։
• ͳΔ͘γϯϓϧͳ࡞Γ • δϣΠϯίετݮ • ຊ࣭తͳ։ൃʹઐ೦ • ҰํͰͳΔ͘Ϟμϯʹ • ৽͍ؒ͠ʹདྷͯͨ͘Ίͷڥ࡞Γ
17
ϑϦʔϥϯε͕ଟ͍PJͷΈ 18 • ਓࡐαΠΫϧͷ͞ • ઐྖҬͷҧ͍ • ͞ΕͨMLίʔυཧ
ϑϦʔϥϯε͕ଟ͍PJͷΈ1 • ਓࡐαΠΫϧͷ͞ • 3ϲ݄, 6ϲ݄Ͱ͍ͳ͘ͳΔ͜ͱ • ࠾༻ଆ߹ɾΤϯδχΞଆ߹ ΩϟονΞοϓͷ͕࣌ؒπϥ͍ 19
ϑϦʔϥϯε͕ଟ͍PJͷΈ2 • ઐྖҬͷҧ͍ • ඞͣ͠ML / αʔόʔαΠυ྆ํͷ͕ࣝ༗ΔΘ͚Ͱͳ͍ • αʔόʔαΠυͷ͠͞(e.g. APIपΓ,
ฒߦॲཧ) • MLͷ͠͞(e.g. ੑೳࢦඪ, Train,Validation,Test…) • ඇઐྖҬʹੵۃతͱݶΒͳ͍ ίϛϡχέʔγϣϯίετ͕πϥ͍ 20
ϑϦʔϥϯε͕ଟ͍PJͷΈ3 • ͞ΕͨMLίʔυཧ • લఏͱ͞ΕΔσΟϨΫτϦߏ / ਖ਼ղϥϕϧܗࣜ • ୯ҰͷࣈԽͮ͠Β͍ੑೳධՁ MLͷཧ͕πϥ͍
21
ΠϯλʔϑΣʔεͷపఈ 22
ؔ৺ͷ • Pythonʹଘࡏ͠ͳ͍ΠϯλʔϑΣʔε • σʔλͷࡏΓॲμϯϩʔυͳͲʹؔ༩ͨ͘͠ͳ͍ML • Ϟσϧͷൺֱํ๏લॲཧޙॲཧͳͲʹؔ༩ͨ͘͠ͳ͍αʔό • ͞Εͨίʔυͷ࣮ଶѲΛ؆ૉԽ͍ͨ͠ཧऀ ΠϯλʔϑΣʔεΛݻΊͯίϛϡχέʔγϣϯΛݮΒ͢
23
e.g. ਪఆॲཧͷ߹ 24 αʔόʔαΠυ ML
e.g. ਪఆॲཧͷ߹ 25 αʔόʔαΠυ σʔλͷॴࡏ, औಘํ๏ΛML͔Β ฦ٫࣌ͷܗΛ αʔό͔Β ML σʔλͷॴࡏΛML͕
ؾʹ͢Δඞཁ͕ͳ͍
e.g. ࠶ֶशػߏ αʔόʔαΠυ ML αʔόʔαΠυ 26 ݺͼग़͠
e.g. ࠶ֶशػߏ αʔόʔαΠυ ML αʔόʔαΠυ σʔλͷॴࡏ, औಘํ๏ΛML͔Β σʔλͷॴࡏ, औಘํ๏ΛML͔Β ੑೳൺֱͷ
Ϟσϧબͷ໌ࣔ 27 Ϟσϧաڈใͷॴࡏ, औಘ,هΛ Ϟσϧաڈใͷॴࡏ, औಘ,هΛ
e.g. ࠶ֶशػߏ αʔόʔαΠυ ML αʔόʔαΠυ ࠶ֶश༻σʔλϕʔε •ը૾ྨςʔϒϧ •จࣈྻݕςʔϒϧ •OCRςʔϒϧ •……
நԽ 28
• ݸʑਓͷઐྖҬੌ͍ • ϑϦʔϥϯεͷੜ໋ઢ • ؔ৺֎ʹؔ༩ͯ͠ΒΘͳͯ͘ྑ͍ߏ • ҟͳΔઐؒͰͷίϛϡχέʔγϣϯݮ͠ෛ୲ݮ • αʔόʔαΠυͷΈͳΒͣMLϑϦʔϥϯεͰՄೳʹ
29 ·ͱΊ