MLflow 2.0の発表

[Announcing Availability of MLflow 2\.0 \- The Databricks Blog](https://www.databricks.com/blog/2022/11/15/announcing-availability-mlflow-20.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

月間1300万以上ダウンロードされている[MLflow](https://mlflow.org/)は、エンドツーエンドのMLOpsの標準プラットフォームとなっており、あらゆる規模のチームがバッチやリアルタイム推論のために、任意のモデルを追跡、パッケージング、デプロイすることを可能にしています。Databricksでは、エンタープライズレベルの信頼性と大規模環境におけるセキュリティ、[Databricks機械学習ランタイム](https://www.databricks.com/jp/product/machine-learning-runtime)、[Feature Store](https://www.databricks.com/jp/product/feature-store)、[サーバレスリアルタイム推論](https://qiita.com/taka_yayoi/items/32266655075795f5ab65)とシームレスにインテグレーションされた[マネージドのMLflow](https://www.databricks.com/jp/product/managed-mlflow)を提供しています。数千もの企業がさまざまなプロダクション機械学習アプリケーションを実現するために、日々DatabricksでMLflowを活用しています。

本日、MLflow 2.0を発表できることを嬉しく思っています！MLflowの強力なプラットフォーム基盤をベースとして、MLflow 2.0ではデータサイエンスのワークフローをシンプルにし、革新的かつファーストクラスのMLOpsツールを提供するために、膨大なユーザーフィードバックを取り込みました。機能や改善点には、AutoML、ハイパーパラメーターチューニング、分類のサポートといったMLflow Recipes(以前のMLflow Pipelines)の拡張、MLエコシステムとのモダンなインテグレーション、整理されたMLflowトラッキングUI、MLflowプラットフォームコンポーネントにおけるコアAPIの更新などが含まれています。

# MLflow Recipesでモデル開発を加速する

MLflow Recipesによって、データサイエンティストは迅速に高品質なモデルを開発し、プロダクションにデプロイすることが可能となります。MLflow Recipesを用いることで、さまざまな
MLモデリングのタスクに対応する定義済みのソリューションレシピを用いてクイックにスタートし、Recipes実行エンジンを用いて高速にイテレーションを行い、リファクタリングをすることなしにモジュール化され、レビュー可能なモデルコードと設定をデリバリーすることで、堅牢なモデルを容易にプロダクションに移行させることができます。MLflow 2.0はコアコンポーネントとしてMLflow Recipesを取り込んでいます。また、分類モデルのサポート、改善されたデータプロファイリング、ハイパーパラメーターチューニングの機能を含む重要な拡張をおこなっています。
![](https://cms.databricks.com/sites/default/files/inline-images/db-409-blog-img-1.png)
*MLflow RecipesはAutoMLを用いて自動で高品質モデルを見つけ出します。更なるチューニングやイテレーションのために詳細なパフォーマンスに関する洞察やパラメーターが生成されます。*

また、MLflow 2.0ではMLflow RecipesにAutoMLを導入しており、高品質なモデルを生成するために必要な時間を劇的に削減します。シンプルに回帰や分類タスクにおけるデータセットとターゲットのカラムを指定すると、MLflow Recipesは最適なモデルを提供するために、自動で膨大なMLフレームワーク、アーキテクチャ、パラメーターを探索します。さらにチューングするためにモデルのパラメーターを利用でき、再現可能なリファレンスや比較のために網羅的な結果がMLflowに記録されます。

https://vimeo.com/771204653?embedded=true&source=vimeo_logo&owner=40921445

MLflow Recipesを使うには、上のデモ動画を参照いただき、[mlflow.orgのクイックスタートガイド](https://mlflow.org/docs/latest/pipelines.html#quickstarts)をチェックしてください。

> 「MLflow RecipesはML開発ワークフローの標準化や自動化に役立っています。ビルトインのビジュアライゼーションや実験追跡のインテグレーションによって、実験のスピードを改善しモデル開発プロセスを加速しています。他のチームとの連携が容易になり、デプロイに至るプロセスがシンプルになりました。」— Daniel Garcia Zapata, Data Scientist, CEMEX

# リフレッシュされたMLflowのコア体験でワークフローを整理する

MLflow 2.0においては、MLflowのユーザーやDatabricksのお客様のからの膨大なフィードバックに基づいて、コアのプラットフォームAPIやMLflowトラッキングUIを更新できたこと嬉しく思っています。シンプルになったプラットフォーム体験によって、皆様のデータサイエンスやMLOpsワークフローを整理し、プロダクションに至る時間を短縮します。

モデルをトレーニングし比較する際にベストな結果を特定しやすくするために、作成するすべてのMLflowランにはユニークかつ覚えやすい名前が割り当てられます。その後で、拡張されたMLflow検索フィルターや名前やタグによる検索体験によって、名前やIDでMLflowランのグループを容易に取得することができます。モデルをデプロイする際には、[改良されたモデルスコアリングAPI](https://docs.databricks.com/mlflow/create-manage-serverless-model-endpoints.html#scoring-a-model-endpoint)は予測の信頼区間のような追加情報を取り込んだよりリッチなリクエスト、レスポンスのフォーマットを提供します。
![](https://cms.databricks.com/sites/default/files/inline-images/db-409-blog-img-2.png)
*更新されたMLflowエクスペリメントページでは最も適切なモデルパフォーマンス情報を抽出し、エクスペリメントが進んだ際に参照できるようににベストなモデルをピン留めすることができます。MLflow 2.0においては、容易に識別・追跡できる様にすべてのランにはユニークな名前が割り振られます。*

MLflowのコアAPIの改善に加え、Mlflowトラッキングのエクスペリメントページを再設計し、最も適切なモデルの情報を抽出し、検索体験をシンプルにしました。また、新たなエクスペリメントページには、実験の進捗に合わせてベストモデルを容易に特定しやすくするために、ランをピン留めする機能を追加しています。Databricksでアップデートされたページを利用することができます。スタートするには、[サイドバーのエクスペリメントアイコン](https://docs.databricks.com/mlflow/tracking.html#mlflow-experiments)をクリックし、一つ以上のエクスペリメントを選択します。

> 「Databricksを用いることで、異なるバージョンのエクスペリメント、シミュレーション、パッケージを追跡し、組織間でモデルをパッケージ・共有し、クイックにモデルをデプロイできる様になっています。これによって、非常に早いペースで予測モデルに対するイテレーションを行うことができ、より正確な予測を行える様になっています。」— Johan Vallin, Global Head of Data Science at Electrolux

# すべての大規模環境で最新のMLツールを活用する

当初からのMLflowのオープンインタフェースの設計思想は、膨大な機械学習エコシステムとの互換性を提供しつつも、すべてのML実践者が自身の好きなツールを活用できる様にすることで、エンドツーエンドの機械学習ワークフローをシンプルにし続けています。MLflow 2.0においては、最新かつ偉大な機械学習フレームワークやライブラリに対するファーストクラスのサポートを提供するという我々のコミットメントをさらに強化しました。

このため、MLflow 2.0にはTensorFlowとKerasに対して改善されたインテグレーションが含まれており、共通インタフェースによって両方のモデルに対して統合されたロギングとスコアリングの機能が提供されています。また、モダン化された[mlflow\.tensorflow](https://mlflow.org/docs/latest/python_api/mlflow.tensorflow.html)には、Kerasを使用しているデータサイエンティストに対するシンプルさを維持しつつも、TensorFlow Core APIを使用しているパワーユーザー向けに素晴らしい体験を提供します。
![](https://cms.databricks.com/sites/default/files/inline-images/db-409-blog-img-3.png)
*MLflow 2.0のmlflow.evaluate() APIは、すべてのMLflowモデルに対してリッチなモデルパフォーマンスと説明可能性に関するレポートを生成します。*

さらに、MLflow 2.0ではモデル評価のための[mlflow\.evaluate\(\)](https://mlflow.org/docs/latest/python_api/mlflow.html#mlflow.evaluate) APIが安定版となりプロダクションで使用できる様になりました。1行のコードで`mlflow.evaluate()`はすべてのMLモデル位対する包括的なパフォーマンスレポートを作成します。シンプルにデータセットとMLflowモデルを指定すると、`mlflow.evaluate()`はあなたのモデリング問題に応じたパフォーマンスのメトリクス、パフォーマンスのプロット、モデル説明可能性に関する洞察を生成します。また、事前定義した閾値に対してモデルのパフォーマンスを検証し、ベースラインに対する新規モデルのパフォーマンスを比較するために`mlflow.evaluate()`を使うことができ、プロダクションの要件にモデルが合致していることを保証することができます。ブログ記事[MLflowにおけるモデル評価](https://qiita.com/taka_yayoi/items/7457d7e04d80d3c4eec2)や[model evaluation documentation on mlflow\.org\.](https://mlflow.org/docs/latest/models.html#model-evaluation)をチェックしてみてください。

> 「我々が行なっていることの多くは機械学習やAIに関することです。MLflowはモデルライフサイクル管理を改善するための鍵となっており、これらのモデルの結果や成果を可視化することが可能となっています。」— Anurag Sehgal, Managing Director, Head of Global Markets, Credit Suisse

# DatabricksでマネージドMLflow 2.0を使い始める

DatabricksでマネージドMLflow 2.0を試してみることをお勧めします！すでにDatabricksユーザーなのであれば、MLflow 2.0は[Databricks機械学習ランタイム](https://www.databricks.com/jp/product/machine-learning-runtime)バージョン12.0にプレインストールされています。スタートするにはDatabricks MLflowガイドをご覧ください[[AWS](https://docs.databricks.com/mlflow/index.html)][[Azure](https://learn.microsoft.com/en-gb/azure/databricks/mlflow/)][[GCP](https://docs.gcp.databricks.com/mlflow/index.html)]。Databricksユーザーでない場合には、詳細を学ぶために[databricks\.com/jp/product/managed\-mlflow](https://www.databricks.com/jp/product/managed-mlflow)をご覧いただき、DatabricksやマネージドMLflow 2.0のフリートライアルを試してみてください。MLflow 2.0における新機能、改善項目の完全な一覧は[release changelog](https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md)をご覧下さい。

マネージドMLflow 2.0は、オープンな[レイクハウス](https://www.databricks.com/jp/product/data-lakehouse)アーキテクチャに構築されたエンドツーエンドのプロダクション機械学習のためのDatabricksプラットフォームの一部です。これには、[Feature Store](https://www.databricks.com/jp/product/feature-store)や[サーバレスリアルタイム推論](https://qiita.com/taka_yayoi/items/32266655075795f5ab65)も含まれています。Databricks Machine Learningに関しては、[databricks\.com/jp/product/machine\-learning](https://www.databricks.com/jp/product/machine-learning)をご覧ください。Databricks Machine Leaningを用いたMLOpsワークフローの標準化やスケールをどの様に行うのかに関しては、[The Big Book of MLOps](https://www.databricks.com/p/ebook/the-big-book-of-mlops)をチェックしてみてください。

# 次に来るのは

MLflowの新リリースによってあなたが何をするのかに興味はありますが、改善されたビジュアライゼーションによる新たなラン比較の体験を含む、MLflow UIに対する更なる改善に我々は取り組んでいます。また、MLflowトラッキングとDatabricksレイクハウスプラットフォームとのインテグレーションを深めています。[こちら](https://github.com/mlflow/mlflow/milestone/3)からロードマップを探索することができます。もちろん、皆様からのインプットや後見はウェルカムです。


### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)