新しい MLOps 機能を利用して機械学習モデルを運用環境に移行する

執筆者: Microsoft Azure

このポストは、2019 年 5 月 9 日に投稿された Take your machine learning models to production with new MLOps capabilities の翻訳です。

 

今回は、Microsoft Azure のシニア プログラム マネージャーを務める Jordan Edwards の記事をご紹介します。

Microsoft Build 2019 で、私たちは Azure Machine Learning サービスの MLOps 機能を発表しました。MLOps は機械学習用の DevOps とも呼ばれる機能であり、データ サイエンティストと DevOps 担当者の間のコラボレーションやコミュニケーションを促進し、機械学習 (ML) ライフサイクルの運用環境の管理を支援します。

Azure Machine Learning サービスの MLOps 機能は、お客様に資産管理とオーケストレーションのためのサービスを提供するもので、効果的な ML ライフサイクル管理を可能にしてくれます。MLOps 機能の発表は、お客様の機械学習モデルの安全な運用環境への移行を実現し、ビジネス上の主な問題をこれまで以上に迅速かつ正確に解決できるように支援するという Azure の目的を表すものです。

Quote from Eric Boyed, VP of C+AI - "We have heard from customers everywhere that they want to adopt ML but struggle to actually get modles into production. With the new MLOps capabilities in Azure Machine Learning, bringing ML to add calue to your business has become better, faster, and more reliable than ever before."

An Image showing Azure MLOps.

それでは、新機能の一部をご紹介していきましょう。

Azure Machine Learning コマンドライン インターフェイス (CLI)

Azure Machine Learning の管理プレーンには、これまで Python SDK が利用されてきましたが、新しい Azure Machine Learning CLI を使用すると、ML ワークスペースに対して以下をはじめとする幅広い自動化タスクを簡単に実行できるようになります。

  • コンピューティング先の管理
  • 実験の送信
  • モデルの登録とデプロイ

管理機能

Azure Machine Learning サービスに、ML ライフサイクルで使用されるコード、データ、環境を管理する新機能が導入されました。

An Image showing the ML lifecycle: Train Model to Package Model to Validate Model to Deploy Model to Monitor Model, to Retrain Model.

コード管理

Git リポジトリは、ソース管理やソフトウェア開発ライフサイクルの重要な資産として業界で一般的に使用されています。今回、Git リポジトリ追跡機能の最初のバージョンが追加され、コード アーティファクトを Azure Machine Learning サービスに送信する場合に、常に Git リポジトリ参照を指定できるようになりました。これは、Azure Pipelines などの CI/CD ソリューションから実行する場合に自動的に行われます。

データセット管理

Azure Machine Learning のデータセットでは、データのバージョン管理、プロファイル、スナップショット作成を行い、同じデータにアクセスしてトレーニング プロセスを再現できます。また、データセットのプロファイルを比較して、変更されたデータの分量や、モデルの再トレーニングが必要かどうかを判断することもできます。

環境管理

Azure Machine Learning の環境は、データの準備、モデルのトレーニング、推論など、Azure Machine Learning の各シナリオ間で共有されます。環境を共有することで、トレーニングから推論への引き継ぎや、ローカルでのトレーニング環境の再現を簡素化できます。

これらの環境では、Docker イメージの自動管理 (およびキャッシング) 機能に加えて、再現性を合理化する追跡機能が提供されます。

モデルのデバッグとデプロイの簡素化

一部のデータ サイエンティストは、ML モデルを運用環境システムで実行できるようにするための準備に苦労しています。この負担を軽減するために、ML モデルをクラウドにプッシュする前に、ML モデルをローカルでパッケージ化してデバッグできる新機能を導入しました。これにより、パッケージ化したモデルがデータセンターに到達する前に、内部ループを反復して十分な推論サービスに達するまでの時間が大幅に短縮されます。

モデルの検証とプロファイル

データ サイエンティストがよく直面するもう 1 つの課題は、モデルをクラウドやエッジにデプロイした後、想定どおりに機能することを保証することです。新しいモデルの検証機能とプロファイル機能を使用すれば、モデルにサンプル入力クエリを提供できます。パッケージ化したモデルが自動的にデプロイされ、さまざまな推論 CPU/メモリ構成がテストされて、最適なパフォーマンス プロファイルが決定されます。また、これらのクエリに対する推論サービスの応答が正確であることも確認されます。

モデルの解釈性

データ サイエンティストは、モデルが特定の方法で予測する理由を理解する必要があります。新しいモデルの解釈機能を使用すると、トレーニング中や推論中にモデルが特定の方法で動作する理由を説明できるようになります。

ML の監査証跡

Azure Machine Learning は、モデルのトレーニングとデプロイのプロセスのすべてのアーティファクトを管理するために使用されます。新しい監査証跡機能を使用すると、登録済みの ML モデルに対応する実験とデータセットが自動的に追跡されます。このため、「このモデルの作成に使用されたコード/データはどれか?」という質問に答えられるようになります。

機械学習用の Azure DevOps 拡張機能

Azure DevOps では、データ サイエンティストがコード、作業項目、CI/CD パイプラインの管理に使用している一般的なツールが提供されます。機械学習用の Azure DevOps 拡張機能に、ソフトウェア開発プロセスと同じツールを使用して ML の CI/CD パイプラインを簡単に管理できるようにする新機能が導入されました。これには、モデルの登録時に Azure Pipelines のリリースをトリガーする機能、Azure Machine Learning ワークスペースを Azure DevOps プロジェクトに簡単に接続する機能のほか、既存の自動化ツールから Azure Machine Learning の操作をできるだけ簡単にするために設計された一連のタスクを実行する機能が含まれます。

今すぐご利用ください

今回ご紹介した Azure Machine Learning サービスの新しい MLOps 機能の目標は、ユーザーが ML シナリオを運用環境に移行できるように、エンドツーエンドの ML ライフサイクルの再現性、監査性、自動化をサポートすることです。今後数週間をかけて、これらの機能について詳しく説明する記事をいくつか公開していく予定です。最新の情報をぜひチェックしてください。