サイエンス領域におけるMLOpsの取り組み #yjtc

タグ yjtc

スライド概要

ヤフーでは、さまざまな形で機械学習を活用してきました。その経験をもとに、AIプラットフォームと連携し、MLOpsの導入・推進を進めています。本セッションでは、サイエンス部門におけるMLOpsを推進するためにこれまで行ってきた取り組みについて紹介します。

Yahoo! JAPAN Tech Conference 2022は2022年2月3日、4日に開催しました。
https://techconference.yahoo.co.jp/2022/

アーカイブ動画はこちらからご覧ください。
https://youtu.be/tf9C0sLOZ14

profile-image

Yahoo!デベロッパーネットワーク

@ydnjp

作者について:

エンジニア・デザイナー向けのヤフー公式アカウント。イベント/登壇情報/ブログ記事など、ヤフーの技術・デザインに関わる情報を発信します。

スライド一覧
シェア
埋め込む»CMSなどでJSが使えない場合

公開日

2022-02-02 17:34:00

各ページのテキスト

1. サイエンス領域におけるMLOpsの取り組み ヤフー株式会社 サイエンス統括本部MLOps推進 ©2022 Yahoo Japan Corporation All rights reserved. ⼩出 明弘

2. 小出 明弘 サイエンス統括本部MLOps推進 普段は全社向けのレコメンドサービスを提供する部門の部門長 兼務でサイエンス内へのMLOpsの推進を担当 また、サイエンス統括本部のTechnical Directorを兼任 ©2022 Yahoo Japan Corporation All rights reserved.

3. このセッションについて 本セッションでは、サイエンス部⾨におけるMLOpsを推進するために これまで⾏ってきた取り組みについて紹介します。 ©2022 Yahoo Japan Corporation All rights reserved.

4. アジェンダ 1. MLOps強化の背景 2. MLOpsの状況理解(スコア化) 3. 調査により得られた知⾒ 4. 調査を受けて ©2022 Yahoo Japan Corporation All rights reserved.

5. アジェンダ 1. MLOps強化の背景 2. MLOpsの状況理解(スコア化) 3. 調査により得られた知⾒ 4. 調査を受けて ©2022 Yahoo Japan Corporation All rights reserved.

6. MLOps強化の背景 ヤフーにおける機械学習の活⽤ 広告領域におけるCTR予測等の機械学習モデルを始め、10年以上に渡り 機械学習を活⽤したサービスを提供 現在では広告だけでなく事業の柱であるコマース・⾦融を始め、様々な 領域で機械学習を活⽤したサービスを展開 • 深層学習によるYahoo!ニュース不適切コメント削除の事例 ©2022 Yahoo Japan Corporation All rights reserved. ※CTR Prediction for Contextual Advertising: Learning-to-Rank Approach https://randd.yahoo.co.jp/jp/papers/75 ※https://about.yahoo.co.jp/pr/release/2020/03/06c/

7. MLOps強化の背景 MLOpsについて Machine Learning+DevOps • 機械学習や⼈⼯知能のソリューションをライフサイクル全体で管理する ために導⼊される、⼀連のポリシー、プラクティス、ガバナンス 機械学習開発 • 学習データの管理 • 実験管理 • モデルの検証 • パイプライン化 … ©2022 Yahoo Japan Corporation All rights reserved. ソフトウェア開発 • 拡張性 • テスト容易性 • 監視・アラート検知 • セキュリティ …

8. MLOps強化の背景 事業側からのMLOpsへの期待 A/Bテストの実施回数増加、Leadtimeの短縮 • オフラインでの実験回数を増やす • オフラインの実験を素早くオンライン環境に提供しA/Bテストを素早く実施できる モデルの不具合による事故(ユーザーに影響のある障害)の削減・影響軽減 • モデルのリリース前にモデルの不具合に気がつくことができる • 万が⼀本番環境で不具合が起きてもそれを早期検知し正常に戻すことができる ©2022 Yahoo Japan Corporation All rights reserved.

9. MLOps強化の背景 モデル不具合による障害の例 問題のあるモデル 予測モデルがNaNを返却してしまう不具合が発⽣ モデル実装で0除算を加味できていなかった • ⼊⼒値、乱数が特定の条件になった際にだけNaNが発⽣ 推論システム ・ ・ ・ • → デプロイ前のモデルの検証が不⼗分 → 障害発⽣時のメトリクス取得・検知の不⾜ ©2022 Yahoo Japan Corporation All rights reserved. 配信システム NaNの返却を想定しておらず、 問題のあるモデルにリクエストした 配信システムのプロセスがダウン ・ ・ ・ システム全体に影響がありKPIが毀損 ・ ・ ・ NaNを返却

10. MLOps強化の背景 MLOps推進チームの構築 ゴール • サイエンス内のPDCAの⾼速化、並びに状況の可視化 • サイエンス起因の事故を限りなく0にする 具体的な活動 • PDCA状況の可視化⽅法検討 • サイエンス内のMLOpsの課題の吸い上げ • PF提供者であるAIPF担当者と新規機能の企画 ©2022 Yahoo Japan Corporation All rights reserved. AIプラットフォーム 連携 MLOps推進 啓発活動 課題共有 事業向けサイエンス本部 サイエンス基礎技術本部

11. アジェンダ 1. MLOps強化の背景 2. MLOpsの状況理解(スコア化) 3. 調査により得られた知⾒ 4. 調査を受けて ©2022 Yahoo Japan Corporation All rights reserved.

12. MLOpsの状況理解(スコア化) スコア化 スコア化のメリット • 定量的な評価が可能 • アンケート形式にすることで必ずなんらかの回答できる • 回答者に課題認識を持ってもらうことができる googleが提案しているMLTestScoreを採用 • 機械学習システムにおける信頼性、安定性をスコア化 • 論文発表されており、一定の品質が期待できる • 他社でも活用事例あり ※The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction ※機械学習システムの信頼性を数値化する ML Test Scoreのハンズオンワークショップを開催しました - Mercari Engineering Blog ©2022 Yahoo Japan Corporation All rights reserved.

13. MLOpsの状況理解(スコア化) スコアの基準 MLTestScoreの詳細 0:何もしていない 0.5:⼿動で実⾏し、その結果が⽂章化され共有されている 1.0:CIに組み込まれ、⾃動で反復実⾏される 項⽬ TEST FOR DATA AND FEATURES TESTS FOR MODEL DEVELOPMENT TESTS FOR MODEL INFRASTRUCTURE MONITORING TESTS FOR ML ©2022 Yahoo Japan Corporation All rights reserved. 質問概要 質問内容例 ⼊⼒に使うデータや特徴量に 関する質問 • • • • 全ての特徴量は予測に対して有⽤か 特徴量はデータ利⽤ポリシーに準拠しているか 新しい特徴量は素早く追加可能か 全ての特徴量⽣成コードはテストされているか 作成するモデルの管理や品質に 関する質問 • • • • 全てのハイパーパラメータはチューニングされているか モデルが古くなった際の影響は把握されているか シンプルなモデルとの⽐較を⾏っているか 多種多様な価値観を考慮したモデルになっているか • • 学習は再現性があるか モデル作成のためのコードや設定ファイルはユニットテストされて いるか 全ての機械学習パイプラインは結合テストされているか カナリーリリースによって、モデルはプロダクション環境下で検証 されているか モデルを反映するための プロダクション環境に関する質問 モデルの監視に関する質問 • • • • • • 学習とサービングの⼊⼒データは不変性を保っているか モデルは極端に古い状態ではないか モデルは数値的に安定しているか サービング時の予測性能は悪化していないか

14. MLOpsの状況理解(スコア化) 実施概要 対象 • サイエンス統括本部内の機械学習を活用しているプロダクト • 数⼗単位のプロダクト数 実施状況 • 2021/05に初回を実施 • 初回の課題(後述)を改善し、2021/10に2回⽬を実施 ©2022 Yahoo Japan Corporation All rights reserved.

