Log models
3 minute read
モデルのログ
以下のガイドでは、モデルを W&B の run に記録し、それらを操作する方法について説明します。
以下の API は、実験管理のワークフローの一部としてモデルを追跡するのに役立ちます。このページに記載されている API を使用して、モデルを run に記録し、メトリクス、テーブル、メディア、その他のオブジェクトにアクセスします。
以下のことを行いたい場合は、W&B Artifacts を使用することをお勧めします。
- モデル以外に、データセット、プロンプトなど、シリアル化されたデータのさまざまなバージョンを作成および追跡する。
- W&B で追跡されるモデルまたはその他のオブジェクトのリネージグラフを調べる。
- これらのメソッドで作成されたモデル artifacts を操作する(プロパティの更新 (メタデータ、エイリアス、および説明) など)。
W&B Artifacts および高度なバージョン管理のユースケースの詳細については、Artifacts のドキュメントを参照してください。
モデルを run に記録する
指定したディレクトリー内のコンテンツを含むモデル artifact を記録するには、log_model
を使用します。log_model
メソッドは、結果のモデル artifact を W&B run の出力としてもマークします。
モデルを W&B run の入力または出力としてマークすると、モデルの依存関係とモデルの関連付けを追跡できます。W&B App UI 内でモデルのリネージを表示します。詳細については、Artifacts チャプターの アーティファクトグラフの探索とトラバース ページを参照してください。
モデルファイルが保存されているパスを path
パラメーターに指定します。パスは、ローカルファイル、ディレクトリー、または s3://bucket/path
などの外部バケットへの参照 URIにすることができます。
<>
で囲まれた値は、独自の値に置き換えてください。
オプションで、name
パラメーターにモデル artifact の名前を指定します。name
が指定されていない場合、W&B は入力パスのベース名を run ID を先頭に付加したものを名前として使用します。
name
を記録しておいてください。use_model
メソッドでモデルパスを取得するには、モデルの名前が必要です。可能なパラメーターの詳細については、API Reference ガイドの log_model
を参照してください。
例: モデルを run にログ記録する
ユーザーが log_model
を呼び出すと、MNIST
という名前のモデル artifact が作成され、ファイル model.h5
がモデル artifact に追加されました。ターミナルまたはノートブックには、モデルがログに記録された run に関する情報を見つける場所の情報が表示されます。
ログに記録されたモデルをダウンロードして使用する
以前に W&B run に記録されたモデルファイルにアクセスしてダウンロードするには、use_model
関数を使用します。
取得するモデルファイルが保存されているモデル artifact の名前を指定します。指定する名前は、既存のログに記録されたモデル artifact の名前と一致する必要があります。
log_model
でファイルを最初にログに記録したときに name
を定義しなかった場合、割り当てられるデフォルトの名前は、入力パスのベース名に run ID が付加されたものです。
<>
で囲まれた他の値は必ず置き換えてください。
use_model 関数は、ダウンロードされたモデルファイルのパスを返します。このモデルを後でリンクする場合は、このパスを記録しておいてください。上記のコードスニペットでは、返されたパスは downloaded_model_path
という名前の変数に格納されています。
例: ログに記録されたモデルをダウンロードして使用する
たとえば、上記のコードスニペットでは、ユーザーが use_model
API を呼び出しました。取得するモデル artifact の名前と、バージョン/エイリアスを指定しました。次に、API から返されたパスを downloaded_model_path
変数に格納しました。
可能なパラメーターと戻り値の型の詳細については、API Reference ガイドの use_model
を参照してください。
モデルをログに記録して W&B Model Registry にリンクする
link_model
メソッドは、現在、間もなく非推奨になる従来の W&B Model Registry とのみ互換性があります。新しいエディションのモデルレジストリにモデル artifact をリンクする方法については、Registry のドキュメントを参照してください。link_model
メソッドを使用して、モデルファイルを W&B run にログ記録し、W&B Model Registry にリンクします。登録済みモデルが存在しない場合、W&B は registered_model_name
パラメーターに指定した名前で新しいモデルを作成します。
モデルをリンクすることは、チームの他のメンバーが表示および利用できるモデルの一元化されたチームリポジトリにモデルを「ブックマーク」または「公開」することに似ています。
モデルをリンクすると、そのモデルは Registry で複製されたり、project から移動してレジストリに移動したりすることはありません。リンクされたモデルは、project 内の元のモデルへのポインターです。
Registry を使用して、タスクごとに最適なモデルを整理し、モデルライフサイクルを管理し、ML ライフサイクル全体で簡単な追跡と監査を促進し、webhook またはジョブでダウンストリームアクションを自動化します。
Registered Model は、Model Registry 内のリンクされたモデルバージョンのコレクションまたはフォルダーです。登録済みモデルは通常、単一のモデリングユースケースまたはタスクの候補モデルを表します。
上記のコードスニペットは、link_model
API でモデルをリンクする方法を示しています。<>
で囲まれた他の値は必ず置き換えてください。
オプションのパラメーターの詳細については、API Reference ガイドの link_model
を参照してください。
registered-model-name
が Model Registry 内に既に存在する登録済みモデルの名前と一致する場合、モデルはその登録済みモデルにリンクされます。そのような登録済みモデルが存在しない場合は、新しいモデルが作成され、モデルが最初にリンクされます。
たとえば、Model Registry に "Fine-Tuned-Review-Autocompletion"
という名前の既存の登録済みモデルがあるとします (例はこちらを参照)。また、いくつかのモデルバージョンが既にリンクされているとします: v0、v1、v2。link_model
を registered-model-name="Fine-Tuned-Review-Autocompletion"
で呼び出すと、新しいモデルはこの既存の登録済みモデルに v3 としてリンクされます。この名前の登録済みモデルが存在しない場合は、新しいモデルが作成され、新しいモデルは v0 としてリンクされます。
例: モデルをログに記録して W&B Model Registry にリンクする
たとえば、上記のコードスニペットはモデルファイルをログに記録し、モデルを登録済みモデル名 "Fine-Tuned-Review-Autocompletion"
にリンクします。
これを行うには、ユーザーは link_model
API を呼び出します。API を呼び出すときに、モデルのコンテンツを指すローカルファイルパス (path
) と、リンク先の登録済みモデルの名前 (registered_model_name
) を指定します。
[i18n] feedback_title
[i18n] feedback_question
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.