メインコンテンツへスキップ
W&B Registry は、組織内の W&B Artifact バージョン を厳選して集約した中央リポジトリです。組織内で 権限を持つ Users は、所属するチームに関係なく、artifact をダウンロードして使用し、共有し、すべての artifact のライフサイクルを共同で管理できます。 Registry を使用すると、artifact バージョンをトラッキングし、artifact の使用状況や変更履歴を監査し、artifact のガバナンスとコンプライアンスを確保し、モデル CI/CD などの下流プロセスを自動化できます。 要約すると、W&B Registry では次のことができます。 次の画像は、W&B Registry のランディングページです。Model という Registry がスター付きになっています。DemoModelsZoo_Classifier_Models の 2 つのコレクションが表示されています。
W&B Registry

基本を学ぶ

各組織には最初から 2 つの Registry があり、モデルとデータセットの artifact を整理できる ModelsDatasets がそれぞれ含まれています。組織のニーズに応じて、他の artifact タイプを整理するための Registry を追加で作成することもできます。 Registryは、1 つ以上のコレクションで構成されます。各コレクションは、それぞれ異なるタスクやユースケースを表します。 artifact を Registry に追加するには、まず 特定の artifact バージョンを W&B にログします。artifact をログするたびに、W&B はその artifact に自動的にバージョンを割り当てます。artifact バージョンは 0 始まりのインデックスを使用するため、最初のバージョンは v0、2 番目のバージョンは v1 となり、以降も同様です。 artifact を W&B にログしたら、その特定の artifact バージョンを Registry 内の コレクション にリンクできます。
“link” という用語は、W&B が artifact を保存している場所と、Registry で artifact にアクセスできる場所をつなぐポインタを指します。artifact を コレクション にリンクしても、W&B が artifact を複製することはありません。
例として、次のコードでは、"my_model.txt" という名前のモデル artifact を、"model" という Registry 内の "first-collection" という名前の コレクション にログしてリンクします。
  1. wandb.init() で W&B Run を初期化します。
  2. wandb.Run.log() で artifact を W&B にログします。
  3. artifact バージョンのリンク先となる コレクション と Registry の名を指定します。
  4. wandb.Run.link_artifact() を使用して artifact を コレクション にリンクします。
この Python コードをスクリプトとして保存し、実行してください。W&B Python SDK バージョン 0.18.6 以降が必要です。
hello_collection.py
import wandb
import random

# アーティファクトをトラッキングするためにW&B Runを初期化する
with wandb.init(project="registry_quickstart") as run:
    # ログするためのモデルファイルのサンプルを作成する
    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}"
    )
指定した Registry 内に、返された run オブジェクトの wandb.Run.link_artifact(target_path = "") method で指定したコレクションが存在しない場合、W&B はそのコレクションを自動的に作成します。 前の例の続きとして、スクリプトを実行した後、W&B Registry にアクセスして、自分や組織内の他のメンバーが公開した artifact バージョンを確認します。プロジェクトのサイドバーで Applications の下にある Registry を選択します。"Model" Registry を選択します。Registry 内に、リンクした artifact バージョンを含む "first-collection" コレクションが表示されるはずです。 artifact バージョンを Registry 内のコレクションにリンクすると、適切な権限を持つ組織のメンバーは、その artifact バージョンを表示ダウンロード整理、管理したり、下流の automation を作成したりできるようになります。
artifact バージョンがメトリクスをログしている場合 (たとえば wandb.Run.log_artifact() を使用する場合) 、そのバージョンの詳細ページからメトリクスを確認でき、コレクションのページから artifact バージョン間のメトリクスを比較できます。詳しくは、レジストリ内のリンクされた artifact を表示するを参照してください。

W&B Registry を有効にする

デプロイタイプに応じて、W&B Registry を有効にするには次の条件を満たしてください。
デプロイタイプ有効化方法
Multi-tenant Cloud対応は不要です。W&B Registry は W&B App で利用できます。
専用クラウドお使いのデプロイで W&B Registry を有効にするには、担当のアカウントチームにお問い合わせください。
セルフマネージドServer v0.70.0 以降では、対応は不要です。それ以前のサポート対象の Server バージョンでは、環境変数 ENABLE_REGISTRY_UItrue に設定してください。環境変数を設定する を参照してください。

利用開始に役立つリソース

ユースケースに応じて、W&B Registry の利用開始に役立つ以下のリソースをご覧ください。
  • チュートリアル動画をご覧ください:
  • W&B の Model CI/CD コースを受講して、次の内容を学びましょう:
    • W&B Registry を使用して Artifacts を管理・バージョン管理し、リネージをトラッキングし、モデルを異なるライフサイクル段階へ進める方法。
    • webhook を使用してモデル管理ワークフローを自動化する方法。
    • モデルの評価、モニタリング、デプロイのために、Registry を外部の ML システムやツールと統合する方法。