用語「MLOps(“Machine Learning”と“Operations”の合成語)」について説明。機械学習モデルの実装〜運用のライフサイクルを円滑に進めるために築かれる、機械学習チーム/開発チームと運用チームが協調し合う管理体制(機械学習基盤)を指す。
MLOpsとは、「機械学習チーム(Machine Learning)/開発チーム」と「運用チーム(Operations)」がお互いに協調し合うことで、機械学習モデルの実装から運用までのライフサイクルを円滑に進めるための管理体制(機械学習基盤)を築くこと、またはその概念全体を指す。類義語にDevOpsがあるが、まさにそのDevOpsから発展して生まれた考え方である。DevOpsに詳しければ、その機械学習版だと考えるとよい。
DevOpsの考え方と同様に、機械学習チーム/開発チームは、最終的なソリューションの一機能となる機械学習モデルの作成とデリバリー(もしくはデプロイ)を自動化し、リリースサイクルを早める。運用チームは、刻々と変化するビジネス要求を捉えて、機械学習チームにフィードバックしながら、より付加価値の高いソリューションをエンドユーザーに届ける。これら一連のライフサイクルをシームレスにつなげるための基盤を作成する必要があるというわけだ(図1)。
MLOpsの場合、DevOpsに加えて、例えば、
といったことに関しても、「作業の自動化」や「ワークフローの基盤化」を検討して実現することになる。
「そのために、どのようなツールやアーキテクチャが必要か?」は、機械学習ソリューションごとにケースバイケースで考えなければならない。具体的にはDevOpsと同様に、CI(継続的インテグレーション)/CD(継続的デリバリー)を支援するツール(例えば「CircleCI」など)や、Docker/Kubernetesといったコンテナ型のアプリケーション実行環境を使うことなどがまずは挙げられる。他には、Pythonコードによって自動化する部分や、ワークフローを支援するツール(例えば「Apache Airflow」など)や、モニタリング機能を提供するツール(例えば「Datadog」など)を活用することも考えられる。
ちなみに、似て非なる用語として「AIOps」がある。MLOpsとは意味が大きく異なるので注意してほしい。
AIOps(Algorithmic IT Operations、もしくはArtificial Intelligence for IT Operations: 人工知能によるIT運用)とは、ITの運用プロセスの一部にAI(人工知能)を適用することで、さらなる自動化や効率化を図ることである。ガートナーによって、2018年ごろから提唱されている概念である。
従来のIT部門では、人間が関わる必要がある作業とプロセスが依然として多かった。例えば運用ITシステムのログを分析して、問題を早期に発見したり、原因を究明したりといった作業などである。こういった作業とプロセス(の一部)をできるだけ自動化するために、データサイエンスのアルゴリズムや機械学習(AI)の技術を応用すること、またはそのソリューションやツールなどに注目が集まっている。
AIOpsによってIT運用者の負担が減ることで、人間をより複雑な問題の対処に当たらせられるようになることが期待される(もちろんDevOps環境であれば開発チームの負担も減らせるだろう)。作業コストを抑えて進化のスピードを上げることは、ビジネス価値を高めることにつながる。デジタルトランスフォーメーションを推進する上でも、AIOps導入は大いに役立つと考えられている。
Copyright© Digital Advantage Corp. All Rights Reserved.