MLOps Academy · レッスン

MLflow Model Flavor

依存関係とシグネチャを含めてモデルをパッケージ化します。

レッスン 2/413 ステップ

「MLflow Model Flavor」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。

単なるファイルの先へ

pickleファイルは、単なるバイト列にすぎません。MLflowはモデルを自己記述型のフォルダーにまとめ、読み込み方法を推測しなくても誰でも使えるようにします。📦

flavorとは

MLflowのflavorとは、sklearnやpytorchのような既知の形式で、モデルの保存方法と読み込み方法をMLflowに正確に伝えるものです。

1つのモデルに複数のflavor

1つの保存済みモデルに複数のflavorを持たせることができます。これにより、同じartifactを異なるツールから、それぞれの方法で読み込めます。

flavorを指定して保存する

対応するモジュールを使ってモデルを記録します。scikit-learnの場合は、runの中でmlflow.sklearn.log_modelを呼び出します。

import mlflow.sklearn
mlflow.sklearn.log_model(model, name='model')

MLmodelファイル

保存されたモデルには、flavor、signature、再読み込み方法を記載したMLmodel YAMLファイルが必ず含まれます。モデルの身分証明書のようなものです。

依存関係も一緒に保存される

MLflowは、モデルに必要なライブラリをconda.yamlまたはrequirementsファイルに記録するため、後から同じ環境を再構築できます。

pyfunc flavor

ほとんどのモデルには、汎用的なpyfunc flavorも付与されます。内部のフレームワークに関係なく、1つのシンプルなpredict呼び出しを提供します。🔑

pyfuncとして読み込む

pyfunc経由で読み込むと、predictを持つ汎用オブジェクトが得られるため、フレームワークが変わってもサービングコードは同じままです。

import mlflow.pyfunc
m = mlflow.pyfunc.load_model('runs:/<id>/model')
m.predict(X)

ネイティブ形式に戻して読み込む

対応するローダーを使えば、元のフレームワークの形式で再読み込みすることもできます。汎用wrapperではなく、完全なネイティブオブジェクトを取得できます。

model = mlflow.sklearn.load_model('runs:/<id>/model')

カスタムpyfuncモデル

組み込みのflavorが合わない場合は、PythonModelをサブクラス化し、独自のpredictを記述して、任意のロジックをpyfunc形式でラップします。

class MyModel(mlflow.pyfunc.PythonModel):
    def predict(self, ctx, X):
        return self.run(X)

重要な理由

flavorによって、モデルは本当の意味で移植可能になります。学習、レジストリ、サービングが、専用のformat変換コードなしで同じ形式を扱えるためです。

理解度チェック

MLflowのflavorについての理解度を確認しましょう。

まとめ

MLflowモデルは、flavors、MLmodelファイル、固定された依存関係を含む自己記述型のフォルダーです。ネイティブ形式でも汎用pyfuncとしてでも読み込めます。🎉

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「MLflow Model Flavor」レッスンは無料ですか?

はい。「MLflow Model Flavor」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MLOps Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MLOps Academyコースには全4レッスンが含まれています。

「MLflow Model Flavor」で何を学びますか?

依存関係とシグネチャを含めてモデルをパッケージ化します。 ブラウザで直接実行するハンズオンコードでMLOps Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

MLOps Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのMLOps Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「MLflow Model Flavor」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このMLOps Academyレッスンでコードを書いて実行できますか?

はい。すべてのMLOps Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. PickleとJoblibでシリアライズする
  2. MLflow Model Flavor
  3. 移植性のためにONNXへエクスポートする
  4. モデルのシグネチャとスキーマを定義する
← MLOps Academyに戻る