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
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
1.2k
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
290
LayerXのApplied R&D
shibuiwilliam
2
35
LLM時代の検索
shibuiwilliam
3
940
生成AIを作るエンジニアリングと使うエンジニアリング
shibuiwilliam
2
89
AI Agentのキャッシュ、再利用、Ops
shibuiwilliam
2
110
生成AIのためのデータ収集とデータエンジニアリング
shibuiwilliam
5
640
LLMで推論するライブラリを整理する
shibuiwilliam
6
1.7k
生成AIの研究開発を事業につなげる データ、仕組み、コミュニケーション
shibuiwilliam
2
120
Other Decks in Technology
See All in Technology
Backboneとしてのtimm2025
yu4u
4
1.6k
夢の印税生活 / Life on Royalties
tmtms
0
290
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
7
1.9k
開発と脆弱性と脆弱性診断についての話
su3158
1
1.1k
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
250
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
6
1.5k
DuckDB-Wasmを使って ブラウザ上でRDBMSを動かす
hacusk
1
110
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
590
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
100
TypeScript入門
recruitengineers
PRO
26
7.9k
Browser
recruitengineers
PRO
5
690
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
25
6.8k
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Bash Introduction
62gerente
614
210k
The Cult of Friendly URLs
andyhume
79
6.5k
Practical Orchestrator
shlominoach
190
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
480
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
900
Unsuck your backbone
ammeep
671
58k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
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/