メインコンテンツへジャンプ

MLOps

MLOps とは

MLOps は、エムエルオプスと読み、Machine Learning Operations の略語で、機械学習(Machine Learning)と運用(Operations)を組み合わせた言葉です。言葉のとおり、機械学習の開発チーム、運用チーム、データサインティストなどが連携し、機械学習モデルを実ビジネスに効果的に展開・運用するための手法を指します。開発チームと運用チームが連携し、DevOps の原則を拡張して、機械学習のモデルの運用に適用したのが MLOps です。

グローバルデータおよび AI コミュニティの中心、米国サンフランシスコで開催されるData + AI Summit 2025にて、基調講演およびAIエージェント、生成AI、データインテリジェンスなどデータエンジニアリング分野を網羅する700以上のセッションの中から、主要スピーカーによる発表を 6 月 12日から13日にわたって配信されるライブ配信でご覧いただけます。また、イベント終了後にはオンデマンドでの再視聴が提供されます。このページから会員登録のうえ、無料で事前登録を行ってください。

MLOps Cycle

MLOps の活用法

MLOps は、機械学習や AI ソリューションの構築と品質向上に有効なアプローチです。MLOps のアプローチを取り入れることで、機械学習モデルの適切な監視、検証、ガバナンスを備えた CI/CD(継続的インテグレーションと継続的デリバリー)が可能になり、データサイエンティストと機械学習のエンジニアの連携を促進し、モデルの開発と実運用化を加速させます。

MLOps の必要性

機械学習のライフサイクルは、データ取り込み、データ準備、モデルのトレーニング、チューニング、デプロイ、監視、説明可能性といった多くの複雑な要素で構成されており、機械学習モデルの製品化は容易ではありません。また、データエンジニア、データサイエンティスト、機械学習エンジニアからなるチーム間の連携や引き継ぎも必要です。これら全てのプロセスを同期、連動させるためには、厳格な運用が必須となります。MLOps の概念は、機械学習のライフサイクルにおける実験フェーズ、反復、継続的な改善を包括しています。

MLOps のメリット

MLOpsの主な利点は、効率性、スケーラビリティ、リスク軽減です。効率性:MLOpsはデータチームがモデル開発を迅速に行い、高品質な機械学習モデルを提供し、迅速な展開と運用を実現することを可能にします。スケーラビリティ:MLOpsは、何千ものモデルを監視、制御、管理、モニタリングできる大規模なスケーラビリティと管理を可能にし、継続的インテグレーション、継続的なデリバリー、継続的デプロイを実現します。具体的には、MLOpsは機械学習パイプラインの再現性を提供し、データチーム間の密接なコラボレーションを促進し、DevOpsやITとの対立を減らし、リリースの速度を加速させます。リスク軽減:機械学習モデルはしばしば規制の監視とドリフトチェックが必要であり、MLOpsはそのような要求に対する透明性と迅速な対応を高め、組織や業界のポリシーへのコンプライアンスを確保します。

Databricks についてさらに詳しく

MLOps を構成する要素

MLOps Components

機械学習プロジェクトにおける MLOps は、プロジェクトに応じて範囲を絞ることも、拡大することも可能です。例えば、データパイプラインからモデル作成までの全てを網羅する場合もあれば、他のプロジェクトでは、モデルのデプロイプロセスのみの実装が必要な場合もあります。多くの企業では、主に以下のような領域に MLOps を導入しています。

  • 探索的データ分析(EDA)
  • データ準備と特徴量エンジニアリング
  • モデルのトレーニングとチューニング
  • モデルのレビューとガバナンス
  • モデル推論とサービング
  • モデル監視
  • モデルの再トレーニングの自動化

MLOps への効果的なアプローチ

