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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takashi Suzuki
March 04, 2020
Technology
44
0
Share
MOVの機械学習システムを支えるMLOps実践
2020/03に行われたDeNA TechConの登壇資料
Takashi Suzuki
March 04, 2020
More Decks by Takashi Suzuki
See All by Takashi Suzuki
到着予想時間サービスの特徴量のニアリアルタイム化
t24kc
0
200
Kubernetes超入門
t24kc
0
180
AI予約サービスのMLOps事例紹介
t24kc
0
40
MLプロジェクトのリリースフローを考える
t24kc
0
20
GOの機械学習システムを支えるMLOps事例紹介
t24kc
0
150
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
51
GOの実験環境について
t24kc
0
39
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
48
MOV お客さま探索ナビの GCP ML開発フローについて
t24kc
0
23
Other Decks in Technology
See All in Technology
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
23k
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
210
EBS暗号化に失敗してEC2が動かなくなった話
hamaguchimmm
2
200
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
410
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
120
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
AI バイブコーティングでキーボード不要?!
samakada
0
560
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
150
Hacobu Tech Deck
hacobu
PRO
0
110
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
150
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Un-Boring Meetings
codingconduct
0
270
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
210
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
69
39k
Prompt Engineering for Job Search
mfonobong
0
270
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Technical Leadership for Architectural Decision Making
baasie
3
330
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
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