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
機械学習で使用しているGCSの料金を激減させた話
Search
nogawanogawa
February 01, 2024
2
4.9k
機械学習で使用しているGCSの料金を激減させた話
nogawanogawa
February 01, 2024
Tweet
Share
More Decks by nogawanogawa
See All by nogawanogawa
相互推薦システム開発の舞台裏と今後の展望
nogawanogawa
1
260
コサイン類似度のいろんな書き方
nogawanogawa
4
1.3k
How to Index Item IDs for Recommendation Foundation Models
nogawanogawa
0
470
CommonLitコンペで学んだこと
nogawanogawa
2
2.1k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
GraphQLとの向き合い方2022年版
quramy
44
13k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Docker and Python
trallard
42
3.1k
Code Review Best Practice
trishagee
65
17k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Designing Experiences People Love
moore
138
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Code Reviewing Like a Champion
maltzj
520
39k
Fireside Chat
paigeccino
34
3.1k
Transcript
© 2024 Wantedly, Inc. 機械学習で使用しているGCS の料金を激減させた話 第1回 AWSコスト削減 天下一武道会 Feb.
1 2024 - @nogawanogawa
自己紹介 © 2024 Wantedly, Inc. - 名前 - 角川拓也 (@nogawanogawa)
- 所属 - ウォンテッドリー株式会社 データサイエンティスト - ex. - ITコンサル @コンサル会社 - SE @金融系SIer
はじめに : AWSコスト削減 天下一武道会なのにGCPの話? © 2024 Wantedly, Inc. LT会ではGCPの話でもOKとのことだったので、 GCPの話をします!!!
(AWSの話を聞きに来た人は AWSの話じゃなくてごめんなさい ) https://no1.connpass.com/event/305664/ より
推薦チームの開発環境と事情 © 2024 Wantedly, Inc.
機械学習ジョブの環境構成 © 2024 Wantedly, Inc. ウォンテッドリーではプロダクトの様々なところで機械学習を使用しており、バッチジョブのフローは大まかに下記 のようになっています 1. BigQuery・GCSからデータを取得 2.
様々な処理 3. 結果をBigQuery・GCSに出力 BigQuery 機械学習ジョブ BigQuery Cloud Storage Amazon EKS k8s上で動いているため Pod内のファイルは揮発性 処理1 処理2 処理3 処理N ロード 保存 中間生成物を出力 Cloud Storage
DS視点での問題意識 : 過去の機械学習の出力を再現できるようにしたい © 2024 Wantedly, Inc. - 再実行しても過去に実行した機械学習ジョブの挙動を完全に再現する事が難しい -
機械学習ジョブの一部にランダム性が入り込む箇所があるのが原因 - 異常などが発生した際に後から機械学習ジョブの挙動を再現したくなるケースがある - そこでジョブの中間出力を GCSに保存する運用に 元々の方針 初期の問題意識 機械学習ジョブ 処理1 処理2 処理3 処理N 中間生成物 機械学習ジョブ 処理1 処理2 処理3 処理N ①中間生成物を GCSに保存 ②後で調査が必要になる際は 中間生成物から実行を再現 中間生成物が保存できないと 実行の再現ができない Cloud Storage
DS視点での問題意識 : 過去の機械学習の出力を再現できるようにしたい © 2024 Wantedly, Inc. - 再実行しても過去に実行した機械学習ジョブの挙動を完全に再現する事が難しい -
機械学習ジョブの一部にランダム性が入り込む箇所があるのが原因 - 異常などが発生した際に後から機械学習ジョブの挙動を再現したくなるケースがある - そこでジョブの中間出力を GCSに保存する運用に 過去の機械学習ジョブの 中間出力を全てGCSに保存 → これがコストが高い原因 うわっ… 私のGCSの料金高すぎ… 元々の方針 機械学習ジョブ 処理1 処理2 処理3 処理N ①中間生成物を GCSに保存 Cloud Storage
GCS料金を減らすための方針 © 2024 Wantedly, Inc.
コスト削減のアイデア : ストレージクラスを最適化する © 2024 Wantedly, Inc. GCSにはストレージクラスが複数あり、コストのかかり方が異なる Standard ストレージ
Nearline ストレージ Coldline ストレージ Archive ストレージ 保存のコスト アクセスのコスト 高 安 高 安 あまりアクセスし ないファイル 頻繁にアクセス するファイル 方針 もともとはす べて Standerd ストレージクラス
GCSの使用用途の整理 © 2024 Wantedly, Inc. 調べたところ、DSによるGCSの用途は大きく3種類 - それぞれオブジェクトに対するアクセスパターンが異なる 日々実行される ジョブの中間生成物
開発時の 中間生成物 機械学習ジョブの中で 利用されるアセット 1 2 3 アクセス 頻度 滅多にアクセスされない 開発時は頻繁にアクセス その後は滅多にアクセス されない 実行のたびにアクセス Standardストレージ のまま 保存後にしばらく時間が経過した後は ストレージクラスを変えて問題ない 方針
対応 : アクセスパターンを考慮してストレージクラスを動的変更 © 2024 Wantedly, Inc. アクセスされにくいファイルをコールドなストレージクラスに自動で移行させる - 手法
- ライフサイクルを設定(今回は細かい調整をするためにこちらで実施) - Autoclassを設定 すべてStandard ストレージ Before After 動的にストレージクラスを変更 保存後時間に応じて ストレージクラスを 自動で移行 頻繁にアクセスされる or 最近保存された ファイルはそのまま Standard Nearline, Coldline
結果 : コスト大幅削減 © 2024 Wantedly, Inc. 対応後コストを確認したところ、 50%以上削減に成功 🎉🎉
- GCSのコストを大幅削減しつつ、機械学習ジョブの運用にも大きな影響なし 🎉🎉 作業期間 対応前 対応後 50%以上削減
[PR] We are hiring! © 2024 Wantedly, Inc. 弊社にご興味が湧いた方はぜひ話を聞きに来てください! バックエンド
エンジニア インフラ エンジニア