Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
repro-tech-meetup-7
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takeshi Kamada
April 04, 2019
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
repro-tech-meetup-7
Repro tech meetup #7の発表資料です
Takeshi Kamada
April 04, 2019
Other Decks in Technology
See All in Technology
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
190
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
190
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
How to Design Configuration for Rails Applications
willnet
1
770
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Mind Mapping
helmedeiros
1
400
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Practical Orchestrator
shlominoach
192
12k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Transcript
ReproのAI機能を支える技術 Repro AI Labs. 鎌田武志 (@take4_k)
自己紹介 • 鎌田武志 (@take4_k) • 2018 年 6 月 Repro
入社 • Repro AI Labs 所属 • WEB アプリケーションエンジニア (!?)
今日話すこと • Repro の ML 基盤について • 最速で AI 機能をリリースする技術からのリリース後安定化させ
るまでの軌跡 • アルゴリズムの話は出てきません
Reproとは
Reproでできること • アナリティクス ( 分析 ) • マーケティング ◦ プッシュ配信
◦ アプリ内メッセージ ◦ Web メッセージ
Smart Audience™ • Repro 初の AI 機能 • キャンペーン対象ユーザーを自動予測 ◦
現在はチャーン予測 ( 離脱しそうなユーザー ) に対応
Repro AI Labs. • データ分析 • PoC • ML Ops
• Repro 本体への機能追加
アーキテクチャ 最近の CTO の発表もご参照ください
ML基盤 • 予測結果を S3 に転送してクラウドの壁を超える • 本体とはなるべく粗結合にする
Composer(Airflow) • フルマネージドワークフローオーケストレーションサービス • GKE 上に Airflow を構築してくれる • Python
で DAG( 有向非巡回グラフ ) を使いワークフローを定義 ◦ DAG ファイルは GCS に置くだけ • スケジュール管理 • 様々な Operator • ( UI わかりずらいけど他よりまだマシな気がする)
DAG
Dataproc • Spark & Hadoop クラスタのフルマネージドサービス • GCS コネクタ •
Pyspark など様々な言語に対応 • Job API がある
Datalab • GCE 上にデータ分析、可視化、 ML のための環境を構築してく れるサービス • Notebook 形式で使いやすい
• BQ 、 GCS などと簡単に接続できる • Docker 化されている • Repro では PoC 用
最速リリースのポイント • 構築が楽なサービスを使った • Repro 本体の既存の仕組みに乗れた
最速でリリースしたツケ • 前処理・学習・予測全て 1 スクリプト 1 タスクで実行 ◦ 途中でコケた時に全て再実行 …
• 処理時間が線形に増加してスケールできない ◦ 一時期は 7 時間かかっていた … • 補足できてないエラーがあった ◦ コケていたことに気付かずインシデントに …
Dataprocアンチパターン • Jupyter notebook も scikit-learn もインストールできる • やろうと思えば ML
バッチ処理に使える?! • でもやらないほうがよい ◦ Python 側でマシンリソース使いすぎた時に Spark の Job が落 ちる
改善できた理由 • 今後の AI 機能開発を見据えたチーム増員 ◦ アプリケーション ◦ インフラ •
AI エンジニアに不足しがちな視点を補完 ( きっとアルゴリズムや 予測精度で頭いっぱいですよね ) ◦ システム負荷 ◦ 障害対応 ▪ 起き辛いコードを書くのも含む
推測するな 計測せよ • 適切にログを追加 • 通信に無駄に時間がかかっていたのがわかって改善につな がった ◦ Spark のキャッシュを使った
◦ 転送ファイル圧縮した
技術スタックの理解を深める • 知らないと使えない • 知ることで監視設定など追加できた ◦ Stackdriver Monitoring ▪ VM
とコンテナの死活監視 ◦ Airflow ▪ Timeout 設定 ▪ Retry の設定
雰囲気で運用をやらない • チームで SLO 設定 ◦ エラーだから ASAP で対応→心の余裕 •
Redash のダッシュボード作成 ◦ 定期的な振り返りを実施
リファクタリング • 前処理・学習・予測を分割した • 再実行しやすくなった • `SocketTimeoutException` がでなくなった
まとめ • アルゴリズムや予測精度だけでなくシステム開発の基本が改め て重要 • メンバーで補完しあえるチームを作ろう
今後やっていきたいこと • ML 基盤まだまだ伸びしろある ◦ Dataproc から ML を剥がしたい ◦
もっと良い感じの PoC 環境を作りたい • もっと AI 機能を作る ◦ 課金ユーザーを予測 ◦ ユーザー毎の最適なプッシュ配信時間を予測
We are hiring!! https://www.wantedly.com/companies/repro/projects