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
Getting started with MLOps
Search
shibuiwilliam
March 17, 2022
Technology
0
180
Getting started with MLOps
Getting started with MLOps
shibuiwilliam
March 17, 2022
Tweet
Share
More Decks by shibuiwilliam
See All by shibuiwilliam
実践マルチモーダル検索!
shibuiwilliam
1
250
生成AI時代のデータ基盤
shibuiwilliam
6
4.7k
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
3
1.6k
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
370
LayerXのApplied R&D
shibuiwilliam
2
50
LLM時代の検索
shibuiwilliam
3
1.1k
生成AIを作るエンジニアリングと使うエンジニアリング
shibuiwilliam
2
130
AI Agentのキャッシュ、再利用、Ops
shibuiwilliam
2
140
生成AIのためのデータ収集とデータエンジニアリング
shibuiwilliam
5
710
Other Decks in Technology
See All in Technology
生成AI時代のPythonセキュリティとガバナンス
abenben
0
150
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
110
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
5
2.8k
DSPy入門
tomehirata
3
480
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
130
RemoteFunctionを使ったコロケーション
mkazutaka
1
140
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
150
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
140
Azure Well-Architected Framework入門
tomokusaba
1
140
スタートアップの現場で実践しているテストマネジメント #jasst_kyushu
makky_tyuyan
0
140
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
340
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
1.1k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Building Adaptive Systems
keathley
44
2.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
How to Ace a Technical Interview
jacobian
280
24k
Done Done
chrislema
185
16k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Embracing the Ebb and Flow
colly
88
4.9k
Rails Girls Zürich Keynote
gr2m
95
14k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Balancing Empowerment & Direction
lara
5
700
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Transcript
MLOpsのはじめ方 2021/04/21 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 物体検知
今日話すこと MLOps勉強会でMLOpsをどう取り入れていくのかって話をしてなくない?
CatOps! 放置しているとネコに 椅子を奪われる。 ネコ障害対応(餌、遊ぶ)。 「遊ぶ」を自動化する。 椅子に座っていても ハンズフリーで遊べる。 day 奪 わ
れ 回 数 ハンズフリー導入 飽き始める Dev Data-driven 4 Ops
なぜ機械学習にDevOpsが必要か
• 機械学習の有用性を試す PoCから次の段階に行くためには機械学習の DevOpsが必要 • 機械学習を含むプロダクトの価値を継続的に引き出すのが MLOps 0->1の次を目指す PoCの数々 ようやく成功した
プロダクト 成長するには なにが足りない? →ビジネス指標から機械学習を評価する →機械学習だけにフォーカスしない
機械学習を使ったプロダクト例 画像処理 写真を撮る タイトル入力 説明入力 登録する 自然言語処理 違反検知 登録情報から違反を フィルタリング
入力情報から 入力補助 超解像による 画質改善 ねこ 検索 協調フィルタリングや ランク学習による 並べ替え あるコンテンツ登録アプリ 画像分類と 検索
機械学習を使ったプロダクト例 画像処理 写真を撮る タイトル入力 説明入力 登録する 自然言語処理 違反検知 登録情報から違反を フィルタリング
入力情報から 入力補助 超解像による 画質改善 ねこ 検索 協調フィルタリングや ランク学習による 並べ替え あるコンテンツ登録アプリ 画像分類と 検索タグ どう学習する? →定期的 →不定期 →評価が悪くなったとき いつ推論する? →検索時 →データ登録時 →1時間ごとにまとめて どう評価する? →Accuracy, Confusion Matrix →検索数、CTR、いいね数
MLOpsのはじめ方
Good • プロダクトの課題からはじめる • リリースからはじめる • プロダクトの価値からはじめる Bad • 機械学習からはじめる
• 汎用基盤からはじめる • 技術的な課題からはじめる Issueからはじめる
プロダクトを設計する • 課題: 画像データの検索に時間がかかっている • 状況: 大量の画像データが保存されており、 有効活用したいが必要な画像を 検索することができない •
成功の定義: 利用者が画像を選択するまでの時間を **分以内に短縮する
検索を容易にするために画像にタグをつける ネコ 月 ネコ ネコ ネコ ネコ 宗谷岬 空 山
木 コアラ フライパン カーテン 夜 上海 デザート フルーツ イヌ
使い方を考える ネコ ネコ イヌ ・・・ ネコ 個数 位置 明るさ 場所
容易さ 便利さ 画像をアップロード 用途次第 カテゴリを選択 画像分類 フリーテキスト入力 画像分類+自然言語処理 フリーテキストと属性 画像分類+物体検知+ 自然言語処理 画像から類似画像を検索 特徴量抽出+ANN 3 暗 外 上
評価方法を考える • 目的を手段で要素分解する仮説を立てる • はやめに仮説検証できる技術を選択する 目的のコンテンツを 収集するまでの時間 日時検索 画像認識 目的のコンテンツを
収集するまでの時間 適切にタグ付けされた コンテンツ数と正解率 目的のコンテンツを 収集するまでの時間 画像分類の Accuracy 物体検知の Ave. Precision
機械学習の目的と価値と可否を定義する • この写真にどうタグをつける? カテゴリ数 画像分類 物体検知 セグメンテーション データを作る所要時間 検索カテゴリ ランキング
最低限使える だいぶ便利 いらない
学習の頻度と推論のタイミングを決める データ収集時 定期バッチ 検索時 不定期 定期的 学習 推論 推論器が常時稼働し ている必要あり
類似画像検索 バッチジョブが 必要 アノテーションと バッチジョブが必要 ときどきサーバを 起動して実行 データ収集 検索 使う
学習を管理する 実験フェーズ 個人の効率性>共有の価値 チーム開発フェーズ 共有の価値>個人の効率性 学習経過を記録 学習結果を記録 データを記録 コードを管理 実行環境を管理
可視化
(参考)機械学習の管理系ライブラリ • モデルの管理 ◦ modeldb: https://github.com/VertaAI/modeldb ◦ keepsake: https://keepsake.ai/ •
データも管理 ◦ DVC: https://dvc.org/ • 学習の経過も記録 ◦ TensorBoard: https://www.tensorflow.org/tensorboard • 学習パイプラインと経過とモデルを記録 ◦ mlflow: https://mlflow.org/ • 学習パイプラインと基盤 ◦ Metaflow: https://metaflow.org/ ◦ KubeFlow: https://www.kubeflow.org/ • 学習済みモデルを解析 ◦ Tensorflow Model Analysis: https://www.tensorflow.org/tfx/guide/tfma ◦ Netron: https://github.com/lutzroeder/netron
推論システムを作る モデルファイル 推論コード or データベース ストレージ キュー ワーカー 推論 推論ビルド
キャッシュ 検索UI 検索システム
(参考)機械学習の推論ライブラリ • TensorFlow, Keras ◦ サーバサイド:TensorFlow Serving https://www.tensorflow.org/tfx/guide/serving ◦ スマホ:TensorFlow Lite https://www.tensorflow.org/lite?hl=ja
• PyTorch ◦ サーバサイド:ONNX Runtime https://github.com/microsoft/onnxruntime ◦ サーバサイド:Torch Serve https://pytorch.org/serve/ ◦ スマホ:PyTorch Mobile https://pytorch.org/mobile/home/ • scikit-learn ◦ サーバサイド:ONNX Runtime https://github.com/microsoft/onnxruntime
間違いを修正する ネコ イヌ 検知方法 通報 他モデルの 推論と比較 閲覧率 見つける 対策
再学習 特定カテゴリ 新モデル 完全 新モデル 違う アルゴリズム
リリース基準を作る 機械学習の基準 システムの基準 セキュリティの基準 Precision RMSE データと推論の偏り Accuracy F-score ログ
監視 テスト網羅率 負荷 遅延 コストの基準 ・・・ 切り戻す基準
• 手法1 推論するデータを分ける O コスト O 全ユーザから新モデルの評価を得る X 同じデータの比較ができない • 手法2 アクセスするユーザを分ける O 同じデータで比較できる
O 新モデルへの移行が比較的簡単 X コスト A/Bテストを作る 新モデル 現モデル 新モデル 現モデル
アンチパターン:機械学習だけ更新する ねこ v1 v2 v3 ・・・ 汎用的に使えるモデル 部分的に物体検知を活用 動物の検索に有効 同じUI/UXで
効果ある?
まとめ
本を出版します! • AIエンジニアのための 機械学習システムデザインパターン • 2021年5月17日出版 • https://www.amazon.co.jp/dp/4798169447/