MLOps とは
MLOps (Machine Learning Operations) は、機械学習モデルのライフサイクル全体を管理することに焦点を当てた一連の手法です。データ主導型およびテクノロジー主導型アプリケーション向けに機械学習を活用する組織が増えるにつれ、当初はモデル開発と展開に焦点が当たっていましたが、継続的な監視と更新も含めて対象が拡張されました。
MLOps は、開発における設計、構築、およびテスト活動と、運用における展開、保守、および監視活動を継続的なフィードバックループで連携させることにより、機械学習モデルを運用に移行させるプロセスを合理化します。MLOps は、多くの場合、データ サイエンティスト、エンジニア、および IT 専門家で構成されたチームが関与する、協働的かつ部門横断的なものとなります。
MLOps と DevOps にはどのような違いがあるのでしょうか。MLOps と DevOps はいずれも、ソフトウェアの開発から運用への移行プロセスを合理化し、開発チームと運用チームの共同作業を可能にします。ただし、MLOps は、機械学習モデルのライフサイクル全体に焦点を当てています。
MLOps が重要である理由
MLOps は、機械学習サイクルの困難な自動化プロセスを容易にします。自動化には、モデルの性能を監視および評価し、その評価結果をより高性能なモデルに組み込み、再度新しいモデルを展開するという追加の手順が必要です。MLOps は、機械学習の運用に大きなメリットをもたらします。この手法の導入により、エラーが減少し、チーム間の引き継が容易になり、AI システムを継続的に改善できます。
MLOps は、特に以下のような用途に役立ちます。
MATLAB を使用した MLOps
MATLAB® および Simulink® を使用して、MLOps プロセスを自動化できます。
- 機械学習モデルの作成 – 事前構築済みの関数と専用アプリを使用して、特徴量の選択または特徴量エンジニアリングを行い、分類、回帰、およびクラスタリング用の機械学習モデルを作成します。
- 自動化された機械学習 (AutoML) を使用すると、MLOps のモデル設計を自動化できます。ディープラーニングの場合、MATLAB やオープンソースから事前学習済みモデルを入手できます。
- AI システムのシミュレーション – 機械学習モデルを SVM 分類ブロックやオブジェクト検出ブロックなどの専用ブロックを使用する AI システムに統合し、運用環境への展開前に AI システム全体をシミュレーションします。
- 継続的インテグレーション (CI) を使用した構築とテスト – Azure® DevOps、Jenkins®、独自の CI サーバーなど、各種の継続的インテグレーション (CI) プラットフォームを使用し、MATLAB コードを実行して、Simulink システムをシミュレーションします。CI を使用することで、コードとシステムの自動化された構築とテスト、チーム間の共同作業が可能になり、MLOps サイクルの早い段階で統合の問題を検出できます。
- 運用環境への展開 – 新しいコードを作成したりカスタム インフラストラクチャを構築したりせずに、MATLAB 機械学習モデルを MATLAB Production Server™ に展開します。これにより、複数のユーザーが、展開された MATLAB モデルの最新バージョンに自動的にアクセスできるようになります。
- 運用の監視 - 機械学習モデルが運用環境に移行した後は、その性能を監視してフィードバックを提供できます。たとえば、ドリフト検出を使用して、観測データと学習データを比較し、再学習が必要なタイミングを判断します。