MLOpsとは何ですか

MLOpsとは

Pietro Jeng on Unsplash

MLOpsは、機械学習(ML)モデルを信頼性と効率を持って本番環境に展開および維持するための方法と技術のセットです。したがって、MLOpsは、機械学習、DevOps、およびデータエンジニアリングの交差点です(図1)。

Figure 1: Venn diagram showing the relationship among the MLOps-related fields [Wikipedia].

背景

MLOpsは状況が変化していると言っても過言ではありません[7]。MLOpsに関して最良のアドバイスは、「全体像を見ることができる人材を採用することを試みること」です。優れたソフトウェアエンジニアであれば、特定のMLOpsプラットフォームの使用方法を学ぶことができますが、高度な学位は必要ありません。したがって、応募者の面接時に特定のプラットフォーム(AWS、GCP、Databricks、MLflowなど)の細部に焦点を当てるという一般的な間違いがあります。理想的なMLOpsエンジニアは、いくつかのMLOpsおよび/またはDevOpsプラットフォームの経験があることが望ましいです。実際、単一のプラットフォームに対する過剰な経験は、将来的には問題が生じる可能性があります。なぜなら、ほとんどの企業は長期間にわたって1つのクラウドプラットフォームに留まることはまれであり、MLOpsの標準は現在存在しないからです。

MLOpsの主な問題は、標準がないことです。これは、各プラットフォームが異なる用語を使用することを意味します。SEIまたはIEEEがSWEBOKに類似したAIエンジニアリングガイドを早急に公開することを願っています。現時点では、MLflowの学習をお勧めします。なぜなら、MLflowはオープンソースで非常に人気があるからです。

MLOpsでは「パイプライン」という用語がよく使われますが、これはコンピュータサイエンスの用語であり、単一の入力/出力を持つ直線的なシーケンスを指します。より良い定義では、有向非循環グラフ(DAG)を利用するべきです。なぜなら、線形なプロセスであるとは限らないからです。したがって、ワークフローという用語は、MLOpsのSDLCのどの段階でも関与するさまざまな種類のプロセスのより良い説明です。

機械学習モデルプロセス

一般的に、MLモデルプロセスは、データ収集と/またはデータラベリングを含む8つのステージ(図2および3)を経て行われます[1]:

  1. データの準備
  2. 特徴量エンジニアリング
  3. モデル設計
  4. モデルのトレーニングと最適化
  5. モデルの評価
  6. モデルの展開
  7. モデルの提供
  8. モデルの監視
Figure 2: Phases of the ML model SDLC [2]
Figure 3: ML model SDLC including monitoring [2]

それに対して、ModelOpsは、機械学習、ナレッジグラフ、ルール、最適化、自然言語、エージェントベースのモデルを含むさまざまなAIモデルのフルソフトウェア開発ライフサイクル(SDLC)の管理に焦点を当てています(図4)。

Figure 4: The ModelOps process [Wikipedia]

機械学習ワークフロー

機械学習では、様々なデータセット、データの準備、アルゴリズムを試行し、いくつかの目標指標を最大化するモデルを構築するために実験する必要があります。モデルが構築されたら、次のステップは最終モデルを本番システムに展開し、モデルのパフォーマンスを監視し、新しいデータでモデルを継続的に再トレーニングし、代替モデルと比較することです。

したがって、実世界のアプリケーションで機械学習を効果的に活用することは、いくつかの理由から困難です[3]:

  • 実験の追跡が困難です。ノートパソコンやノートでファイルを扱う際に、特定の結果を得るために使用されたデータ、コード、およびパラメータをどのように判断できますか?
  • コードの再現が困難です。コードのバージョンとパラメータを注意深く追跡しても、同じ結果を再現するためには、ライブラリの依存関係など、環境全体をキャプチャする必要があります。これは、チームで作業している場合や、クラウドなどの別のプラットフォームで同じコードをスケールアップして実行したい場合にさらに困難です。
  • モデルのパッケージ化と展開には標準的な方法がありません。各データサイエンスチームは使用するMLライブラリごとに独自のアプローチを開発するため、モデルとコード、パラメータの関連性がしばしば失われます。
  • モデルを管理するための中央のストアがありません。モデルのバージョンとステージの移行を管理するための中央の場所がない場合、データサイエンスチームはモデルのステージを管理する際に問題に直面するでしょう。

個々のMLライブラリはこれらの問題のいくつかに対するソリューションを提供していますが(モデルサービングなど)、通常は最良の結果を得るために複数のMLライブラリを試したいと思うでしょう。MLOpsツールを使用すると、任意のライブラリでモデルをトレーニング、再利用、展開し、他のデータサイエンティストが使用できる再現可能なステップにパッケージ化することができます。

