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
MOVの機械学習システムを支えるMLOps実践
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Takashi Suzuki
March 04, 2020
Technology
0
40
MOVの機械学習システムを支えるMLOps実践
2020/03に行われたDeNA TechConの登壇資料
Takashi Suzuki
March 04, 2020
Tweet
Share
More Decks by Takashi Suzuki
See All by Takashi Suzuki
到着予想時間サービスの特徴量のニアリアルタイム化
t24kc
0
180
Kubernetes超入門
t24kc
0
160
AI予約サービスのMLOps事例紹介
t24kc
0
37
MLプロジェクトのリリースフローを考える
t24kc
0
20
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
140
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
47
GOの実験環境について
t24kc
0
36
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
47
MOV お客さま探索ナビの GCP ML開発フローについて
t24kc
0
21
Other Decks in Technology
See All in Technology
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
170
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.6k
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
540
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
850
22nd ACRi Webinar - ChipTip Technology Eric-san's slide
nao_sumikawa
0
100
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
1,000 にも届く AWS Organizations 組織のポリシー運用をちゃんとしたい、という話
kazzpapa3
0
190
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
170
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
210
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
340
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
1
1.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Ruling the World: When Life Gets Gamed
codingconduct
0
150
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Invisible Side of Design
smashingmag
302
51k
Transcript
.07ͷػցֶशγεςϜΛࢧ͑Δ .-0QT࣮ફ ློ࢙ ஙࢁকԝ !1
DeNA TechCon 2020 #denatechcon
!3
!4
DeNA TechCon 2020 #denatechcon ✔ ✔ ✔ 5
6
7
8
͜ͷं྆ʹͱͬͯ ࠷దͳߦܦ࿏Կ͔ʁ 9 • • • •
10 々
11
12
• • !13 • •
ຊ൪ڥ • ਪύΠϓϥΠϯ • Ϟσϧਫ਼ࢹ !14 ࣮ݧڥ • ੳ/Ϟσϧ։ൃ •
࣮ݧཧ CI/CD • • • • 々
DeNA TechCon 2020 #denatechcon
!16 BigQuery 々
࣮ݧڥ σʔλαΠΤϯςΟετ !17 BigQuery ୳ࡧతσʔλղੳ લॲཧ ֶश ਪ ධՁ
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon ※
DeNA TechCon 2020 #denatechcon ※
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon ※ ?
DeNA TechCon 2020 #denatechcon ?
DeNA TechCon 2020 #denatechcon 々 々 → 々
DeNA TechCon 2020 #denatechcon ※ #JH2VFSZ
!26 ※
!27 - ⇒ - - -
DeNA TechCon 2020 #denatechcon
!29 CI/CD 々
!30 CI/CD 々 々
DeNA TechCon 2020 #denatechcon 々
DeNA TechCon 2020 #denatechcon 々 ※ "*1MBUGPSN
!33
々 - - - !34
DeNA TechCon 2020 #denatechcon
• ※ ⇒ ※ • → ※ !36
DeNA TechCon 2020 #denatechcon ͔͜͜Βޙ
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon 々※
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon M ! ®lROgňǐkYi々 @ ûÂIJ_jmąƀŰ¯=z?`ÍÌŰ¯^]=é©é\ęÐaŰ¯Qm
@ ƈœĪ`ēÑøħůÄ_jmŐƉ`ąƀÛ ġŁǐƢǜ ƔŁǐƢǜ ijŨƿç Map data ©2019 Google
DeNA TechCon 2020 #denatechcon 々
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon 々 AI Platform Training BigQuery
DeNA TechCon 2020 #denatechcon ($3 ,VCFGMPX1JQFMJOF 々 4JNVMBUJPO
3VOOFS *NBHF 1SFEJDUPS *NBHF $PNQPTFS 1SPGJMF 4JNVMBUPS%BUB 5SBJO #BUDI 1SFEJDUJPO 1SFQSPDFTT #VJME #JH2VFSZ ($4
DeNA TechCon 2020 #denatechcon ($3 1SPEVDUJPO"1* 3PVUF"1* 1SFEJDUPS
*NBHF $PNQPTFS 1SFEJDUJPO 1SFQSPDFTT #JH2VFSZ ($4
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon 々 々 々 々 々 々
DeNA TechCon 2020 #denatechcon 々 々 々 々 々 々
?
DeNA TechCon 2020 #denatechcon 々 々 々 々 々 々
DeNA TechCon 2020 #denatechcon ※ 々 々
DeNA TechCon 2020 #denatechcon ※ 々
DeNA TechCon 2020 #denatechcon def task_fail_slack_alert(context): slack_msg = “Task Failed.”
failed_alert = SlackWebhookOperator( task_id="xxx", http_conn_id="slack", webhook_token=Variable.get("webhook.token"), message=slack_msg, username="airflow", ) return failed_alert.execute(context=context)
DeNA TechCon 2020 #denatechcon <!subteam^ABCDEF123|@user_group>
DeNA TechCon 2020 #denatechcon 々 々 々 々 々 々
DeNA TechCon 2020 #denatechcon 々
DeNA TechCon 2020 #denatechcon ※
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon 々 々
DeNA TechCon 2020 #denatechcon 々
DeNA TechCon 2020 #denatechcon
DeNA TechCon 2020 #denatechcon 々
DeNA TechCon 2020 #denatechcon ※
DeNA TechCon 2020 #denatechcon → 々
DeNA TechCon 2020 #denatechcon 々
DeNA TechCon 2020 #denatechcon ※ @pytest.fixture(scope="session", autouse=True) def setup_teardown(request, test_config):
# setup # ͜͜ʹࡉʑͱͨ͠ॲཧ suffix = uuid.uuid4() create_dataset(suffix) yield # teardown # ͜͜ʹࡉʑͱͨ͠ॲཧ delete_blobs(suffix) delete_dataset(suffix)
DeNA TechCon 2020 #denatechcon @pytest.mark.dependency(depends=[“test_preprocess_a”, “test_preprocess_b”]) def test_trainer(test_config): trainer =
Trainer( test_config[“xxx”].format(test_config[“hash"]), test_config[“yyy”].format(test_config[“hash"]), ) trainer.train() trainer.upload_model()
DeNA TechCon 2020 #denatechcon →
DeNA TechCon 2020 #denatechcon 々 →
• = • = • !73
DeNA TechCon 2020