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アカウント
June 30, 2023
Technology
0
3.7k
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
Airflow+SageMakerで安定稼動する機械学習バッチインフラへ
レバレジーズTechアカウント
June 30, 2023
Tweet
Share
More Decks by レバレジーズTechアカウント
See All by レバレジーズTechアカウント
Step by Stepで学ぶ、ADT(代数的データ型)、モナドからEffect-TSまで
leveragestech
1
3.1k
TypescriptでのContextualな構造化ロギングと社内全体への導入
leveragestech
3
590
デザインシステム基盤構築実践
leveragestech
1
2.4k
荒廃したテックブログの再生_技術広報LT大会
leveragestech
5
5.6k
文系大学生と学び考える開発生産性
leveragestech
1
28
「マイクロサービスアーキテクチャ」と「アーキテクチャ特性」で読み解くレバテックのこれまでとこれから
leveragestech
0
58
社内共通ルールを値オブジェクトにして社内ライブラリとして運用してみた話
leveragestech
7
3.1k
Effect-TSを利用した副作用を分離する設計について
leveragestech
0
1.3k
マネジメント未経験の脳筋が開発チームのリーダーになって感じた苦悩と学び
leveragestech
0
91
Other Decks in Technology
See All in Technology
エムスリーマルチデバイスチーム紹介資料 / Introduction of M3 Multi Device Team
m3_engineering
1
170
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
110
5分で分かる(かもしれない) Vector engine for OpenSearch Serverless
tsukuboshi
1
410
Dungeons and Dragons and Rails
joelq
0
230
Google Cloud Next '24 Recap in ZOZO AIにより変わる開発 運用/Development and operation changed by AI
gachimuchiengineer
0
200
大規模言語モデル (LLM)における低精度数値表現
pfn
PRO
3
830
Domain-driven Design: A Complete Example
ewolff
2
260
複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術 / Strike a balance between correctness and efficiency with fp-ts
kakehashi
5
3.6k
PHP 9 に備えよ - 動的プロパティ、どうすればいぃ?
taisukearase
0
340
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
190
生成AI活用推進の為にやったこと/やらなかったこと
ktc_wada
0
180
iThome2024 Wailing Wall of Enterprise Security
notsurprised
0
300
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
26
5.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
What the flash - Photography Introduction
edds
64
11k
Robots, Beer and Maslow
schacon
PRO
155
8k
The Cost Of JavaScript in 2023
addyosmani
21
4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
What's in a price? How to price your products and services
michaelherold
238
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
It's Worth the Effort
3n
180
27k
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とか - イケテナイシステムにも敬意を持ちたい