MLOpsを後付けしたり部分的に適用しようとすることは一般的な誤解であり、実際にはソフトウェア設計のアンチパターンと見なされます[5][6]。驚くべきことに、Nvidiaなどの一部の企業は現在、これをソフトウェア開発プロジェクト全体に大規模に適用しようとしていますが、これは実現不可能であり、問題が生じる可能性があります。

したがって、MLOpsプラットフォームは少なくとも以下の5つの機能を提供する必要があります[3]:

  • トラッキング:機械学習コードを実行する際にパラメータ、コードバージョン、メトリック、および成果物をログに記録し、後で結果を視覚化するためのAPI。
  • プロジェクト:再利用可能なMLコードをパッケージ化するための標準的な形式。
  • モデル:複数のフレーバーでMLモデルをパッケージ化するための規約と、展開を支援するさまざまなツール。
  • レジストリ:MLモデルのフルライフサイクルを共同で管理するための集中型のモデルストア、APIセット、およびUI。
  • スケーラビリティ:大規模なデータセット、大規模な出力ファイル、および多数の実験にスケールするように設計されています。

結論

MLOpsは、機械学習(ML)モデルの展開とメンテナンスのための方法と技術のセットです。ただし、MLOpsには現在、定義された標準が存在しないため、これを念頭に置くことが重要です。したがって、MLOpsのキーポイント、ステージ、機能、および課題を理解することが重要です。

参考文献

[1] J. S. Damji and M. Galarnyk, ” Considerations for Deploying Machine Learning Models in Production,” Towards Data Science, Nov. 19, 2021.

[2] B. Rogojan, ” What Is MLOps And Why Your Team Should Implement It,” SMB Lite, Nov. 25, 2020.

[3] ” MLflow Concepts,” MLflow Documentation, Last accessed: Aug. 19, 2022*.*

[4] L. Visengeriyeva, A. Kammer, I. Bär, A. Kniesz, and M. Plöd, ” MLOps Principles,” , Last accessed: Aug. 19, 2022.

[5] P. P. Ippolito, ” Design Patterns in Machine Learning for MLOps,” Towards Data Science, Jan. 12, 2022.

[6] Abhijith C, ” How (not) to do MLOps,” Towards Data Science, Jan. 10, 2022.

[7] M. Eric, ” MLOps Is a Mess But That’s to be Expected,” VoAGI, Mar. 25, 2022.

[8] ” MLflow Quickstart”, MLflow Documentation, Last accessed: Aug. 19, 2022.

[9] Kedion, ” Managing Machine Learning Lifecycles with MLflow,” VoAGI, Jan. 25, 2022.

J. Demsar、T. Curk、A. Erjavec、C. Gorup、T. Hocevar、M. Milutinovic、M. Mozina、M. Polajnar、M. Toplak、A. Staric、M. Stajdohar、L. Umek、L. Zagar、J. Zbontar、M. Zitnik、およびB. Zupan、「オレンジ クイックスタート」、オレンジ ドキュメンテーション、最終アクセス日:2022年8月19日。

Y. Prakash、「ML実験トラッキングのクイックガイド—Weights & Biasesを使用して」、Towards Data Science、2022年3月7日。

wallaroo.ai、「さまざまな機械学習展開ソリューションの評価方法」、VoAGI、2022年3月3日。

A. Lamberti、「あなたの機械学習モデルをデプロイするための4つのMLOpsツール」、Artificialis、2022年1月5日。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

会話の魔法を解き放つ:ChatGPTをReact.jsとNode.jsと統合する

この包括的なガイドでは、ChatGPTのフロントエンドにはReact.js、バックエンドにはNode.jsを組み合わせた強力なデュオの統合...

人工知能

「GenAI-Infused ChatGPT 有効なプロンプトエンジニアリングのガイド」

「この記事は、AIのコミュニケーションを改善するための迅速なエンジニアリングの重要性を強調した簡潔な情報源です」

AIニュース

「AppleとGoogle、ChatGPTを年間アプリに見落とす」

驚くべき事態の中、テックジャイアントのAppleとGoogleは通常のパターンから逸脱し、それぞれの「年間最優秀アプリ」を選びま...

AI研究

この人工知能の研究は、トランスフォーマーベースの大規模言語モデルが外部メモリを追加して計算的に普遍的であることを確認しています

トランスフォーマーベースのモデル(GPT-2やGPT-3など)によって達成された驚くべき結果は、研究コミュニティを大規模な言語...

人工知能

画像をプロンプトに変換する方法:Img2Prompt AIモデルによるステップバイステップガイド

シンプルなAPIコールと少しのNode.jsで画像からプロンプトを収集する

データサイエンス

テキストブック品質の合成データを使用して言語モデルをトレーニングする

マイクロソフトリサーチは、データの役割についての現在進行中の議論に新たな燃料を加える論文を発表しました具体的には、デ...