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
repro-tech-meetup-7
Search
Takeshi Kamada
April 04, 2019
Technology
0
980
repro-tech-meetup-7
Repro tech meetup #7の発表資料です
Takeshi Kamada
April 04, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
1
660
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
190
【SORACOM UG Explorer 2025】さらなる10年へ ~ SORACOM MVC 発表
soracom
PRO
0
180
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
1
490
re:Inventに行くまでにやっておきたいこと
nagisa53
0
800
OPENLOGI Company Profile for engineer
hr01
1
46k
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
430
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
280
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
8
4.7k
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
1k
Azure Well-Architected Framework入門
tomokusaba
1
150
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.7k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
57k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Six Lessons from altMBA
skipperchong
29
4k
Typedesign – Prime Four
hannesfritz
42
2.8k
KATA
mclloyd
PRO
32
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
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