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.5k
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
Tech Leverages
June 30, 2023
Tweet
Share
More Decks by Tech Leverages
See All by Tech Leverages
データエンジニアとしてのキャリア戦略 〜これからの挑戦〜
leveragestech
0
66
ドメインロジックで考えるテスタビリティ
leveragestech
1
300
専門領域に特化したチームの挑戦
leveragestech
0
400
もう一度、 事業を支えるシステムに。
leveragestech
6
3.6k
ログに対する誤解とベストプラクティス
leveragestech
0
130
We Are PdE!! 〜高価値なプロダクトを作れるようになるための勉強会〜
leveragestech
1
660
Prisma Typed SQLのススメ
leveragestech
1
170
今日から始める技術的負債の解消
leveragestech
4
560
ドキュメントとの付き合い方を考える
leveragestech
3
230
Other Decks in Technology
See All in Technology
2024年にチャレンジしたことを振り返るぞ
mitchan
0
150
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
120
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
550
なぜCodeceptJSを選んだか
goataka
0
180
Server-Side Engineer of LINE Sukimani
lycorp_recruit_jp
0
360
20241220_S3 tablesの使い方を検証してみた
handy
4
700
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
280
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
200
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
140
UI State設計とテスト方針
rmakiyama
3
800
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
340
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
100
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Invisible Side of Design
smashingmag
298
50k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
110
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Site-Speed That Sticks
csswizardry
2
190
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Designing for humans not robots
tammielis
250
25k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
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とか - イケテナイシステムにも敬意を持ちたい