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
生成AIのためのデータ収集とデータエンジニアリング
shibuiwilliam
4
460
LLMで推論するライブラリを整理する
shibuiwilliam
5
1.3k
生成AIの研究開発を事業につなげる データ、仕組み、コミュニケーション
shibuiwilliam
1
80
デプロイして本番システムで使うことから考えるAI
shibuiwilliam
2
620
今日から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
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
170
分解して理解する Aspire
nenonaninu
2
1k
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.6k
急成長する企業で作った、エンジニアが輝ける制度/ 20250227 Rinto Ikenoue
shift_evolve
0
130
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
630
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
200
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
4.9k
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
170
短縮URLをお手軽に導入しよう
nakasho
0
140
組織におけるCCoEの役割とAWS活用事例
nrinetcom
PRO
4
130
Pwned Labsのすゝめ
ken5scal
1
400
Amazon Aurora のバージョンアップ手法について
smt7174
2
140
Featured
See All Featured
Statistics for Hackers
jakevdp
797
220k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Agile that works and the tools we love
rasmusluckow
328
21k
Music & Morning Musume
bryan
46
6.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Site-Speed That Sticks
csswizardry
4
400
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
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/