MLOps とは
機械学習運用 (MLOps) とは、機械学習 (ML) モデルのデプロイと保守のプロセスを最適化することを目的とした一連のワークフロー・プラクティスです。
DevOps と GitOps の原則に着想を得た MLOps は、ML モデルをソフトウェア開発プロセスに統合するための、継続的な改善の仕組みを確立することを目指しています。MLOps を導入することで、データサイエンティスト、エンジニア、IT チームが連携しながら、反復的な学習プロセスを効率化し、機械学習モデルを常に高精度かつ最新の状態に維持できます。これにより継続的な監視、再トレーニング、デプロイが可能になり、変化するデータにモデルが適応できるようになるため、長期にわたって最高のパフォーマンスを維持できます。
MLOps を導入するメリットとは
機械学習モデルは、データのパターンを検出することで予測を行います。モデルが進化し、学習していない新しいデータにさらされるようになると、「データドリフト」と呼ばれる問題が発生します。データドリフトは、ML モデルの学習に使用される統計的特性が古くなるにつれて、時間の経過とともに自然に発生するものであり、対処や修正を行わない場合、ビジネスに悪影響を及ぼす可能性があります。
ドリフトを避けるためには、モデルを監視し、高い予測精度を保つことが重要です。MLOps の手法を適用することで、予測モデルの品質と精度を高めながら管理プロセスを単純化し、データドリフトを回避して、データサイエンティストの効率を最適化することで、チームに利益をもたらすことができます。
MLOps が組織にもたらす具体的なメリットをいくつかご紹介します。
再現性:MLOps フレームワークは、さまざまなモデルに関連するコード、データ、設定ファイルの変更を追跡および管理できるようにするため、組織は ML の実験の再現性を安定的に確保できます。
継続的インテグレーションおよび継続的デプロイメント (CI/CD):MLOps フレームワークは CI/CD パイプラインと統合できるので、テスト、検証、デプロイの自動化が可能です。その結果、開発とデリバリーのサイクルが迅速化され、継続的改善の文化が醸成されます。
コラボレーションの強化と開発サイクルの短縮:MLOps は、障害を解消し、生産性を高めるとともに、チームメンバーが効果的に連携できるようにします。手動で行っていた作業が自動化されれば、組織はより多くのモデルをより素早くデプロイし、より頻繁にモデルを改良して精度を高めることができます。
コスト削減: 高精度な ML モデルを維持するために必要な継続的な調整や改善は、特に手作業で行う場合、非常に手間がかかります。MLOps によって自動化することで、時間のかかる手作業に割り当てられていたリソースが解放され、リソースの節約につながります。また、手作業によるエラーのリスクを最小限に抑えるとともに、デプロイプロセスを効率化することで価値実現までの時間を短縮できます。
ガバナンスとコンプライアンスの強化:MLOps の実践により、組織はセキュリティ対策を徹底し、データプライバシー規制へのコンプライアンスを確保できます。また、パフォーマンスと精度を監視することで、新たなデータが統合された際に生じるモデルのドリフトを追跡でき、長期間にわたって高い精度を維持するための事前対策を講じることができます。
Red Hat のリソース
自動化を導入し、MLOps で時間を節約
MLOps プラクティスを導入することで、機械学習モデルの継続的なパフォーマンスと信頼性を確保しながら、機械学習モデルを維持する際の面倒な手作業を省くことができます。MLOps プラクティスは異なるチーム間のコラボレーションを効率化することで、組織内のアジャイルな開発とデータ駆動型の意思決定を促進します。
MLOps は、あらゆる業界における ML 開発プロセスの自動化と単純化を可能にします。MLOps のユースケースとしては、次のようなものがあります。
予知保全:機器の故障を予測し、メンテナンスをプロアクティブに計画します。
不正検知:トランザクションを継続的に監視し、不審なアクティビティがないかを確認するモデルを構築およびデプロイします。
自然言語処理 (NLP):チャットボット、翻訳ツール、その他の大規模言語モデル (LLM) などのアプリケーションが効果的かつ確実に動作するようにします。
コンピュータビジョン:医用画像分析、物体検出、自動運転などのタスクをサポートします。
異常検出:ネットワークセキュリティ、産業プロセス、IoT デバイスなど、さまざまな分野で通常とは異なる挙動を検出します。
医療:病気診断、患者の転帰予測、医用画像分析のためのモデルをデプロイします。
小売:在庫管理、需要予測、価格の最適化、顧客のショッピング体験の向上を支援します。
MLOps と DevOps
MLOps は DevOps の進化形と考えることができ、コラボレーション、自動化、継続的改善という同じ基礎概念が ML モデルの開発に適用されたものです。MLOps と DevOps は、IT 運用チームとのコラボレーションを改善するという目標を共有しています。ソフトウェアや ML モデルをそのライフサイクル全体を通して管理および維持するためには、IT 運用チームと緊密に協力しなければなりません。
DevOps が日常的な運用タスクの自動化と開発およびデプロイメントのための環境の標準化に重点を置いているのに対し、MLOps はより実験的な性質が強く、データパイプラインの管理と維持の方法を探ることに重点を置いています。ML モデルで使用されるデータは常に進化しているため、モデル自体もそれに合わせて進化しなければならず、そのためには継続的な適応と微調整が必要となります。
テスト、デプロイメント、プロダクションは、MLOps と DevOps では異なります。ML プロジェクトでは、ソフトウェア・エンジニアリングを専門とせず、探索的データ分析、モデル開発、実験に力を注ぐデータサイエンティストがチームに加わることが多くあります。DevOps では通常考慮されないものの、MLOps では実施される作業には次のようなものがあります。
- データ検証、学習済みモデルの品質評価、モデル検証のためのテスト
- 新しいデータを受け取ると自動的に ML モデルを再トレーニングし、デプロイするためのマルチステップ・パイプラインの構築
- データのサマリー統計を追跡し、モデルのオンラインでのパフォーマンスを監視して、値が予想から外れた場合に伝達
MLOps における継続的インテグレーションおよび継続的デプロイメント (CI/CD) に関して言えば、CI はもはや (DevOps の場合のように) コードとコンポーネントのテストと検証のためだけのものではなく、データ、データスキーマ、モデルのテストと検証も意味します。CD についても、単一のソフトウェアパッケージやサービスをデプロイすることを指すのではなく、別のサービス (モデル予測サービス) を自動的にデプロイする仕組み (ML トレーニングパイプライン) を指します。
MLOps の各段階に関する Red Hat の考え方
ML モデルを構築し、運用化するための方法は 1 つではありません。しかし、アプリケーションの構築と運用には、5 つの主要な段階から成る、従うべきライフサイクルがあります。
Red Hat® OpenShift® には、データセンター、パブリッククラウド・コンピューティング、エッジコンピューティングの全体にわたって一貫した形で MLOps を実現するための主要な機能が備わっています。
ステップ 1:データの収集と準備
構造化または非構造化データを収集、クレンジング、ラベル付けし、ML モデルのトレーニングとテストに適した形式にします。
ステップ 2:モデルトレーニング
ML モデルは Red Hat OpenShift 上の Jupyter Notebook でトレーニングされます。
ステップ 3:自動化
Red Hat OpenShift Pipelines はイベント駆動型の継続的インテグレーション機能を提供し、ML モデルをコンテナイメージとしてパッケージ化するのに役立ちます。
ステップ 4:デプロイ
Red Hat OpenShift GitOps は、パブリック、プライベート、ハイブリッド、エッジなど、場所を問わず、ML モデルのデプロイを大規模に自動化します。デプロイ段階においては、vLLM などのテクノロジーを使用して推論時の GPU の使用量を最適化できます。
ステップ 5:監視
Red Hat のエコシステムパートナーが提供するツールを使用することで、モデルを監視し、必要に応じて再トレーニングや再デプロイを行ってモデルを更新できます。新しいデータが取り込まれると、プロセスはステップ 1 に戻り、5 つのステップを連続的かつ自動的に繰り返します。
MLOps を開始する
組織内で機械学習の統合を模索している段階の企業でも、ML パイプラインをすでに使用している企業でも、自社のワークフローとプロセスが広範囲の MLOps にどう適合するかを理解することは有益です。通常、機械学習プロセスの成熟度はワークフローに自動化がどの程度組み込まれているかに応じて 3 つのレベルのいずれかに分類されます。
MLOps レベル 0:すべてが手動
機械学習を開始したばかりのチームは、通常、完全に手動のワークフローで運用しています。この段階では、モデルを作成するデータサイエンティストは、モデルを提供するエンジニアから切り離されており、プロセスのすべてのステップ (データの準備、モデルのトレーニング、自動化、デプロイ、監視) が自動化なしで実行されています。継続的インテグレーション (CI) も継続的デリバリー (CD) も存在しません。新しいモデルのバージョンは頻繁にはデプロイされず、また新しいモデルがデプロイされる場合でも、変化に適応できない可能性が高くなります。
MLOps レベル 1:自動化された ML パイプライン
モデルを新たな要因に対してプロアクティブに適応させる必要がある場合、ワークフローへの自動化の導入は合理的な判断です。自動化されたパイプラインでは、継続的トレーニング (CT) のために新しいデータが取り込まれるため、モデルは予測サービスにおいて、最も関連性の高い情報にアクセスできます。
MLOps レベル 2:自動化された CI/CD システム
この段階では、ML モデルの更新は迅速かつ信頼性の高い形で行われます。モデルは毎日、または毎時間新しいデータで再トレーニングされ、更新は同時に何千ものサーバーにデプロイされます。このシステムにより、データサイエンティストとエンジニアは、単一の協働環境で円滑に連携できるようになります。
構築か購入か
MLOps プラットフォームを構築するか購入するかを決定する際には、リソースと導入までの期間の両方を考慮する必要があります。機能する ML インフラストラクチャを構築するのに 1 年以上かかることもある上、実際に価値を生み出せるパイプラインを構築する方法を見つけ出すためには更なる時間を要します。さらに、インフラストラクチャを維持するには、ライフサイクル管理と専門チームが必要になります。チームにスキルセットがない場合や、スキルセットを習得するための余力がない場合、エンドツーエンドの MLOps プラットフォームへの投資が最適なソリューションとなり得ます。
Red Hat のサポート内容
Red Hat® AI は、Red Hat のお客様の信頼を得ているソリューションに基づいて構築された AI 製品のポートフォリオです。これを基盤として、当社製品の信頼性、柔軟性、拡張性が維持されます。
Red Hat AI のサポートによって以下のことが可能になります。
- AI を迅速に導入してイノベーションを実現する
- AI ソリューションの提供における複雑さを解消できる
- どこにでもデプロイできる
単一の統合された MLOps プラットフォーム
Red Hat AI には、ハイブリッドクラウド環境とエッジの全体で AI/ML ライフサイクルを管理するための AI プラットフォームである Red Hat® OpenShift® AI が含まれています。
この単一のプラットフォームは以下をサポートします。
- コラボレーション・ワークフロー
- 監視
- ハイブリッドクラウド・アプリケーション
Red Hat OpenShift AI は、予測 AI モデルや生成 AI モデルを大規模に実行する準備ができている企業が重要なワークロードを整理し、効率化して、シームレスに運用できるよう支援します。
パートナー選択の柔軟性
Red Hat の AI パートナーエコシステムは拡大を続けています。さまざまなテクノロジーパートナーが Red Hat と連携し、Red Hat AI との相互運用性に関する認定を受けています。これにより、選択肢を常にオープンに保つことができます。
戦略の主権をどの程度保持していますか?Red Hat Sovereignity Readiness Assessment ツールの概要
Red Hat Sovereignty Readiness Assessment ツールは、Web ベースのセルフサービス評価ツールであり、7 つの重要ドメインにわたる組織のデジタル管理についての明確で客観的なベースラインを提供します。