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
How to start MLOps
Search
shibuiwilliam
March 17, 2022
Technology
0
150
How to start MLOps
How to start MLOps for DevOpsDays Tokyo 2021.
https://www.devopsdaystokyo.org/
shibuiwilliam
March 17, 2022
Tweet
Share
More Decks by shibuiwilliam
See All by shibuiwilliam
生成AIのためのデータ収集とデータエンジニアリング
shibuiwilliam
4
460
LLMで推論するライブラリを整理する
shibuiwilliam
5
1.3k
生成AIの研究開発を事業につなげる データ、仕組み、コミュニケーション
shibuiwilliam
1
82
デプロイして本番システムで使うことから考えるAI
shibuiwilliam
2
630
今日からRAGを 始めることを考える
shibuiwilliam
2
1.6k
2024年生成AI新年会登壇資料
shibuiwilliam
0
330
Creative as Software Engineering
shibuiwilliam
2
640
Kubernetesクラスターを引き継ぐ技術
shibuiwilliam
3
340
機械学習システム構築実践ガイド
shibuiwilliam
1
920
Other Decks in Technology
See All in Technology
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
IAMのマニアックな話2025
nrinetcom
PRO
6
1.3k
Pwned Labsのすゝめ
ken5scal
2
470
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
150
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
200
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
650
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
220
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
230
Share my, our lessons from the road to re:Invent
naospon
0
150
JavaにおけるNull非許容性
skrb
2
2.7k
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
660
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Building Applications with DynamoDB
mza
93
6.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Bash Introduction
62gerente
611
210k
Site-Speed That Sticks
csswizardry
4
410
GitHub's CSS Performance
jonrohan
1030
460k
Automating Front-end Workflow
addyosmani
1368
200k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
520
Producing Creativity
orderedlist
PRO
344
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Transcript
MLOpsのはじめ方 2021/04/15 shibui yusuke
自己紹介 shibui yusuke • 自動運転スタートアップのティアフォー所属 • MLOpsエンジニア & インフラエンジニア &
データエンジニア • もともとクラウド基盤の開発、運用。 • ここ5年くらいMLOpsで仕事。 • Github: @shibuiwilliam • Qiita: @cvusk • FB: yusuke.shibui • 最近やってること: FlutterとIstio cat : 0.55 dog: 0.45 human : 0.70 gorilla : 0.30 物体検知
CatOps! 放置しているとネコに 椅子を奪われる。 ネコ障害対応(餌、遊ぶ)。 「遊ぶ」を自動化する。 椅子に座っていても ハンズフリーで遊べる。 day 奪 わ
れ 回 数 ハンズフリー導入 飽き始める Dev Data-driven 3 Ops
今日話すこと 1. これまでの機械学習プロジェクトの経験( 5年くらい)から、発生する課題と打開策を説明 2. 機械学習にDevOpsの方法論を応用してプロダクトにインパクトを与える方針を解説 今日話さないこと 1. 機械学習のアルゴリズム、開発方法、基盤の作り方、ライブラリの使い方
なぜ機械学習にDevOpsが必要か
• 機械学習の有用性を試す PoCから次の段階に行くためには機械学習の DevOpsが必要 • 機械学習を含むプロダクトの価値を継続的に引き出すのが MLOps 0->1の次を目指す PoCの数々 ようやく成功した
プロダクト 成長するには なにが足りない? →ビジネス指標から機械学習を評価する →機械学習だけにフォーカスしない
最近の機械学習界隈の状況 • モデル開発から利用へ データ収集 学習 デプロイ 利用
機械学習を使ったプロダクト例 画像処理 写真を撮る タイトル入力 説明入力 登録する 自然言語処理 違反検知 登録情報から違反を フィルタリング
入力情報から 入力補助 超解像による 画質改善 ねこ 検索 協調フィルタリングや ランク学習による 並べ替え あるコンテンツ登録アプリ 画像分類と 検索
機械学習を使ったプロダクトの評価例 画像処理 写真を撮る タイトル入力 説明入力 登録する 自然言語処理 違反検知 登録情報から違反を フィルタリング
入力情報から 入力補助 超解像による 画質改善 ねこ 検索 協調フィルタリングや ランク学習による 並べ替え あるコンテンツ登録アプリ 画像分類と 検索 Accuracy, Precision, Recall →間違って表示される 違反コンテンツと、 非表示にされる 正常コンテンツの比率 Precision, Recall, nDCG →検索数、CTR、 コンバージョン率、 レスポンスタイム、 etc MSE, MAE →コンテンツの滞在時間、 CTR、いいね数、 etc
機械学習と仕組みと事業のライフサイクル コンバージョン コンバージョン率 クリック数 クリック率 表示回数 検索数 レイテンシー 協調フィルタリング ランク学習等
リアルタイム 初期:数ヶ月 更新:数日〜 初期:数ヶ月 更新:数週間〜 データ 実行 システム
課題
機械学習で解決する課題と発生する課題 • 解決する課題:データに基いた自動化により、人間の一部の作業を代替する ◦ 適切な検索結果や商品を上方に表示する、違反行為を検知する、等々 • 発生する課題:機械学習でプロダクトにインパクトを与えるためのワークフローとシステム ◦ 機械学習のためのCI/CD、A/Bテスト、フィードバックループ データ収集
前処理 評価 利用 学習 ビルド フィードバック デプロイ A/Bテスト ロギング
プロダクトを改善できない • 推論システムをリリースしても推論結果を評価してモデルを改善していないケースは多い データ収集 学習 デプロイ 利用
ワークフローを作れない • タスク間を繋げる仕組みや文化を作ることができず、個々のプログラムが非連続に存在する データ収集 前処理 評価 利用 学習 ビルド フィードバック
デプロイ A/Bテスト ロギング
組織的な壁 • 機械学習は機械学習だけではない → 関係チームも多い https://papers.nips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf
組織的な壁(諸説あり) infrastructure engineer, SRE PM ??? ML engineer, data scientist
backend engineer data engineer test engineer, QA engineer
MLOpsのはじめ方
Good • プロダクトの課題からはじめる • 評価からはじめる • リリースからはじめる Bad • 機械学習からはじめる
• 汎用基盤からはじめる • 技術的な課題からはじめる Issueからはじめる
モデルをリリースして効果を記録する 協調フィルタリング ランク学習等 time metrics 導入 コンバージョン コンバージョン率 クリック数 クリック率
表示回数 検索数 レイテンシー
アンチパターン:アサインはリリースまで データ収集 前処理 評価 利用 学習 ビルド フィードバック デプロイ A/Bテスト
ロギング PM ML engineer Backend engineer ? engineer リリース!
機械学習の価値を評価する time metrics 導入 上がっている場合: 1. 維持、改善 2. 新たな施策の導入 下がっている場合:
1. 別モデルの開発 2. 停止判断 コンバージョン 検索数 before ML latency after ML before ML CTR after ML 新 モデル改善 リソース 増強
複数のモデルをリリースする time metrics 導入 導入 現 新 コンバージョン 検索数 before
ML latency after ML before ML CTR after ML latencyを 改善する モデル
アンチパターン:リリース基準がない 新 機械学習の基準 システムの基準 セキュリティの基準 Precision MAE nDCG Accuracy F-score
RMSE ログ 監視 テスト網羅率 負荷 遅延 コストの基準 ・・・ 切り戻す基準
複数のモデルを比較する time metrics 導入 導入 - このリスクを回避したい - 長期的に比較したい 現
コンバージョン 検索数 新
カナリアリリースとA/Bテストを実施する 現 現:90%アクセス 新:10%アクセス 90% 10% group A CTR 新
group B
素早くモデルを増やす 現 現:50%アクセス 新:45%アクセス v2:5%アクセス 50% 45% v1 v2 v3
モデル開発の 技術的負債を 解消する 新 5%
アンチパターン:機械学習だけ更新する ねこ v1 v2 v3 ・・・ 汎用的に使えるモデル 動物の検索に有効 20代ユーザに有効 同じUI/UX
効果ある?
スケールさせるために基盤と自動化する
まとめ
まとめ • 機械学習の価値を測るためには貢献しようとしているビジネス価値の数値化が必要。 • プロダクトの評価から機械学習を改善する。その逆ではない。 • 機械学習が価値を出しているからこそ研究開発や基盤が必要。その逆ではない。
出版します! • AIエンジニアのための 機械学習システムデザインパターン • 2021年5月17日出版 • https://www.amazon.co.jp/dp/4798169447/