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
2.9k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フリーランスだらけの ML基盤開発 / ML Infra Development with Freelance
Kengo Miyakawa
December 12, 2019
Other Decks in Technology
See All in Technology
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
250
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
810
Tech-Verse 2026_Keynote
lycorptech_jp
PRO
0
130
きのこカンファレンス2026_肩書きを外したとき私は誰か
yamasatimi
1
130
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
310
Claude Code 珍プレー好プレー
shinyasaita
0
160
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
220
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
300
product engineering with qa
nealle
0
140
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
420
ゼロをイチにする仕事が終わったあと
smasato
0
280
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
660
The Language of Interfaces
destraynor
162
27k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Google's AI Overviews - The New Search
badams
0
1.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
GitHub's CSS Performance
jonrohan
1033
470k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
490
The Spectacular Lies of Maps
axbom
PRO
1
850
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 ·ͱΊ