MLflow とは?

MLflow

MLflow

NRIのOpenStandiaが提供するMLflow最新情報

OSSの保守サポートサービスの内容はこちら OSSの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

MLflowバージョンアップ情報

すべてを見る

更新日:2022-09-27

MLflowの概要

MLflowは、実験、再現、デプロイ、モデルの保存など、機械学習のライフサイクルを管理するためのオープンソースプラットフォームです。MLflowを使用すると、機械学習の実験結果を追跡して整理し、他の機械学習エンジニアに説明したり、機械学習モデルをパッケージ化し、デプロイしたりすることができます。大規模な組織での利用が可能になるようにスケーラビリティを考慮した設計がされていますが、個人のユーザーにも最適なOSSです。

TOPに戻る

MLflowの機能

現在、MLflowは次の4つのコンポーネントを提供しています。

  • MLflow Tracking
    実験(コード、データ、設定、結果)の記録と検索を行う
  • MLflow Projects
    任意のプラットフォームでコードの実行を再現できる形式でパッケージ化する
  • MLflow Models
    多様なサービス環境に機械学習モデルをデプロイする
  • MLflow Registry
    セントラルリポジトリでモデルを保存、アノテーション付け、検出、および管理を行う

それぞれについてもう少し詳しく紹介します。

MLflow Tracking

MLflow Trackingにより、実験の記録と検索が可能です。コードのバージョンや使用したハイパーパラメータ、実行結果などの情報をファイルやRDBMSに保存し、GUIで解析することができます。

MLflow Tracking
以下の例のように、リモートMLflow Tracking Server、
バックエンドエンティティストレージ用のPostgreSQL、およびアーティファクトストレージ用のS3バケットを備えた分散アーキテクチャもサポートします。

MLflow Projects

MLflow Projectsは、他者のコードの再利用と実行結果の再現ができるようにするためのパッケージングを行います。以下のようなYAML形式のテキストファイルをプロジェクトのルートディレクトリに追加することで、MLflowプロジェクトを制御します。


name: My Project

conda_env: my_env.yaml
# Can have a docker_env instead of a conda_env, e.g.
# docker_env:
#    image:  mlflow-docker-example

entry_points:
  main:
    parameters:
      data_file: path
      regularization: {type: float, default: 0.1}
    command: "python train.py -r {regularization} {data_file}"
  validate:
    parameters:
      data_file: path
    command: "python validate.py {data_file}"

MLflow Models

学習したモデルを決められたフォーマットでパッケージングしたり、デプロイする機能です。学習済みのモデルを利用するために必要なCondaやDockerの環境を構築したり、学習済みのモデルで推論を行うREST APIサーバーを起動することが、以下のようにコマンド1つでできます。

$ mlflow models serve --model-uri my_model

MLflow Registry

MLflow Registryは、MLflowモデルのライフサイクル全体を共同で管理するための、一元化されたモデルストア、APIのセット、およびUIです。提供される機能は、モデルの系統(モデルが作成されたMLflowの実験と実行)のバージョンの管理、ステージの移行(ステージングから本番への移行など)、およびアノテーションなどです。

TOPに戻る

MLflowの主な特徴

MLflowの公式サイトでは、主な特徴として以下の4つを挙げています。

MLflow 特徴


  • 機械学習のライブラリやプログラミング言語に依存せず、既存のコードでも動作する
  • どのクラウドサービスでも同じように実行できる
  • 1人のユーザーの利用から大規模な組織での利用まで利用規模に応じて、スケールするように設計されている
  • ビッグデータに対してApache Sparkを使用したスケーリングが可能

TOPに戻る

MLflowのライセンス

MLflowのライセンスは、Apache License 2.0となっており、ユーザーはそのソフトウェアの使用や頒布、修正、派生版の頒布をすることに制限を受けません。

MLflowのライセンスについてご不明な点がありましたら、お気軽にお問い合わせください。

TOPに戻る

MLflowと同類のソフトウェア

機械学習のライフサイクル管理を行うものとして、商用のクラウドサービスのNeptuneやWeights & Biasesがあります。

TOPに戻る

関連OSS

TOPに戻る

参考情報

TOPに戻る

MLflowのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO