Slide 1

Slide 1 text

MLOpsの意義 -機械学習プロジェクトを成功させるための鍵- 2024.1.11

Slide 2

Slide 2 text

はじめに ● MLOpsエンジニアとして、MLOpsの意義を他人に説明する機会が定期的にある ので、まとめてみました ● このスライドでは、MLOps(Machine Learning Operations)という概念を紹介し、 機械学習プロジェクトの成功に向けてどのように活用し得るかを記載します

Slide 3

Slide 3 text

補足 ● 下記のQiita記事をスライドに起こしました ツイートしていただいたり、 勉強会で取り上げていただいたりした

Slide 4

Slide 4 text

MLOpsが登場した背景 ● 機械学習(ML)は今日、ビジネスにおいて重要な役割を果たしています ● しかし、機械学習プロジェクトというのは「データサイエンティストが自身のラップ トップでモデルを開発すれば終わり」ではありません。そのモデルがシステム・プ ロダクトに組み込まれ、価値を発揮し続けるためには、様々な工程を繰り返し経る 必要があります ● そこで発生する課題に対応するためには、従来のソフトウェア開発手法とは異な る、新たなアプローチが必要とされています。これがMLOpsの出発点です

Slide 5

Slide 5 text

MLOpsとは MLOpsの定義は様々あります。いくつかご紹介します。 ● 「Software2.0のためのDevOps」(参考: MLOpsのこれまでとこれから) ● 「データ前処理、モデル開発、デプロイ、運用などを含む機械学習のライフサイク ルを管理する技術/知見」(参考:MLOps勉強会) ● 「MLOps is the art and science of bringing machine learning to production」 (参考:The state of MLOps in 2021) まとめると、「MLOpsとは、DevOpsの原則を機械学習に応用し、機械学習のライフサ イクルを管理することで、機械学習をプロダクション化するための技術」、と言えると思 います。

Slide 6

Slide 6 text

MLエンジニアとMLOpsエンジニアの違い 上記で定義したMLOpsを担当する人がMLOpsエンジニアですが、さらにスコープを明 確にするためにMLエンジニアと責務を比較してみます MLエンジニア MLOpsエンジニア ChatGPT データを分析し、機械学習モデルを開発・トレーニングする専門家 機械学習モデルの開発から運用までを統合し、自動化、監視、およびパ フォーマンス最適化を担う専門家 ZOZO データ分析・機械学習・深層学習を用いた新規事業や機能の開発 ML(Machine Learning)を活用したプロダクトを世に送り出すために必 要となる、モデル開発以外のすべてのエンジニアリング また、MLとMLOpsの比較としては、MLOps って何?で話されていた「MLとMLOpsの関 係は、お菓子作りとお菓子工場作りの関係」という比喩もしっくり来ます。

Slide 7

Slide 7 text

MLOpsが解決する課題と効果の指標例 MLチーム 全体 MLOpsチーム 全体 ex. 「リードタイム2週間、年間100リリース」(Sansan Labs) 「AI-OCR以外で新たに5つの機械学習による価値を作る」 (LayerX) エンジニアリングの力で、 MLを社会実装するアジリティと信頼性を向上させる ex. DevOpsのFour Keysを応用した例 1 2 3 4 デプロイメント頻度(Deployment Frequency) 機械学習モデルがどれだけ頻繁にプロダクション環境にデプロイされるかを測定 = 頻繁に リードタイム(Lead Time) モデルのアイデアから実際の運用環境でのデプロイメントまでの時間 = すぐに チェンジフェイル率(Change Failure Rate) 新たにデプロイされたモデルが期待通りに機能しない割合 = 期待通りに リカバリータイム(Time to Recover) モデルやシステムの障害から復旧するまでの時間 = 何かあってもすぐ復旧

Slide 8

Slide 8 text

機械学習プロジェクトで発生する課題(1/2) 前ページの指標を向上させるために解決するべき課題、つまりMLOpsが解決するべ き課題、そして機械学習プロジェクトでよく起こりがちな課題としては、例えば次ページ の内容があります。 これらの課題は、プロジェクトの品質、コスト、進行に直接的な影響を及ぼすため、適 切に管理することが重要です。

Slide 9

Slide 9 text

