$30 off During Our Annual Pro Sale. View Details »

第18回 MLOps 勉強会 - MLOps Practicesの紹介

第18回 MLOps 勉強会 - MLOps Practicesの紹介

第18回 MLOps 勉強会で登壇したスライドです.
https://mlops.connpass.com/event/242652/

各社が実務で取り組んでいるMLOpsに関する事例やMLOpsの各領域で使用されている技術トピックを整理したMLOps Practicesというサイトを公開したので,その紹介スライドです.

Masataka Kashiwagi

April 19, 2022
Tweet

More Decks by Masataka Kashiwagi

Other Decks in Technology

Transcript

  1. 自己紹介 名前:柏木正隆(Masataka Kashiwagi) 所属:コネヒト株式会社の機械学習エンジニア 出身:大阪府    @asteriam_fp    Double-M2.fm(@double_m2ml) - 前職では,製造業向けに異常検知の自社製品のML機能の 開発やPoCなどでデータ分析してました

    - 現職は,サービスグロースのためのレコメンドエンジン の開発やMLOpsの推進をしています - 現在生後2ヶ月の娘👶の育児に奮闘中です(育休中) 妻によるお手製アイコン Twitter Podcast用
  2. コミュニティーの検閲システム • 不適切な質問や投稿を “機械学習モデル” を用いて事前に検知 • モデルが不適切だと判断した投稿だけを人間がチェック ◦ 投稿内容を全て人間が確認することは時間がかかり,物理的にも厳しい 検閲システムの流れ

    e.g.) 仕事の斡旋など勧誘を行う行為はNG 簡単に稼ぐ方法を教えます! 機械学習 - 分類モデル この投稿は0.5%の確率で不適切な コンテンツです! この投稿は90.5%の確率で不適切 なコンテンツです! 閾値の設定 不適切な投稿かどうかの 確率を出力 OK NG モデルが不適切と判定した投稿 を人間が目視で確認 フィードバックループ Human-in-the-Loop
  3. アジェンダ ❏ 自己紹介 ❏ コネヒトのサービスと機械学習タスクの紹介 ❏ MLOps Practicesの紹介 ❏ MLOps

    PracticesというWebsiteを公開しようと思った背景 ❏ MLOps Practicesについて ❏ 今後の取り組み ❏ (おまけ)コネヒトでのMLOpsに関する取り組み ❏ ML Test Scoreによる機械学習システムのスコアリング ❏ SageMakerとStep Functionsで構築した検閲システム
  4. MLOpsとは? • “MLOps is an ML engineering culture and practice

    that aims at unifying ML system development (Dev) and ML system operation (Ops).” (Defined by Google) ◦ 機械学習システムにおけるDevOpsとエンジニアリングカルチャーとイテレーティブ な実践 • 従来のDevOpsだけでなく,ML特有の課題もありそれらを意識した取り組みが必要になっ ている! 引用: MLOps: Continuous delivery and automation pipelines in machine learning ・Design → 要件設定・優先順位・データの利用性 ・Model Development → データエンジニアリング・モデル開発/評価 ・Operations → モデルデプロイ・CI/CD・モニタリング Ref.:MLOps Principles
  5. 機械学習の特有の課題 • 機械学習モデルを一度開発して終わりではなく,継続的な取り組みが必要 • Continuous X ◦ Continuous Integration (CI)

    ▪ コード・データ・データスキーマ・モデルなどのテストと検証を行う ◦ Continuous Delivery (CD) ▪ 別のサービス(モデル予測サービス)を自動的にデプロイするシステム ◦ Continuous Training (CT) ▪ 再デプロイのためにMLモデルの再学習を自動的に行う ◦ Continuous Monitoring (CM) ▪ 本番環境のシステムエラー・データの品質/ドリフト・モデルのパフォーマンスなどのモニタリングを行う
  6. MLOps Practicesを公開しようと思った背景 • 海外では,ApplyingML や Awesome MLOps といったWebsiteやRepositoryがあり,ト ピック毎に各社の事例が整理されている ◦

    色々と網羅的に整理されており,サーベイの参考になるものが多くある Ref.: 1. https://applyingml.com/ 2. https://github.com/visenger/awesome-mlops ApplyingML Awesome MLOps
  7. MLOps Practicesについて • 項目としては,「Knowledge」と「Tips」の2 つで構成 • Knowledge: こちらがメイントピック ◦ MLOpsの概要やガイドライン

    ◦ 各コンポーネント毎のユースケースの整理 ◦ etc... • Tips: ◦ ツールやフレームワークの使用法などの Tipsを取り上げて整理しようと考え中(現 在は未整備) Ref.:https://masatakashiwagi.github.io/mlops-practices/
  8. MLOps Practicesについて: ~Knowledge~ • 「Knowledge」の各コンテンツに関して... • Guides: ◦ MLOpsの概要や全体の理解を進めるためのガイドラインが載った記事をピックアップ •

    Practices: ◦ 各社のユースケースをコンポーネント毎に整理 • MLOps projects & wiki ◦ 各コンポーネントに対応したツールの紹介やプロジェクトなど • 勉強会 ◦ 国内でのMLOpsに関連した勉強会をピックアップ • Conferences ◦ MLOpsに関連する国際会議をピックアップ • 書籍 ◦ MLOps関連の書籍を記載 • References ◦ 参考URLリンク
  9. MLOps Practicesについて: ~Knowledge~ • 「Practices」に関してもう少し... • ユースケースを以下の9つに区分け ◦ All in

    one ◦ Feature Store ◦ 実験管理 ◦ パイプライン ◦ CI/CD ◦ CT ◦ モニタリング ◦ サービング ◦ Others トピック毎でオーバーラップ してる部分も... トピック分けで取り組みたいステップでの他社のユースケースを知ることができる!
  10. MLOps Practicesについて: ~Knowledge~ • 「Practices」に関してもう少し... • ユースケースを以下の9つに区分け ◦ All in

    one ◦ Feature Store ◦ 実験管理 ◦ パイプライン ◦ CI/CD ◦ CT ◦ モニタリング ◦ サービング ◦ Others トピック毎でオーバーラップ してる部分も... トピック分けで取り組みたいステップでの他社のユースケースを知ることができる! 新しいユースケースが増える とコンテンツが充実!🎉
  11. どこから始めるのがいいのか? • 「MLOpsの概要と初学者が気をつけたほうが良いこと」の9スライド目からが参考になる ◦ https://www.slideshare.net/shotanaka7161/mlops-249893157 • アプローチ ◦ 実現可能性 ▪

    スキルセット・リソース ◦ 費用対効果(ROI) ▪ コスト・インパクト ◦ 興味のある技術 ▪ モチベーションベース ◦ 今までの経験と親和性がある領域 ▪ ex) データ分析をやってきた人→実験管理
  12. 今後の取り組み • 項目の精査 ◦ 「Knowledge」のPracticesに関して,どれぐらいの区分で整理していくか • コンテンツの拡充 ◦ MLOpsのタグが付いたブログや登壇資料しか拾えていない •

    各ユースケースに対する一言説明の追加など • 「Tips」の整理 ◦ 各ツールやフレームワークのTipsは世の中に膨大にあるので,どの粒度でキュレー ションするか考え中 • etc... 絶賛ワンオペなので,お手伝いしてくれる人が居たら嬉しいですー! 気づけていない事例もあると思うので, リポジトリへのPRやTwitterなどで教えて頂けると大変助かります!! リポジトリ: https://github.com/masatakashiwagi/mlops-practices スターして頂けると励みになります󰢛
  13. ML Test ScoreによるMLシステムのスコアリング • 現在稼働している機械学習システムに対して ,ML Test Scoreに基づいたスコアリングを実施 • テスト項目

    ◦ 特徴量とデータのテスト ◦ モデル開発のテスト ◦ 機械学習インフラのテスト ◦ 機械学習のモニタリングテスト • 現状を把握することで,自分達のチームに何が足 りていないかを知ることができる → 次に何をすれば良いのかの指針になる Ref. 1. The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction 2. https://tech.connehito.com/entry/2021/09/30/181145
  14. SageMakerとStep Functionsで構築した検閲システム • 検閲システムの概要 ◦ 1ヶ月で約130万件のQ&Aが投稿される ◦ 全ての投稿を目視確認することはできない(現実的でない) ◦ 荒らし投稿やガイドライン違反の投稿のみを人間がチェックする運用

    • 今回構築したシステムは「特定のユーザークラスターに対して機械学習モデル を適用」し,不適切な投稿のみを人間がさらに判断する ◦ 別のユーザークラスターに対しては既存の検閲システムが存在している ◦ 既存の検閲システムは数年前に構築され技術的な負債もあり,別のアーキテクチャー を採用する方が望ましい状況 ◦ 課題は今回割愛します...
  15. SageMakerとStep Functionsで構築した検閲システム • 今回新しくSageMakerとStep Functionsで構築した機械学習システム 実験管理はSageMaker Experimentsを使用 Step Functionsを用いてパイプライン全体を管理 学習プロセスにはSageMaker

    Training Jobを利用し,実験結果をExperimentsとシームレスに接続 それ以外のプロセスはProcessing Jobを利用し,SageMakerのリソースをフル活用 アーティファクトはS3に保存
  16. まとめ • 日本でのMLOpsユースケース集が欲しいと思ったので,「MLOps Practices」 を作って公開しました! ◦ まだまだ検討することがあるので,もっと良くしていきたい ◦ 継続して更新します! •

    自社でのMLOpsに関する取り組みの紹介 ◦ ML Test Scoreを使ったAs-Is/To-Beの理解 ◦ AWS SageMakerとStep Functionsを用いたMLパイプラインによる検閲システムの構 築
  17. References URL • https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machi ne-learning • https://ml-ops.org/content/mlops-principles • https://dl.acm.org/doi/10.5555/2969442.2969519 •

    https://applyingml.com/ • https://github.com/visenger/awesome-mlops • https://ml-ops.org/ • https://masatakashiwagi.github.io/mlops-practices/ • https://www.slideshare.net/shotanaka7161/mlops-249893157 • https://github.com/masatakashiwagi/mlops-practices • https://research.google/pubs/pub46555/ • https://tech.connehito.com/entry/2021/09/30/181145 • https://tech.connehito.com/entry/2022/03/24/173719 • https://tech.connehito.com/entry/2022/03/28/190436