はじめに
利用できるデータが増え、コンピューティング能力が民主化され、モデルのトレーニングに使われるアルゴリズムが進歩したことにより、あらゆる組織で機械学習プロジェクトが増加しています。
ただし、機械学習プロジェクトを採用してスケーリングするときの主な障害の 1 つは、明確な戦略の欠如と組織のサイロです。
MLOps
機械学習の運用または MLOps の目的は、概念実証またはパイロット プロジェクトから運用環境の機械学習ワークロードに、より効率的にスケーリングすることです。
MLOps を実装すると、機械学習ワークロードを堅牢で再現可能なものにするのに役立ちます。 たとえば、運用環境のモデルを常に維持しながら、必要に応じていつでもモデルの監視、再トレーニング、再デプロイを行うことができます。
MLOps の目的は、機械学習のライフサイクルをスケーラブルにすることです。
- モデルのトレーニング
- モデルをパッケージ化する
- モデルを検証する
- モデルのデプロイ
- モデルを監視する
- モデルを再トレーニングする
MLOps には、複数のロールと複数のツールが必要です。 データ科学者は、多くの場合、モデルのトレーニングに関連するすべてのタスク (内側のループとも呼ばれます) に注目します。
モデルをパッケージ化してデプロイするため、データ科学者は、DevOps のプラクティスを適用する機械学習エンジニアの助けを借りて、機械学習モデルをスケーリングする場合があります。
トレーニング済みのモデルを取得して運用環境にデプロイすることは、多くの場合、外側のループと呼ばれます。 外側のループでは、モデルのパッケージ化、検証、デプロイ、監視が行われます。 モデルの再トレーニングが必要であると判断したら、内側のループに戻ってモデルを変更します。
DevOps
アジャイル計画などの DevOps の原則を使うと、チームが作業を整理し、成果物をより迅速に生成するのに役立ちます。 ソース管理を使うと、プロジェクトでのコラボレーションを容易にすることができます。 自動化を使うと、機械学習のライフサイクルを高速化できます。
このモジュールでは、これらの DevOps の原則を紹介し、よく使われる 2 つのツール Azure DevOps と GitHub に光を当てます。
学習の目的
このモジュールでは、次のことを学習します。
- DevOps が機械学習プロジェクトに役立つ理由。
- 機械学習プロジェクトに適用できる DevOps 原則。
- Azure DevOps と GitHub を Azure Machine Learning とつなぐ方法。