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.6k
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
Tech Leverages
June 30, 2023
Tweet
Share
More Decks by Tech Leverages
See All by Tech Leverages
10倍スケールを見越した データモデリングのリアーキテクチャ
leveragestech
0
18
理想のパスワードは?
leveragestech
1
77
データエンジニアとしてのキャリア戦略 〜これからの挑戦〜
leveragestech
0
92
ドメインロジックで考えるテスタビリティ
leveragestech
1
330
専門領域に特化したチームの挑戦
leveragestech
0
450
もう一度、 事業を支えるシステムに。
leveragestech
6
4.9k
ログに対する誤解とベストプラクティス
leveragestech
0
1.4k
We Are PdE!! 〜高価値なプロダクトを作れるようになるための勉強会〜
leveragestech
1
1.9k
Prisma Typed SQLのススメ
leveragestech
1
270
Other Decks in Technology
See All in Technology
SIEMによるセキュリティログの可視化と分析を通じた信頼性向上プロセスと実践
coconala_engineer
1
2.9k
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
17
4k
re:Invent Recap (January 2025)
scalefactory
0
340
エラーバジェット枯渇の原因 - 偽陽性との戦い -
phaya72
1
100
Grid表示のレイアウトで Flow layoutsを使う
cffyoha
1
150
20250129 Findy_テスト高活用化
dshirae
0
220
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
6
2.9k
DevSecOps入門:Security Development Lifecycleによる開発プロセスのセキュリティ強化
yuriemori
0
230
CloudWatch Container Insightsを使ったAmazon ECSのリソース監視
umekou
1
120
横断SREの立ち上げと、AWSセキュリティへの取り組みの軌跡
rvirus0817
3
4.5k
Makuake*UPSIDER_LightningTalk
upsider_tech
0
190
生成AIを活用した機能を、顧客に提供するまでに乗り越えた『4つの壁』
toshiblues
1
210
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
20
3.1k
Why Our Code Smells
bkeepers
PRO
335
57k
How GitHub (no longer) Works
holman
312
140k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Building an army of robots
kneath
302
45k
Mobile First: as difficult as doing things right
swwweet
222
9.2k
What's in a price? How to price your products and services
michaelherold
244
12k
Music & Morning Musume
bryan
46
6.3k
How to Ace a Technical Interview
jacobian
276
23k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
6
220
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.3k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
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とか - イケテナイシステムにも敬意を持ちたい