Databricks で MLflow 使ってみる – 概要編 –

はじめに

Databricks で MLflow を使う機会があったのでまとめてみました。
本記事では、Databricks で MLflow を利用する方に向けて、解説をしていきます。
詳細については以下の内容です。

  • MLflow 概要
  • MLflow 導入のメリット
  • MLflow コンポーネント概要

実際に Databricks 上で MLflow を使ってみるパートは近日公開します。

MLflow 概要

機械学習ライフサイクルを管理するためのオープンソースプラットフォームです。
MLflow は、以下の4つのコンポーネントから構成されています。
image.png

MLflow 導入のメリット

機械学習モデルを開発するにあたって、以下のような問題が発生することがあります。
image.png

→この問題を解決し、機械学習モデルの管理などをやりやすくしてくれるオープンソースプラットフォームが、MLflow です。

MLflow コンポーネント概要

MLflow Tracking

  • 機械学習コードの実行時にパラメーター、コードバージョン、メトリック、および出力ファイルをログに記録し、後で結果を視覚化するためのAPIおよびUIです。
  • Python、REST、R API 、およびJavaAPIを使用して実験をログに記録してクエリを実行できます。
    image.png

MLflow Projects

  • 機械学習を実行するための情報を、MLflow Projects というファイルにパッケージ化することで、機械学習モデルの実験を再現しやすくできます。
  • MLflow Projects ファイルには実行するコマンドや実験実行環境設定ファイルなどが記述してあります。
  • 実験実行環境設定ファイルには、依存するライブラリの情報などを記載することで、実行時にその環境が再現できるようになっています。
    image.png

MLflow Models

  • 学習済み機械学習モデルを MLflow Models でパッケージ化することによって、複数プラットフォームのモデルを統一的に扱えるようにできます。
  • REST API を介したリアルタイム推論や Apache Spark でのバッチ推論、Azure MLへのデプロイなどが可能です。
    image.png

MLflow Registry

  • MLflow モデルのライフサイクル全体を共同で管理できるようになります。
  • モデルのバージョン管理、ステージング管理などが可能です。
    image.png

MLflow コンポーネントのまとめ

機械学習ライフサイクルを管理するためのオープンソースプラットフォームです。
MLflow は、以下の4つのコンポーネントから構成されています。
このコンポーネントを利用し、機械学習モデルの管理をしていきます。
コンポーネントの詳細は以下です。
image.png

この記事を書いた人

aws-recipe-user