はじめに

完了

利用できるデータが増え、コンピューティング能力が民主化され、モデルのトレーニングに使われるアルゴリズムが進歩したことにより、あらゆる組織で機械学習プロジェクトが増加しています。

ただし、機械学習プロジェクトを採用してスケーリングするときの主な障害の 1 つは、明確な戦略の欠如と組織のサイロです。

MLOps

機械学習の運用または MLOps の目的は、概念実証またはパイロット プロジェクトから運用環境の機械学習ワークロードに、より効率的にスケーリングすることです。

MLOps を実装すると、機械学習ワークロードを堅牢で再現可能なものにするのに役立ちます。 たとえば、運用環境のモデルを常に維持しながら、必要に応じていつでもモデルの監視、再トレーニング、再デプロイを行うことができます。

MLOps の目的は、機械学習のライフサイクルをスケーラブルにすることです。

  1. モデルのトレーニング
  2. モデルをパッケージ化する
  3. モデルを検証する
  4. モデルのデプロイ
  5. モデルを監視する
  6. モデルを再トレーニングする

Machine learning lifecycle

MLOps には、複数のロールと複数のツールが必要です。 データ科学者は、多くの場合、モデルのトレーニングに関連するすべてのタスク (内側のループとも呼ばれます) に注目します。

モデルをパッケージ化してデプロイするため、データ科学者は、DevOps のプラクティスを適用する機械学習エンジニアの助けを借りて、機械学習モデルをスケーリングする場合があります。

トレーニング済みのモデルを取得して運用環境にデプロイすることは、多くの場合、外側のループと呼ばれます。 外側のループでは、モデルのパッケージ化、検証、デプロイ、監視が行われます。 モデルの再トレーニングが必要であると判断したら、内側のループに戻ってモデルを変更します。

DevOps

アジャイル計画などの DevOps の原則を使うと、チームが作業を整理し、成果物をより迅速に生成するのに役立ちます。 ソース管理を使うと、プロジェクトでのコラボレーションを容易にすることができます。 自動化を使うと、機械学習のライフサイクルを高速化できます。

このモジュールでは、これらの DevOps の原則を紹介し、よく使われる 2 つのツール Azure DevOpsGitHub に光を当てます。

学習の目的

このモジュールでは、次のことを学習します。

  • DevOps が機械学習プロジェクトに役立つ理由。
  • 機械学習プロジェクトに適用できる DevOps 原則。
  • Azure DevOps と GitHub を Azure Machine Learning とつなぐ方法。