MLOps(Machine Learning Operations)は、既存のDevOpsの実践手法にAIデータサイエンスを組み込む概念であり、その略称として用いられます。
これらの要素が導入されることで、チーム間の連携やコミュニケーションが円滑化され、機械学習(ML)のライフサイクルプロセス全体が改善されます。
MLOpsは、機械学習の技術を既存のアプリケーション開発やIT運用(IT Operations)と統合することで、運用の効率を最大限に高めます。
さらに、機械学習の導入は、品質管理、パイプライン構築、モニタリング、パッケージング、その他多数のプロセスにおいて、堅牢な自動化システムを構築する助けとなります。
優れたオープンソースのMLOpsツールは、低コストかつ制約のない環境下で、必要なあらゆるリソースへのアクセスを可能にし、ユーザーに極めて自由度の高い運用プラットフォームを提供します。これにより、組織は単一のプラットフォーム上で、より広範なチーム連携の機会と、柔軟性の高い運用体制を実現できるようになります。
ここでは、オープンソースのMLOpsツール トップ9をまとめました。
Metaflow
Metaflowは、コードベースのMLOpsシステムです。Pythonとの親和性が高く、R言語もサポートしています。当初はNetflix社内で開発され、データ管理やモデルのトレーニングに活用されていました。
2019年よりオープンソースツールとして公開されています(R言語版の「Metaflow for R」は2020年より公開)。さらに、MetaflowはAWSクラウドを基盤として動作します。AWS環境下において、高度な組み込みストレージ機能、コンピューティングリソース、および各種MLサービスとの連携機能を提供します。
このオープンソースのMLOpsツールは、特に本番環境向けのパイプライン構築やデプロイ(展開)に重点を置いています。また、実行環境となるインフラストラクチャ・スタックに対して、統一されたAPIレイヤーを提供します。これにより、多種多様なプロジェクトや大規模なチームのニーズにも、迅速かつ柔軟に対応することが可能です。
MLReef
MLReefは、堅牢でありながら直感的に操作できるオープンソースのMLOpsプラットフォームです。初心者、経験豊富な実務者、そしてエンタープライズ(企業)の各レベルに対応した選択肢を提供します。これは、機械学習(ML)開発の信頼性と効率性を飛躍的に向上させる、エンドツーエンドのMLプラットフォームです。
初心者向け – 共通のコードベースを採用しており、必要なあらゆるサポートを受けられる大規模なコミュニティが用意されています。
経験者向け – Gitをベースとしたバージョン管理機能を活用することで、DevOpsに関する煩わしさを一切排除し、スムーズにMLプロジェクトを構築できます。進捗状況や成果を確実に追跡・管理するための、合理化されたコラボレーション環境を提供します。
エンタープライズ向け – クラウド環境またはオンプレミス環境のいずれにおいても、ML関連の活動に対して最大限のスケーラビリティと統制力を提供します。
MLReefは、いくつかの簡単な初期設定とチュートリアルを通じて、機械学習プロジェクトをモジュール単位で開発できるよう、適切に構築されたフレームワークを備えています。また、チーム、予算、およびナレッジを管理するための、安全性の高いプラットフォームでもあります。
MLRun
MLRunは、Iguazio社が提供する、機械学習アプリケーションの開発からデプロイまでをエンドツーエンドで高速化するMLOpsソリューションです。機械学習のライフサイクル全体および分析プロセスを自動化・管理するための、迅速かつ安定したツールとして機能します。本ツールを活用することで、任意のフレームワーク上で機械学習のトレーニングパイプラインを構築することが可能になります。
MLRunは、自動化されスケーラブルなMLOpsオーケストレーション機能を提供し、モデルのパフォーマンス監視を支援します。主な機能は以下の通りです。
- 複数のアルゴリズム関数やハイパーパラメータを組み合わせた実験を並列実行し、その中から最適な結果を自動的に選定する機能。
- 関連する機械学習タスクのコード、メタデータ、入力データ、出力データを記録・追跡する実験トラッキング機能。
- オンラインおよびオフラインの環境を統合した「Feature Store(特徴量ストア)」の管理機能。
- Kubeflow Pipelinesとのネイティブな連携機能。
ZenML
ZenMLは、シンプルでありながら拡張性に優れた、オープンソースのMLOpsフレームワークです。クラウド環境とオンプレミス環境を迅速に切り替えて利用できる機能を提供します。ZenMLを活用することで、本番環境で利用可能な、再現性の高い機械学習(ML)パイプラインを構築することができます。
また、TensorBoard、TFMA、TFDVといった組み込み済みのヘルパー機能も備えており、パラメータや実験結果の比較・可視化を容易に行うことができます。
ZenMLの主な特長は以下の通りです。
- 機械学習の学習実験における、再現性の確実な保証。
- パラメータや実験結果の比較・可視化を支援する、組み込み済みのヘルパー機能。
- パイプラインの状態をキャッシュすることで実現する、実験サイクルの高速化。
- 複数のパイプラインを比較することによる、学習プロセス全体の評価・分析の深化。
MLflow
MLflowは、4つのコンポーネントで構成される、広く普及しているエンドツーエンドの機械学習(ML)ライフサイクル管理プラットフォームです。現在の4つの構成要素は、MLflow Tracking、Projects、Models、Registryです。
単一ユーザーから大企業まで、規模を問わず対応できるよう設計されたMLflowは、Databricks上で提供される、極めて体系化されたソリューションです。特定のライブラリに依存しない設計となっており、あらゆるプログラミング言語で使用可能です。
主な特徴は以下の通りです。
- あらゆる機械学習ライブラリや言語に対応しています。
- 既存のコードに組み込む際、変更を最小限に抑えることができます。
- どのクラウド環境でも、一貫した動作を実現します。
- Apache Spark™を活用した、ビッグデータ処理へのスケーラビリティを備えています。
Seldon
Seldon Coreは、Kubernetes上での機械学習モデルの迅速なデプロイを実現する、オープンソースのフレームワークです。Kubernetes環境において、実験的なモデルを大規模かつスムーズにデプロイすることを可能にします。
また、CI/CDツールと連携させることで、デプロイの規模を拡張したり、モデルを常に最新の状態に維持したりすることも可能です。
Seldonの主な利点は以下の通りです。
- モデルグラフを管理するためのカスタムリソース定義(CRD)。
- ランタイム推論グラフのサポート。
- クラウドおよびオンプレミス環境の両方で動作。
- 特定のフレームワークに依存せず、複数のプログラミング言語や主要な機械学習ライブラリに対応。
Bodywork
Bodyworkは、モデルのトレーニングおよびデプロイのパイプラインを自動化するためのプラットフォームです。多くの人々が「DevOps」の領域とみなす、定型的かつ反復的なタスクに対して、自動化サービスを提供します。
Bodywork MLOpsフレームワークは、コードを適切な場所に効率的に送り届け、最適なタイミングで実行します。このプロセスにより、モデルが確実に適切にトレーニングされ、必要な時にいつでも利用可能な状態が維持されます。
本プラットフォームを利用することで、機械学習エンジニアは、モデルのスコアリングサービスをコンテナ化し、K8s(Kubernetes)上にデプロイすることが可能になります。また、コードの継続的なデリバリーやデプロイの自動化においても、機械学習エンジニアを強力に支援します。
Pachyderm
2014年に設立されたPachydermは、シンプルさを兼ね備えた、堅牢なデータバージョン管理用MLOpsツールです。
これはGitに似た機能を持ち、データサイエンスプロジェクトにおける機械学習(ML)データのバージョン管理およびデータリネージ(来歴管理)を提供するデータサイエンスツールです。データリネージをエンドツーエンドのパイプラインと統合して管理します。
Pachydermは、その迅速かつ正確な追跡機能や、再現性の高さを強みとしており、データサイエンスエンジニアやチームにとって最適な選択肢となります。
さらに、企業がAI関連の規制やコンプライアンス基準に常に準拠し続けるための支援も行います。これにより、チームはプロジェクトの環境をいつでも完全に再現することが可能になります。また、スケーラブルなML/AIパイプラインの構築を支援するとともに、使用するプログラミング言語、フレームワーク、ツールに対して極めて高い柔軟性を発揮します。
DVC(データバージョン管理)
DVCは、機械学習プロジェクトに特化した、堅牢なオープンソースのデータバージョン管理システムです。既存のデータサイエンス環境に「再現性」と「コラボレーション」をもたらす、アジャイルなMLOpsツールとして機能します。
DVCは、企業が共有可能かつ再現性の高い機械学習モデルを開発できるよう支援します。
このデータバージョン管理ソリューションは、標準的なGitリポジトリ、サーバー、およびプロバイダーであれば、その種類を問わず完全に互換性があります。また、エンドツーエンドのMLパイプラインフレームワーク、再現性の確保、スムーズなブランチ運用など、MLOpsに不可欠な多彩な機能を備えています。
主な機能は以下の通りです。
- ストレージ:言語やフレームワークに依存しない(不可知な)設計
- メトリクス追跡
- 失敗した試行に関する情報を保持し、さらなる洞察の獲得を支援
結論
ITおよびデータマイニングに携わる人なら誰でも、人工知能とそのサブセットである機械学習についてよく知っているでしょう。組織におけるスケーラビリティ、モニタリング、自動化を最適化する上で、機械学習がいかに画期的な効果をもたらすかは、今や周知の事実です。
その無限の可能性は、あらゆる分野で新たな産業分野が機械学習を取り入れる原動力となっています。
MLS(機械学習サービス)は、予算とコンピューティングリソース全体の管理を容易にします。さらに、MLops(機械学習運用サービス)は、自動化されたエンドツーエンドの機械学習パイプラインの実行、モデルパフォーマンスのモニタリング、チームコラボレーションの最大化を支援します。
MLOpsを活用することで、ITチームはモデルのデプロイとガバナンスの効率化を実現し、ワークフローにおける反復的な手作業を自動化できます。そのため、ますます多くの開発プロジェクトがMLOpsを採用しているのです。




