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
Cloud WorkflowsによるMLワークフロー
Search
Daigo HIROOKA
September 17, 2021
Technology
2
710
Cloud WorkflowsによるMLワークフロー
2021/09/17 第11回 MLOps勉強会の資料です。
Daigo HIROOKA
September 17, 2021
Tweet
Share
More Decks by Daigo HIROOKA
See All by Daigo HIROOKA
機械学習を届ける視点 - Sansan & CADDiが語るSaaS R&DとML最前線
daigo0927
0
260
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
430
1年 SRE をやって見えてきた SRE とプロダクト開発の関わり方
daigo0927
0
550
Introducing "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
daigo0927
0
1.1k
GroupViT CVPR2022読み会スライド
daigo0927
0
1k
Mip-NeRF ICCV2021輪読会スライド
daigo0927
1
1.9k
CVPR2021読み会スライド
daigo0927
2
1k
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
daigo0927
1
2.8k
Your_Classifier_is_Secretly_an_Energy_Based_Model_and_You_Should_Treat_It_Like_One.pdf
daigo0927
0
1.1k
Other Decks in Technology
See All in Technology
dipにおけるSRE変革の軌跡
dip_tech
PRO
1
230
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
120
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
1.5k
【CEDEC2025】『ウマ娘 プリティーダービー』における映像制作のさらなる高品質化へ!~ 豊富な素材出力と制作フローの改善を実現するツールについて~
cygames
PRO
0
230
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
190
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
350
データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~
datayokocho
0
110
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
120
Findy Freelance 利用シーン別AI活用例
ness
0
310
Lambda management with ecspresso and Terraform
ijin
2
140
Amazon Q と『音楽』-ゲーム音楽もAmazonQで作成してみた感想-
senseofunity129
0
110
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
25
11k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
What's in a price? How to price your products and services
michaelherold
246
12k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building Applications with DynamoDB
mza
95
6.5k
Gamification - CAS2011
davidbonilla
81
5.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
The Invisible Side of Design
smashingmag
301
51k
Code Review Best Practice
trishagee
69
19k
Transcript
Cloud Workflowsによる お手軽MLワークフロー 株式会社ブレインパッド 廣岡大吾 2021/09/17 第11回 MLOps勉強会
自己紹介 • 廣岡大吾 ◦ Twitter:dhirooka (@daigo_hirooka) • 機械学習エンジニア@ BrainPad ◦
関心:Deep LearningとMLOps • その他 ◦ GoProがタンスで眠っています ◦ 白金鉱業.FM (@shirokane_fm) Podcastで配信中 2
MLOpsと自動化 • MLOps=DevOps for ML • DevOpsの4つの柱 ◦ Culture ◦
Automation←今回の対象 ◦ Measurement ◦ Sharing • 自動化を進めることで、開発サイクルの効率化、ヒューマンエラーの抑制に繋がる • 今回はワークフローの構築による ML処理の自動化を紹介 ◦ 処理のワークフロー化自体は様々なユースケースに対応できる 3
MLOpsのためのチーム構成(理想) MLOpsを実現するには様々なスキルセットが必要 • データサイエンティスト • データエンジニア • DevOpsエンジニア • ビジネスエキスパート
• etc... 4 Introducing MLOps [Book]
小さくはじめるMLOps 5 • 少人数のチームで多くのスキルをカバーするのは大変 ◦ 特にDS主体のチームだとインフラスキルが薄くなりがち • 目標:ツールの学習コスト・インフラの運用負荷を抑えた自動化 ◦ 既知のツールとクラウドサービスの利用を念頭に置く
◦ 今回:Python, Docker, YAML on GCP ◦ 他ベンダーに切り替えるのも容易 • 小さくはじめて、大きく育てる ◦ 高度なサービスの利用やリッチな機能追加は後で良い
機械学習のワークフロー化 • 前処理や学習、デプロイなどの工程を分割し、フローとして定義する ◦ 処理に応じたリソース割り当て(メモリ、 GPU有無など)が可能になる ◦ 各処理を疎結合にすることでデバッグが容易になる ◦ ワークフロー定義そのものをコードとして管理できる(
Infrastructure as Code) 6
どのワークフローツールを使うか? • OSS:MLflow, Kubeflow Pipelines, Airflow, luigi etc… ◦ 一長一短(実験管理できたり、
UIがリッチだったり) • 小さくはじめる上で何を重視するか? ◦ 学習コストの低さ ◦ クラウド上でのサーバーレス動作によるインフラ管理コストの抑制 7
どのワークフローツールを使うか? • GCPの場合 • シンプルさとサーバーレス動作という点から Cloud Workflowsを検討 8 サービス名 概要
特長 留意点 Cloud Composer Airflowの マネージドサービス OSSベースであり 先人の知恵や資料が豊富 Not サーバーレス (GKE上で実行) Vertex Pipelines Kubeflow Pipelines or TFXの マネージドサービス OSSベース サーバーレス ML周りの機能やUIがリッチ 資料が少なく 学習コストが高い Cloud Workflows HTTPベースのAPIに対する ワークフローサービス サーバーレス YAMLでフローを定義でき 学習コストが少ない 機能としては簡素 OSSベースでないので ベンダ依存が発生
Cloud Workflows • GCPを含めてHTTPベースのAPIを 連結する汎用ワークフローサービス • YAMLでフローを定義 • サーバーレスで動作 •
条件分岐や再試行も可能 9 https://cloud.google.com/workflows?hl=ja
Cloud WorkflowsによるMLワークフロー • HTTP経由のコンテナ実行を連結してワークフローを構築 ◦ コンテナ実行基盤:Vertex AIカスタムトレーニング • 実装サンプル ◦
WorkflowsとVertex AIカスタムジョブによるお手軽 MLワークフロー ◦ ML処理:前処理と学習を別々に Dockerアプリとして実装 ◦ コンテナ実行@Vertex AIをWorkflowsでオーケストレート ◦ 他のサービスとも容易に連携、拡張可能 10
Vertex AIのカスタムトレーニング • Vertex AI:GCPの統合MLプラットフォーム ◦ Vertex AI • Vertex
AIカスタムトレーニング ◦ サーバーレスなDockerアプリケーション実行基盤 ◦ MLモデルの学習以外にも(たぶん)任意の処理が実行可能 ◦ 柔軟なインフラ要件:メモリ、 GPUなどの計算リソースを柔軟に指定できる ◦ サーバーレス:課金は処理が発生するタイミングだけで済む 11
Vertex AIのカスタムトレーニング • gcloud、Python、RESTなどからジョブを投入可能 ◦ ↓はgcloud経由の場合 12 Dockerfile 実行時コンフィグ マシンタイプや実行イメージ、
実行時引数などを指定できる
Vertex AIのカスタムトレーニング • Preview機能:Cloud Storage FUSEによるマウント ◦ GCSのバケットをVertex AIジョブにマウントしてアクセスできる ◦
ファイル読み書きにおけるローカル・クラウドの違いを意識しなくて済む ◦ Training code requirements | Vertex AI(現在は英語版のみ記載あり) 13
Cloud WorkflowsによるMLワークフロー • Vertex AIにおけるコンテナ実行を Workflowsでつなげる 14 簡易的なフローの可視化も可能
Cloud WorkflowsによるMLワークフロー 1. Vertex AIのカスタムジョブは POSTリクエスト経由で投下 2. リクエストボディに実行環境を指定 3. サービスアカウントに基づいた
認証済みリクエストも可能 4. レスポンスは変数として ワークフロー内で利用可能 15 ❶ ❷ ❸ ❹
Cloud WorkflowsによるMLワークフロー 1. Vertex AIジョブの状態確認は 待機+ループ処理で実装 2. ジョブが成功したら次の処理へ 16 ❷
Cloud WorkflowsによるMLワークフロー • YAML形式で直感的にワークフローを構成できた ◦ もちろん他のGoogle Cloud APIsと組み合わせることも可能 ◦ すべての
Workflows のコードサンプル | ワークフロー • できないこと ◦ 並列実行(独立な前処理 A・Bの同時実行など) ◦ ML特有の実験管理などは別途実装が必要 17
まとめ • シンプルな技術要素からでも十分に MLワークフローを構築できる ◦ ML処理はコンテナアプリとして実装 ◦ コンテナ実行を連結してワークフローを構築 • 小さくはじめて、大きく育てる
◦ ツールの学習コストの低さ、サーバーレスによるインフラコストの抑制を重視 ◦ 高度なサービスやリッチな機能追加は後回し • 要件が少ない段階ではベンダー間の違いは軽微 ◦ 今回はGCPのVertex AIとWorkflowsを利用したが、他クラウドでも似たような機能はある ◦ AWSならSageMakerとStep Functionsとか ◦ 細かい要件で悩むより、まずやってみることが重要 18