MLOps のベストプラクティスは、MLOps の原則が適用される段階によって区別できます。

  • 探索的データ分析(EDA):再現性、編集性、共有性のあるデータセット、表、可視化方法を作成することで、機械学習のライフサイクルにおいてデータを繰り返し検索、共有、準備することが可能です。
  • データ準備と特徴量エンジニアリング:データの変換、集約、重複排除を繰り返すことで、洗練された特徴量を作成できます。特徴量ストアを活用して、データチーム間で特徴量を可視化し、共有することが重要です。
  • 機械学習モデルのトレーニングとチューニング:scikit-learn や Hyperopt などの一般的なオープンソースライブラリを使用して、モデルのトレーニングと性能の改善ができます。より簡単な方法として、AutoML などの自動機械学習ツールを使ってテストを実行し、レビューやデプロイが可能なコードを作成します。
  • モデルのレビューとガバナンス:モデルのレビューとガバナンス:モデルの系統、モデルのバージョンを追跡し、ライフサイクルを通じてモデルの成果物および移行を管理します。MLflow のようなオープンソースの MLOps プラットフォームを使用して、機械学習モデルの共有を行うことも可能です。
  • モデル推論とサービング:モデルの更新頻度、推論要求時間などの本番環境に特化した管理を、テストとQAで行います。DevOps の原則を取り入れたリポジトリやオーケストレータなどの CI/CD ツールを利用して、本番前のパイプラインを自動化します。
  • モデルのデプロイと監視:パーミッションの設定やクラスタの作成を自動化し、登録されたモデルを本番稼動に備えます。REST API モデルのエンドポイントを有効にする必要があります。
  • モデルの再トレーニングを自動化:トレーニングデータと推論データの違いによるモデルドリフトが発生した場合、アラートと自動化で修正を行います。

MLOps と DevOps の違い

MLOps は、機械学習モデルの開発から、デプロイ、運用にかけてのプロセスを強化するための手法で、DevOps は、ソフトウェア開発における開発と運用を統合することで、プロセスを効率化することをめざしています。わかりやすく言えば、DevOps はソフトウェアの開発と運用に焦点を当てているのに対し、MLOps は、機械学習モデルに特化しているのが違いです。MLOps は、DevOps の原則をベースに機械学習モデルを本番環境に導入します。いずれも、ソフトウェアの品質改善、パッチ管理やリリースの迅速化、顧客満足度の向上という成果をもたらします。

LLMOps と MLOps のトレーニングにおける違い

Dolly のような大規模言語モデル(LLM)をトレーニングする際には、MLOps の概念が適用される場合が多いですが、他にも考慮することがあります。大規模言語モデルのトレーニングが従来の MLOps のアプローチと異なるポイントを見ていきます。

  • 計算資源:大規模な言語モデルの学習と微調整には、通常、大規模なデータセットに対して桁違いの計算を実行する必要があります。この処理を高速化するために、GPU のような特殊なハードウェアが使われ、より高速なデータ並列演算が行われます。大規模言語モデルのトレーニングやデプロイには、こうした特殊な計算資源へのアクセスが不可欠です。また、推論にかかるコストから、モデルの圧縮や蒸留の技術も重要視されることがあります。
  • 転移学習:多くの大規模言語モデルは、ゼロから作成・学習される従来のMLモデルとは異なり、基礎モデルからスタートし、特定のドメインで性能を向上させるために新しいデータで微調整を行います。ファインチューニングをすることで、より少ないデータと計算資源で、特定のアプリケーションに対して最先端の性能を発揮することができます。
  • 人間のフィードバック:大規模言語モデルの学習において、人間のフィードバックによる強化学習(RLHF)は大きな進歩のひとつです。より一般的には、LLM タスクは極めてオープンエンドであることが多いため、LLM のパフォーマンスを評価するには、人間によるフィードバックが重要です。このフィードバックループを LLMOps パイプラインに組み込むことで、学習させた大規模言語モデルの性能を向上させることができます。
  • ハイパーパラメータチューニング:従来の ML では、ハイパーパラメータチューニングは、多くの場合、精度や他の指標の改善を中心に行われてきました。LLM の場合、チューニングは学習と推論にかかるコストを削減する点でも重要です。例えば、バッチサイズや学習率を微調整することで、トレーニングのスピードやコストを劇的に変化させることができます。このように、従来の ML と LLM は、チューニングプロセスを追跡し最適化することで恩恵を受けることは同じですが、その効果は異なります。
  • 評価方法:従来の ML モデルには、精度、再現率、F値など、明確に定義された指標があります。これらの指標は、計算が非常に簡単です。しかし、LLM の評価に関しては、バイリンガル評価(BLEU)や要点評価のためのリコール指向型代行調査(ROGUE)のように、全く異なる指標やスコアリングが適用されるため、実装の際に考慮が必要です。

MLOps に有用なツールやフレームワーク

MLOps ツールは、データサイエンティストやソフトウェアエンジニアチームに必要な、実験追跡、特徴量エンジニアリング、予測モデルの管理、監視、デプロイメントを促進するコラボレーション環境を提供します。MLOps は、機械学習のライフサイクルにおける運用と同期の両方を自動化します。

MLFlow

Databricksを試してみてください - 世界をリードするオープンなMLOpsプラットフォームであるMLflowの完全管理環境です。 https://www.databricks.com/try/databricks-free-ml

用語集に戻る