レジストリ

W&B Registryは、組織内のアーティファクトバージョンの管理された中央リポジトリです。組織内で権限を持つユーザーは、すべてのアーティファクトのライフサイクルをダウンロード、共有、共同管理できます。

Registryを使用して、アーティファクトバージョンを追跡し、アーティファクトの使用履歴と変更履歴を監査し、アーティファクトのガバナンスとコンプライアンスを保証し、モデルCI/CDなどの下流プロセスを自動化できます。

要約すると、W&B Registryを使用して以下を行うことができます:

前の画像は「Model」と「Dataset」のコアレジストリとカスタムレジストリがあるRegistryアプリを示しています。

基本を学ぶ

各組織には最初にモデルとデータセットのアーティファクトを整理するためのModelsDatasetsと呼ばれる2つのレジストリが含まれています。組織のニーズに基づいて、他のアーティファクトタイプを整理するための追加のレジストリを作成することができます。

レジストリは1つ以上のコレクションで構成されています。各コレクションは、異なるタスクまたはユースケースを表しています。

レジストリにアーティファクトを追加するには、最初に特定のアーティファクトバージョンをW&Bにログします。アーティファクトをログすると、W&Bは自動的にそのアーティファクトにバージョンを割り当てます。アーティファクトバージョンは0から始まり、最初のバージョンはv0、2番目はv1というように続きます。

アーティファクトをW&Bにログしたら、その特定のアーティファクトバージョンをレジストリ内のコレクションにリンクできます。

例として、以下のコード例では、“my_model.txt"という名前のモデルアーティファクトをコアレジストリ内の"first-collection"というコレクションにログしリンクする方法を示しています:

  1. W&Bのrunを初期化します。
  2. アーティファクトをW&Bにログします。
  3. コレクションとレジストリの名前を指定して、アーティファクトバージョンをリンクします。
  4. アーティファクトをコレクションにリンクします。

このPythonコードをスクリプトとして保存し実行してください。W&B Python SDKバージョン0.18.6以上が必要です。

import wandb
import random

# アーティファクトをトラックするためにW&Bのrunを初期化
run = wandb.init(project="registry_quickstart") 

# シミュレートされたモデルファイルを作成してログします
with open("my_model.txt", "w") as f:
   f.write("Model: " + str(random.random()))

# アーティファクトをW&Bにログします
logged_artifact = run.log_artifact(
    artifact_or_path="./my_model.txt", 
    name="gemma-finetuned", 
    type="model" # アーティファクトタイプを指定
)

# 公開したいコレクションとレジストリの名前を指定
COLLECTION_NAME = "first-collection"
REGISTRY_NAME = "model"

# アーティファクトをレジストリにリンク
run.link_artifact(
    artifact=logged_artifact, 
    target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"
)

指定したレジストリ内に存在しない場合、link_artifact(target_path = "")メソッドで返されるrunオブジェクトの指定したコレクションをW&Bが自動的に作成します。

他の組織メンバーと公開したアーティファクトバージョンを表示するためにRegistryアプリに移動します。まずW&Bに移動します。左側のサイドバーでApplications以下のRegistryを選択します。「Model」レジストリを選択します。そのレジストリ内で、リンクしたアーティファクトバージョンを持つ「first-collection」コレクションが表示されるはずです。

アーティファクトバージョンをレジストリ内のコレクションにリンクすると、それを所有している組織メンバーは、適切な権限を持っていれば、あなたのアーティファクトバージョンを表示、ダウンロード、管理し、下流のオートメーションを作成できます。

W&B Registryを有効にする

デプロイメントタイプに基づいて、以下の条件を満たしてW&B Registryを有効にします:

デプロイメントタイプ 有効にする方法
マルチテナントクラウド アクションは必要ありません。W&B RegistryはW&Bアプリで利用可能です。
専用クラウド アカウントチームに連絡してください。ソリューションアーキテクト(SA)チームがあなたのインスタンスのオペレーターコンソール内でW&B Registryを有効にします。インスタンスがサーバーリリースバージョン0.59.2以上であることを確認してください。
セルフマネージド ENABLE_REGISTRY_UIと呼ばれる環境変数を有効にします。サーバーで環境変数を有効にする方法の詳細についてはこちらのドキュメントをご覧ください。セルフマネージドインスタンスでは、インフラストラクチャ管理者がこの環境変数を有効にしてtrueに設定する必要があります。インスタンスがサーバーリリースバージョン0.59.2以上であることを確認してください。

開始するためのリソース

ユースケースに応じて、W&B Registryの利用を開始するための以下のリソースを探索してください:

  • チュートリアルビデオをチェックしてください:
  • W&BのModel CI/CD コースを受講し、以下を学びましょう:
    • W&B Registryを使用してアーティファクトを管理し、バージョン管理、リネージトラッキング、および異なるライフサイクルステージへのモデルプロモートを行います。
    • Webhooksを使用してモデル管理ワークフローを自動化します。
    • 外部MLシステムおよびツールとレジストリを統合して、モデル評価、モニタリング、デプロイメントを行います。

旧モデルレジストリからW&B Registryへの移行

旧モデルレジストリの廃止予定日は未定です。旧モデルレジストリを廃止する前に、W&Bは旧モデルレジストリの内容をW&B Registryに移行します。

旧モデルレジストリからW&B Registryへの移行プロセスについて詳しくは、旧モデルレジストリからの移行を参照してください。

移行が行われるまで、W&Bは旧モデルレジストリと新しいレジストリの両方をサポートしています。

質問がある場合や移行についての懸念がある場合は、support@wandb.comにお問い合わせいただくか、W&Bプロダクトチームとお話しください。


レジストリの種類

カスタムレジストリを作成する

レジストリアクセスを設定する

コレクションを作成する

レジストリにアーティファクトバージョンをリンクする

レジストリからアーティファクトをダウンロードする

バージョンをタグで整理する

コレクションやコレクション内のアーティファクト バージョンを整理するためにタグを使用します。タグは、Python SDK または W&B アプリ UI で追加、削除、編集が可能です。

レジストリ項目を見つける

コレクションに注釈を付ける

リネージ マップを作成および表示する

W&B Registry でリネージ マップを作成する。

レガシー モデルレジストリ から移行する

モデルレジストリ

モデルレジストリでトレーニングからプロダクションまでのモデルライフサイクルを管理する