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
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
Search
Tech Leverages
June 30, 2023
Technology
0
4.3k
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
Tech Leverages
June 30, 2023
Tweet
Share
More Decks by Tech Leverages
See All by Tech Leverages
We Are PdE!! 〜高価値なプロダクトを作れるようになるための勉強会〜
leveragestech
1
560
Prisma Typed SQLのススメ
leveragestech
1
84
今日から始める技術的負債の解消
leveragestech
3
530
ドキュメントとの付き合い方を考える
leveragestech
2
200
開発者体験を向上させる ボトムアップな組織改善
leveragestech
1
240
市場価値の高いエンジニアを 目指そう!!
leveragestech
2
66
より快適なエラーログ監視を目指して
leveragestech
5
1.7k
絶賛設計中!参画者のエンゲージメントを最大化する体験重視のオンボーディング
leveragestech
1
120
SREが強化するべき組織のケイパビリティ
leveragestech
0
100
Other Decks in Technology
See All in Technology
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
220
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
420
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
240
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
200
AGIについてChatGPTに聞いてみた
blueb
0
130
Terraform Stacks入門 #HashiTalks
msato
0
360
Next.jsとNuxtが混在? iframeでなんとかする!
ypresto
2
450
静的解析で実現した効率的なi18n対応の仕組みづくり
minako__ph
2
260
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Rails Girls Zürich Keynote
gr2m
94
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
For a Future-Friendly Web
brad_frost
175
9.4k
Docker and Python
trallard
40
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Side Projects
sachag
452
42k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Transcript
Airflow+SageMakerで安定稼動す る機械学習バッチインフラへ テク戦MLOpsチーム 古賀
自己紹介 古賀悠太(4年目)、テクノロジー戦略室 MLOpsチーム 機械学習周辺のシステムの開発 /運用 - レコメンドAPIの実装 - 機械学習パイプラインの実装 ほんと時間ないので、プロフィール貼っときます
https://lvgs.docbase.io/posts/1267498
話すこと - 機械学習バッチが増えても、安定して動き、運用工数がなるべくかからないシステ ム構成
旧システムでのデータサイエンティスト開発/運用状況
旧システムでのデータサイエンティスト開発/運用状況 怪しい匂い ・開発環境と本番環境を兼ねてる ・なるべく被らないように、定期実行設定 (機械学習はメモリ食うので)
何が辛いの? - バッチ数が増えると、実行時間を被らせないのが大変に - 可用性の懸念 - 実行時間が被ると、共倒れする - 機械学習はリソース食うので、共倒れ発生しやすい -
運用工数の懸念 - そもそも何がいつ実行されているのか管理必要 - 一度書いて終わりじゃない サーバー使用表の抜粋
解決策 - 各バッチのインフラを分離 - 死んでも他へは影響しない →共倒れしない - 実行時間が被っても良いので、好きなタイミングで実行できる →他のバッチを考えなくて良い
導入技術 Airflow - スケジューラー - Pythonで実行タイミングと処理を記述 - 今回は順次ワーカーを起動するだけ AWS SageMaker
Processing Job - ワーカー - ECSタスクみたいなもの - Dockerイメージをpullして実行 - CPU / GPU / メモリを指定可能
システム構成とデプロイフロー ※開発はまだGCE。許して。
Airflowの他のメリット - 依存関係定義が楽 - コストカット - 必要なリソースだけ稼動するので - リトライ設定簡単 -
通知設定簡単 - 実行履歴やログ見れる などなど Pythonでの定義 taskA >> [taskB, taskC] >> taskD
まとめ - 機械学習バッチが増えても、安定して動き、運用工数がなるべくかからないシステ ム構成にできた - 役割で分割して、負荷面のスケーラビリティを担保する手法はよくある - Message QueueとかDBのWriter /
Readerとか - イケテナイシステムにも敬意を持ちたい