15. アジェンダ 1. MLOps強化の背景 2. MLOpsの状況理解(スコア化) 3. 調査により得られた知⾒ 4. 調査を受けて ©2022 Yahoo Japan Corporation All rights reserved.

16. 調査により得られた知⾒ 回答者による基準のぶれ 初回実施後、スコアの⾼いプロダクトにヒアリングに⾏くと下⽅修正されることが 多数発⽣…基準の感覚にズレが⽣じていた すべての質問項⽬に対して、社内の環境も勘案した達成基準を設定 質問内容 モデル作成のためのコードや設定ファイルは 全てレビューが⾏われ、リポジトリに格納さ れているか 学習は再現性があるか ©2022 Yahoo Japan Corporation All rights reserved. 達成基準 0︓レビューされていない、もしくはリポジトリ管理されていないコードが存在する 0.5︓すべてのコードのレビューをしており、リポジトリ管理もしている 1.0︓すべてのコードのレビューをしており、リポジトリ管理もしている。更にCI/CD による⾃動ビルド、デプロイ(必要に応じて)が実施されている 0︓過去の実験を再現できるようなしくみが存在しない。あるいは実験をした⼈しか再現 できない。 0.5︓他の⼈が実験の再現をできるようにコードやドキュメントが整備されている。 1.0︓ドキュメントを読まなくても実験が再現できるように、notebook等で実験が再現で きるようになっている。 また、過去の実験について担当者がいつでも確認できるような 仕組みが⽤意されている。

17. 調査により得られた知⾒ 実施結果(2021/10) ©2022 Yahoo Japan Corporation All rights reserved.

18. 調査により得られた知⾒ 実施結果 MODEL DEPLOYMENT、INFRASTRUCTUREがgoogleと⽐べて全体的に低い • code reviewやunit testなどエンジニアリングに関連する項⽬に⼤きな差がある • ⼀部素性での妥当性検証やモデルのデバッグといったmodel validationフェーズで 検証される項⽬に⼤きな差がある 論文中のgoogleのスコア ©2022 Yahoo Japan Corporation All rights reserved.

19. 調査により得られた知⾒ 実施結果 FEATURES AND DATA項⽬については全体的に⾼い • 特に特徴量の追加効果、コスト、ポリシー管理 • 現状では、特徴量の追加にそれほどチャレンジ できていない可能性 • サイエンス向けデータセットが揃ってきたこと による改善の可能性 ※サイエンス向けデータセット サービス 個別データ HDFS Teradata … ©2022 Yahoo Japan Corporation All rights reserved. 前処理を事前に実施 Cleansing Data Warehouse Modeling Data (Aggregated) モデリングに活⽤

20. 調査により得られた知⾒ 実施結果 MODEL MONITORINGは項⽬によってスコア差が⼤きい • モデルに利⽤するデータの監視や、学習と推論の間の データの不変性の担保等、Data Validationに関連す る項⽬の数値が⾮常に低い • モデルの劣化による影響の項⽬が⾼めな理由として、 モデルが古くならないよう、定期的な学習によって性 能の維持ができている ©2022 Yahoo Japan Corporation All rights reserved.

21. 調査により得られた知⾒ MLTestScore上位プロダクト プロダクト 0 プロダクションレベルというよりも、研究プロジェクトの⼀種 (0,1] 総合的にテストはされていないが、可能な限り信頼性向上に努めている (1,2] 基礎的なプロジェクトの要求事項は通過した。しかし、信頼性向上のためのさらなる 投資が必要とされる (2,3] 適切なテストがされている、だが更に⾃動化の余地が残っている (3,5] 信頼性の⾼い⾃動化されたテストとモニタリングレベル。ミッションクリティカルな 状況でも問題はない >5 卓越したレベルの機械学習システム FEATURE AND DATA MODEL DEPLOYMENT INFRASTRUCTURE MONITORING 広告プロダクトA 4.5 4.5 3 4.5 3.0 検索プロダクトA 3.0 3.0 3.0 3.0 3.0 広告プロダクトB 3.0 3.0 3.5 3.5 2.5 検索プロダクトB 2.5 2.5 3.0 2.5 2.5 ©2022 Yahoo Japan Corporation All rights reserved. MLTESTSCORE