機械学習プロジェクトで発生する課題(2/2) テーマ 課題 計算リソースの管理を怠ると 計算リソースの過剰または不足が生じ、コストの増加やプロジェクトの遅延を引き起こす可能性があります。また、リソース が不足すると、モデルのトレーニングや実験が効果的に行えなくなる可能性があります。 実験管理を怠ると どの実験がどの結果をもたらしたか追跡が困難になり、効果的な問題解決やモデルの改善が難しくなります。結果として、 プロジェクトの進行が遅れ、品質が低下する恐れがあります。 CI/CDを適切に行わない場合 コードの変更やモデルの更新が本番環境に適切に統合されず、バグやパフォーマンスの問題が頻発する可能性がありま す。これにより、システムの信頼性やユーザー体験が低下する恐れがあります。 モデルレジストリを使用しない場合 モデルのバージョン管理や再利用が困難になり、再現性と一貫性の低下を招きます。これは、品質の一貫した保証が難し くなり、運用上の複雑さを増加させる可能性があります。 MLパイプラインを整備しない場合 データ処理やモデルトレーニングが非効率的になり、プロセス全体の時間とコストが増加します。また、結果の再現性や一 貫性の低下も招きます。 特徴量ストアを使用しない場合 特徴量の管理と再利用が難しくなり、データの前処理や特徴量の計算に多大な時間が必要になります。これは、全体的な プロジェクトの効率性を低下させる可能性があります。 モニタリングを怠ると モデルの性能が時間とともに低下する可能性があり、データドリフトやモデルの劣化に対応することが困難になります。ま た、問題が発生してもそれを迅速に検知し、対応することができなくなる可能性があります。

Slide 10

Slide 10 text

MLOpsの主要コンポーネント 上記の課題を解決するためにMLOpsを実践するわけですが、MLOpsは主に以下の 三つの要素から構成されます (参考: Step-by-step MLOps)

Slide 11

Slide 11 text

MLOpsの取り組みイメージ 機械学習プロジェクトにおいてのMLOpsエンジニアの取り組みイメージは下記です。

Slide 12

Slide 12 text

MLOpsの取り組みイメージ 機械学習プロジェクトにおいてのMLOpsエンジニアの取り組みイメージは下記です。 MLOpsエンジニアは、機械学習プラットフォームの構築と運用を行い、データサイエンスとエンジニア リングのプロセスを統合して効率的で再現可能な機械学習ワークフローを確立し、持続可能な開発 と運用のための体制と文化を構築します

Slide 13

Slide 13 text

補足: MLOps版CAMSモデル また、DevOpsの重要な要素として、CAMSモデルがありました。MLOps版を考えると、 下記になると思います。 Culture MLOpsでは、データサイエン ティスト、機械学習エンジニア、 オペレーションチームが密接に 協力する文化が必要です。こ の文化は、実験的なアプローチ を奨励し、失敗から学ぶことを 重視し、機械学習モデルの開 発と運用の間のギャップを埋め ることに焦点を当てています。 Automation モデルトレーニング、テスト、デ プロイメント、モニタリングのプ ロセスを自動化することが重要 です。これには、連続的インテ グレーションとデプロイメント (CI/CD)の原則の適用、データ の前処理と変換、モデルのス ケーリングと管理が含まれま す。 Measurement モデルのパフォーマンス、デー タの品質、プロジェクトの進捗を 定量的に測定することが不可 欠です。これには、モデルの精 度、再現性、データの完全性、 予測の信頼性などの指標が含 まれます。これらの測定値を用 いて、モデルの改善やビジネス への影響を評価します。 Sharing データ、知見、ベストプラクティ ス、失敗事例の共有はMLOps の重要な側面です。これには、 実験の結果、モデルのパフォー マンスデータ、データの洞察な どが含まれます。共有により、 チーム間での透明性が高まり、 機械学習プロジェクトの効率と 効果が向上します。

Slide 14

Slide 14 text

おわりに ● MLOpsは単なる技術的な取り組みにとどまらず、ビジネスの成長とイノベーション を加速させる重要な要素です。 ● 機械学習の開発と運用を効率化し、モデルの品質を保証することで、企業は競争 力を高め、新たな価値を生み出すことができます。 ● MLOpsの採用と実践は、持続可能な機械学習プラクティスを築く上で不可欠であ り、今後もその重要性は増していくと考えています。