「MLOps」とは? 機械学習モデル開発にDevOpsを生かす:「AIOps」とは何か【第3回】
DevOpsの考え方を取り入れた機械学習モデルの開発手法が「MLOps」だ。従来の開発手法と何が違うのか。機械学習の要件を踏まえて登場したMLOpsの基礎を解説する。
第2回「『AIOps』ツールを使ってみたくなる5つの用途」は、機械学習などのAI(人工知能)技術を利用してITシステム運用の自動化を図る「AIOps」ツールによって、システムの監視・運用をさまざまな点で改善できることを説明した。AIOpsツールに限らず、運用チームと開発チームが協調して開発を進める「DevOps」とAI技術を組み合わせることで、システムの開発と運用にプラスの効果をもたらす可能性がある。
併せて読みたいお薦め記事
「機械学習」の基礎知識
AIOpsとは何か
DevOpsとAI技術を組み合わせる場合、大きく分けて2通りの効果が期待できる。1つ目はDevOpsにおけるシステム開発フローをAI技術で改善すること。2つ目は機械学習モデルの開発フローをDevOpsで改善することだ。
1つ目は、AI技術をDevOpsに取り入れることで、開発するプログラムの潜在的なバグの発見や、複数のプログラムを統合する際の問題の特定をしやすくなる。小規模な機能追加などの開発を短期間で繰り返す「アジャイル」型のプロセス最適化にも活用できる。アジャイル開発におけるスプリント(特定の機能開発のために設定する時間枠)の構成をはじめ、機械学習による分析を基にしてプロジェクト管理を円滑に進めることにも役立つ。
2つ目は、機械学習モデルの開発フローを改善する観点で、機械学習モデル開発にDevOpsの手法を取り入れる。機械学習(ML:Machine Learning)と運用(Ops:Operations)とを組み合わせるため、この手法を「MLOps」と呼ぶ。
DevOpsを機械学習に生かす「MLOps」とは
AI技術に関する調査会社のCognilyticaによれば、機械学習モデルの開発に一般的なDevOpsの手法を取り入れることは簡単ではない。従来のシステム開発・運用と、機械学習モデル開発のフローは異なるためだ。
機械学習モデルの開発は基本的にデータドリブン(データ駆動)だ。そのライフサイクルを管理する場合は、プログラムの開発やデプロイ(配備)よりもデータのライフサイクル管理が重要になる。機械学習モデルを開発して本番環境に導入するだけでは、十分にそのモデルを活用できるとは限らない。
いかに素晴らしい機械学習モデルが開発できたとしても、教師データと、本番環境で実際に用いるデータに食い違いがあれば、そのモデルは期待通りには機能しない。こうした問題を解消するために、MLOpsの機械学習モデル開発フローは、機械学習モデル特有のライフサイクル要件に重点を置く。
本番環境でも有効な機械学習モデルを開発するために、MLOpsツールは機械学習モデルのライフサイクル管理に関する下記の5項目を重視する。
- 効果的な機械学習モデルの開発に必要な教師データの管理
- 機械学習モデルのイテレーション(短期間で繰り返す開発サイクルの単位)とバージョンの実運用に至るまでの管理
- 本番環境で使用する機械学習モデルの監視と管理
- 機械学習モデルの各種ガバナンス要件とアクセス要件の管理
- 機械学習モデルと教師データを改ざんから保護するためのセキュリティ要件の管理
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.