22. 調査により得られた知⾒ 広告プロダクトAの事例 オンライン検証を実施する各種モデルの最新版が常にロード バケットの調整のみでテストが容易に実施可能 オンライン検証を効率良く⾏うための仕組みが充実 TensorFlow Serving model Airflow S3 Storage AI開発基盤 ・ ・ ・ Git Model Validation 機械学習API ・ ・ ・ 広告スコア PVC Quobyte/NetApp リクエスト モデルが本番システムに適⽤可能か テストを⾃動で実施 Hadoop Hive HDFS ©2022 Yahoo Japan Corporation All rights reserved. Spark AD Server AD LOG 広告配信 ・ ・ ・ Trino(Presto) https://techblog.yahoo.co.jp/entry/2020101930034463/

23. アジェンダ 1. MLOps強化の背景 2. MLOpsの状況理解(スコア化) 3. 調査により得られた知⾒ 4. 調査を受けて ©2022 Yahoo Japan Corporation All rights reserved.

24. 調査を受けて Data Validation機能の提供 モデルの性能に影響を与えるデータの変化を検知 • データ⽣成状況の監視 • スキーマ定義に対する⼊⼒データの不整合監視 • データ量・統計量の変化の監視 Data Drift Detection 統計量計算 Schema Validation Log user age A 10 B 25 HDFS Teradata … ©2022 Yahoo Japan Corporation All rights reserved. ドリフト検知 モデル 可視化 {“columns”:[ {“name”: “user”, “type”: string}, {“name”: “age”, “type”: int} ]} 特徴量データ alert通知 モデリング

25. 調査を受けて Model Validationの仕組み検討 モデルを本番環境にデプロイしてもよいかどうかの検証 • オンラインデプロイ済みのモデルとの性能⽐較 • 特徴量を絞った際に性能が⼤きく劣化しないかの確認 • 推論環境でのレイテンシー性能の確認 システムチェック 配信システム上での結合検証 ⾮機能要件(レイテンシ等)の確認 Model Validation … モデルチェック 特徴量パターン 特徴量の部分集合での性能確認 Fairnessの確認 … ©2022 Yahoo Japan Corporation All rights reserved.

26. 調査を受けて Data Validation機能によるデータ異常検知の実例 ユーザ特徴量作成の処理中に不具合が発⽣していた • 結果、⼀部素性ですべての値が0に 処理に一部不具合 • すべての値が0になっていた • 不定期に現象が発生 なぜ気が付かなかった︖ • 不定期に事象が発⽣しており、現段階で 致命的な障害にはなっていなかった サービスログ 特徴量変換処理 特徴量テーブルデータ モデルストア ロード処理 Data Validation導⼊の検証中に発⾒ Data Validation 検証で異常を検知 ©2022 Yahoo Japan Corporation All rights reserved. 特徴量KVS 配信PF

27. 調査を受けて 最後に MLTestScoreはMLOpsの状況把握のための⼀つのアプローチ • ある程度機械学習システムが成熟したタイミングでの実施が良さそう • 事業が多岐にわたる場合には基準の⽬線合わせが必須 今進めていること • 機械学習による改善施策がどの程度⾏えているかの定期的な計測・可視化 • A/Bテストの実施状況、オンラインテストまでのleadtime等の計測を開始 システムの安定性とA/Bテストの効率化の両⾯から 課題の抽出・解決策の検討をすすめる ©2022 Yahoo Japan Corporation All rights reserved.

28. ©2022 Yahoo Japan Corporation All rights reserved.