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

基本を学ぶ

各組織には、最初からモデルとデータセットのアーティファクトを整理するために使用できる 2 つのレジストリが含まれており、それぞれ ModelsDatasets と呼ばれます。組織のニーズに応じて、他の種類のアーティファクトを整理するためのレジストリを追加で作成できます。 registry は、1 つ以上の collection で構成されます。各 collection は、個別のタスクまたはユースケースを表します。 レジストリにアーティファクトを追加するには、まず特定のアーティファクトバージョンを W&B にログします。アーティファクトをログするたびに、W&B はそのアーティファクトに自動的にバージョンを割り当てます。アーティファクトのバージョンは 0 始まりのインデックス方式を採用しているため、最初のバージョンは v0、2 番目は v1 となり、以降同様に続きます。 アーティファクトを W&B にログしたら、その特定のアーティファクトバージョンをレジストリ内のコレクションにリンクできます。
「link」という用語は、W&B がアーティファクトを保存している場所と、そのアーティファクトがレジストリ内でアクセス可能な場所を結び付けるポインタを指します。アーティファクトをコレクションにリンクしても、W&B はアーティファクトを複製しません。
例として、次のコードでは、"my_model.txt" という名前のモデルアーティファクトを、"model" という名前のレジストリ内にある "first-collection" という名前のコレクションにログし、リンクします。
  1. wandb.init() で W&B run を初期化します。
  2. wandb.Run.log() を使ってアーティファクトを W&B にログします。
  3. アーティファクトバージョンをリンクするコレクション名とレジストリ名を指定します。
  4. wandb.Run.link_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}"
    )
指定したレジストリ内に、返された run オブジェクトで wandb.Run.link_artifact(target_path = "") メソッドに指定したコレクションが存在しない場合、W&B は自動的にコレクションを作成します。 前の例の続きとして、スクリプトを実行した後に W&B Registry を開き、組織内のあなたや他のメンバーが公開したアーティファクトバージョンを確認します。プロジェクトのサイドバーで Applications の下にある Registry を選択します。"Model" レジストリを選択します。レジストリ内に、リンクされたアーティファクトバージョンを含む "first-collection" コレクションが表示されているはずです。 レジストリ内のコレクションにアーティファクトバージョンをリンクすると、組織のメンバーは、適切な権限がある場合に、あなたのアーティファクトバージョンを閲覧ダウンロード整理、および管理したり、下流の自動化処理を作成したりできるようになります。
アーティファクトバージョンがメトリクスを記録している場合(たとえば wandb.Run.log_artifact() を使用した場合)、そのバージョンの詳細ページからメトリクスを表示でき、コレクションのページからはアーティファクトバージョン間でメトリクスを比較できます。詳細は、レジストリでリンク済みアーティファクトを表示する を参照してください。

W&B Registry を有効化する

デプロイタイプに応じて、W&B Registry を有効化するには次の条件を満たしてください。
Deployment typeHow to enable
Multi-tenant Cloud追加の操作は不要です。W&B Registry は W&B App 上で利用できます。
Dedicated Cloudデプロイメント環境で W&B Registry を有効化するには、アカウントチームに連絡してください。
Self-ManagedServer v0.70.0 以降では、追加の操作は不要です。サポートされているそれ以前の Server バージョンでは、環境変数 ENABLE_REGISTRY_UItrue に設定します。詳しくは 環境変数の設定 を参照してください。

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

ユースケースに応じて、W&B Registry を使い始める際は、次のリソースを参照してください。
  • チュートリアル動画をチェックする:
  • W&B の Model CI/CD コースを受講して、次の内容を学ぶ:
    • W&B Registry を使用してアーティファクトを管理およびバージョン管理し、リネージを追跡し、さまざまなライフサイクル段階を通じてモデルを昇格させる方法。
    • Webhook を使用して Model Management のワークフローを自動化する方法。
    • W&B Registry を外部の ML システムやツールと統合し、モデルの評価・監視・デプロイを行う方法。