MLOps とは

MLOps は、Machine Learning Operations(機械学習オペレーション)の略語です。機械学習エンジニアリングの中核となる MLOps は、機械学習モデルを本番環境に移行し、維持・監視のプロセスを効率化することに重点を置いています。MLOps は、多くの場合、データサイエンティスト、DevOps エンジニア、IT 部門で構成されるチーム間のコラボレーションを担います。

MLOps サイクル

MLOps の活用法

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

MLOps の必要性

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

MLOps のメリット

MLOps の主なメリットは、機械学習のライフサイクルにおける効率性、拡張性、リスク軽減です。

効率性:データチームは、MLOps によりモデル開発の迅速化、高品質な機械学習モデルの提供、迅速なデプロイメントと製品化が可能になります。
拡張性:MLOps は、広範なスケーラビリティと管理を可能にし、継続的インテグレーション、継続的デリバリー、継続的デプロイメントを目的として、数千のモデルを監督、制御、管理、監視できます。具体的には、MLOps が機械学習パイプラインの再現性を確保し、データチーム間の緊密なコラボレーションを可能にするため、DevOps や IT 部門との衝突を減らし、リリースサイクルを高速化します。
リスク軽減:機械学習モデルは、規制の精査やドリフトチェックが必要になるケースが多々あります。MLOps により、こうした要求に対するより高い透明性と迅速な対応が可能になり、組織や業界のポリシーへの準拠が確実になります。

MLOps の構成要素

MLOps コンポーネント

機械学習プロジェクトにおける 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 では、DevOps の原則をベースに機械学習モデルを本番環境に導入します。どちらもソフトウェアの品質改善、パッチやリリースの迅速化、顧客満足度の向上という成果をもたらします。

大規模言語モデル(LLMOps)のトレーニングと、従来の MLOps のトレーニングの違い

MLOps のコンセプトが多く適用されますが、 Dolly のような大規模言語モデル(LLM)をトレーニングする際には、他にも考慮すべきことがあります。LLM のトレーニングが従来の MLOps のアプローチと異なる可能性がある重要なポイントをいくつか見ていきましょう。

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

MLOps プラットフォーム

MLOps プラットフォームは、データサイエンティストやソフトウェアエンジニアに反復的なデータ探索、実験追跡、特徴量エンジニアリング、モデル管理のためのリアルタイムな共同編集機能、制御されたモデルの移行、デプロイメント、監視を促進するコラボレーション環境を提供します。MLOps は、機械学習のライフサイクルにおける運用と同期の両側面を自動化します。

MLflow

MLflow のフルマネージド環境であり、世界をリードするオープンな MLOps プラットフォームの Databricks をこちらからお試いただけます。

Additional Resources

Back to Glossary