Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to start MLOps

How to start MLOps

How to start MLOps for DevOpsDays Tokyo 2021.
https://www.devopsdaystokyo.org/

shibuiwilliam

March 17, 2022
Tweet

More Decks by shibuiwilliam

Other Decks in Technology

Transcript

  1. MLOpsのはじめ方
    2021/04/15
    shibui yusuke

    View full-size slide

  2. 自己紹介
    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
    物体検知

    View full-size slide

  3. CatOps!
    放置しているとネコに
    椅子を奪われる。
    ネコ障害対応(餌、遊ぶ)。
    「遊ぶ」を自動化する。
    椅子に座っていても
    ハンズフリーで遊べる。
    day





    ハンズフリー導入
    飽き始める
    Dev
    Data-driven
    3
    Ops

    View full-size slide

  4. 今日話すこと
    1. これまでの機械学習プロジェクトの経験(
    5年くらい)から、発生する課題と打開策を説明
    2. 機械学習にDevOpsの方法論を応用してプロダクトにインパクトを与える方針を解説
    今日話さないこと
    1. 機械学習のアルゴリズム、開発方法、基盤の作り方、ライブラリの使い方

    View full-size slide

  5. なぜ機械学習にDevOpsが必要か

    View full-size slide

  6. ● 機械学習の有用性を試す
    PoCから次の段階に行くためには機械学習の
    DevOpsが必要
    ● 機械学習を含むプロダクトの価値を継続的に引き出すのが
    MLOps
    0->1の次を目指す
    PoCの数々
    ようやく成功した
    プロダクト
    成長するには
    なにが足りない?
    →ビジネス指標から機械学習を評価する
    →機械学習だけにフォーカスしない

    View full-size slide

  7. 最近の機械学習界隈の状況
    ● モデル開発から利用へ
    データ収集 学習 デプロイ 利用

    View full-size slide

  8. 機械学習を使ったプロダクト例
    画像処理
    写真を撮る
    タイトル入力
    説明入力
    登録する
    自然言語処理
    違反検知
    登録情報から違反を
    フィルタリング
    入力情報から
    入力補助
    超解像による
    画質改善
    ねこ
    検索 協調フィルタリングや
    ランク学習による
    並べ替え
    あるコンテンツ登録アプリ
    画像分類と
    検索

    View full-size slide

  9. 機械学習を使ったプロダクトの評価例
    画像処理
    写真を撮る
    タイトル入力
    説明入力
    登録する
    自然言語処理
    違反検知
    登録情報から違反を
    フィルタリング
    入力情報から
    入力補助
    超解像による
    画質改善
    ねこ
    検索 協調フィルタリングや
    ランク学習による
    並べ替え
    あるコンテンツ登録アプリ
    画像分類と
    検索
    Accuracy, Precision,
    Recall
    →間違って表示される
    違反コンテンツと、
    非表示にされる
    正常コンテンツの比率
    Precision, Recall, nDCG
    →検索数、CTR、
    コンバージョン率、
    レスポンスタイム、 etc
    MSE, MAE
    →コンテンツの滞在時間、
    CTR、いいね数、 etc

    View full-size slide

  10. 機械学習と仕組みと事業のライフサイクル
    コンバージョン
    コンバージョン率
    クリック数
    クリック率
    表示回数
    検索数
    レイテンシー
    協調フィルタリング
    ランク学習等
    リアルタイム
    初期:数ヶ月
    更新:数日〜
    初期:数ヶ月
    更新:数週間〜
    データ 実行
    システム

    View full-size slide

  11. 機械学習で解決する課題と発生する課題
    ● 解決する課題:データに基いた自動化により、人間の一部の作業を代替する
    ○ 適切な検索結果や商品を上方に表示する、違反行為を検知する、等々
    ● 発生する課題:機械学習でプロダクトにインパクトを与えるためのワークフローとシステム
    ○ 機械学習のためのCI/CD、A/Bテスト、フィードバックループ
    データ収集 前処理 評価
    利用
    学習
    ビルド
    フィードバック
    デプロイ
    A/Bテスト
    ロギング

    View full-size slide

  12. プロダクトを改善できない
    ● 推論システムをリリースしても推論結果を評価してモデルを改善していないケースは多い
    データ収集 学習 デプロイ 利用

    View full-size slide

  13. ワークフローを作れない
    ● タスク間を繋げる仕組みや文化を作ることができず、個々のプログラムが非連続に存在する
    データ収集 前処理 評価
    利用
    学習
    ビルド
    フィードバック
    デプロイ
    A/Bテスト
    ロギング

    View full-size slide

  14. 組織的な壁
    ● 機械学習は機械学習だけではない 
    → 関係チームも多い
    https://papers.nips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf

    View full-size slide

  15. 組織的な壁(諸説あり)
    infrastructure
    engineer, SRE
    PM
    ???
    ML engineer,
    data scientist
    backend
    engineer
    data engineer
    test engineer,
    QA engineer

    View full-size slide

  16. MLOpsのはじめ方

    View full-size slide

  17. Good
    ● プロダクトの課題からはじめる
    ● 評価からはじめる
    ● リリースからはじめる
    Bad
    ● 機械学習からはじめる
    ● 汎用基盤からはじめる
    ● 技術的な課題からはじめる
    Issueからはじめる

    View full-size slide

  18. モデルをリリースして効果を記録する
    協調フィルタリング
    ランク学習等
    time
    metrics
    導入
    コンバージョン
    コンバージョン率
    クリック数
    クリック率
    表示回数
    検索数
    レイテンシー

    View full-size slide

  19. アンチパターン:アサインはリリースまで
    データ収集 前処理 評価
    利用
    学習
    ビルド
    フィードバック
    デプロイ
    A/Bテスト
    ロギング
    PM
    ML engineer
    Backend engineer
    ? engineer リリース!

    View full-size slide

  20. 機械学習の価値を評価する
    time
    metrics
    導入
    上がっている場合:
    1. 維持、改善
    2. 新たな施策の導入
    下がっている場合:
    1. 別モデルの開発
    2. 停止判断
    コンバージョン
    検索数
    before
    ML
    latency
    after
    ML
    before
    ML
    CTR
    after
    ML

    モデル改善
    リソース
    増強

    View full-size slide

  21. 複数のモデルをリリースする
    time
    metrics
    導入
    導入


    コンバージョン
    検索数
    before
    ML
    latency
    after
    ML
    before
    ML
    CTR
    after
    ML
    latencyを
    改善する
    モデル

    View full-size slide

  22. アンチパターン:リリース基準がない

    機械学習の基準
    システムの基準
    セキュリティの基準
    Precision
    MAE
    nDCG
    Accuracy
    F-score
    RMSE
    ログ
    監視
    テスト網羅率
    負荷
    遅延
    コストの基準
    ・・・
    切り戻す基準

    View full-size slide

  23. 複数のモデルを比較する
    time
    metrics
    導入
    導入
    - このリスクを回避したい
    - 長期的に比較したい

    コンバージョン
    検索数

    View full-size slide

  24. カナリアリリースとA/Bテストを実施する

    現:90%アクセス
    新:10%アクセス
    90%
    10%
    group
    A
    CTR

    group
    B

    View full-size slide

  25. 素早くモデルを増やす

    現:50%アクセス
    新:45%アクセス
    v2:5%アクセス
    50%
    45%
    v1
    v2
    v3
    モデル開発の
    技術的負債を
    解消する

    5%

    View full-size slide

  26. アンチパターン:機械学習だけ更新する
    ねこ
    v1
    v2
    v3
    ・・・
    汎用的に使えるモデル
    動物の検索に有効
    20代ユーザに有効
    同じUI/UX
    効果ある?

    View full-size slide

  27. スケールさせるために基盤と自動化する

    View full-size slide

  28. まとめ
    ● 機械学習の価値を測るためには貢献しようとしているビジネス価値の数値化が必要。
    ● プロダクトの評価から機械学習を改善する。その逆ではない。
    ● 機械学習が価値を出しているからこそ研究開発や基盤が必要。その逆ではない。

    View full-size slide

  29. 出版します!
    ● AIエンジニアのための
    機械学習システムデザインパターン
    ● 2021年5月17日出版
    ● https://www.amazon.co.jp/dp/4798169447/

    View full-size slide