メインコンテンツへスキップ
1 つ以上のエイリアスを使って特定のアーティファクトバージョンを参照します。W&B は自動的にエイリアスを割り当てて、同じ名前でリンクされた各アーティファクトに付与します。特定のアーティファクトバージョンを参照するために、カスタムエイリアスを 1 つ以上作成することもできます。 エイリアスは Registry の UI 上で、そのエイリアス名が書かれた長方形として表示されます。エイリアスが保護されている場合は、鍵アイコン付きの灰色の長方形として表示されます。そうでない場合、エイリアスはオレンジ色の長方形として表示されます。エイリアスはレジストリ間で共有されません。
エイリアスとタグの使い分けエイリアスは、特定のアーティファクトバージョンを参照するために使用します。コレクション内の各エイリアスは一意であり、特定のエイリアスを持てるアーティファクトバージョンは同時に 1 つだけです。タグは、共通のテーマに基づいてアーティファクトバージョンやコレクションを整理・グループ化するために使用します。複数のアーティファクトバージョンやコレクションが同じタグを共有できます。
アーティファクトバージョンにエイリアスを追加する際、オプションで Registry automation を実行して、Slack チャンネルへの通知や Webhook のトリガーを行うことができます。

デフォルトのエイリアス

W&B は、同じ名前でリンクされた各アーティファクトバージョンに対して、自動的に次のエイリアスを割り当てます。
  • コレクションに対してもっとも最近リンクされたアーティファクトバージョンには、latest エイリアスが割り当てられます。
  • 一意のバージョン番号。W&B は、リンクするたびに各アーティファクトバージョンを(0 からのインデックスで)カウントし、そのカウント番号を使ってそのアーティファクトに一意のバージョン番号を割り当てます。
たとえば、zoo_model という名前のアーティファクトを 3 回リンクすると、W&B はそれぞれに v0v1v2 という 3 つのエイリアスを作成します。v2 には latest エイリアスも割り当てられます。

カスタムエイリアス

ユースケースに応じて、特定のアーティファクトバージョンに1つ以上のカスタムエイリアスを作成できます。例:
  • dataset_version_v0dataset_version_v1dataset_version_v2 などのエイリアスを使用して、モデルがどのデータセットで学習されたかを識別できます。
  • best_model エイリアスを使用して、最もパフォーマンスの高いアーティファクトモデルバージョンを追跡できます。
レジストリで Member または Admin レジストリロール を持つユーザーは、そのレジストリにリンクされたアーティファクトに対してカスタムエイリアスを追加または削除できます。Restricted Viewer または Viewer ロール を持つユーザーはエイリアスの追加・削除ができません。
保護されたエイリアスを使用すると、変更や削除から保護するアーティファクトバージョンにラベルを付けて識別できます。
カスタムエイリアスは W&B Registry または Python SDK を使用して作成できます。ユースケースに応じて、以下のタブから最適なものを選択してください。
  1. W&B Registry に移動します。
  2. コレクション内の View details ボタンをクリックします。
  3. Versions セクション内で、特定のアーティファクトバージョンの View ボタンをクリックします。
  4. Aliases フィールドの横にある + ボタンをクリックして、1つ以上のエイリアスを追加します。

保護されたエイリアス

保護されたエイリアスを使用して、変更や削除を行うべきでないアーティファクトバージョンにラベル付けし、識別します。たとえば、組織の機械学習プロダクションパイプラインで使用されているアーティファクトバージョンをラベル付けして識別するために、production という保護されたエイリアスを使用することを検討してください。 Registry admin ユーザーおよび Admin ロールを持つサービスアカウントは、保護されたエイリアスを作成し、アーティファクトバージョンに対して保護されたエイリアスを追加または削除できます。MemberViewerRestricted Viewer ロールのユーザーおよびサービスアカウントは、保護されたバージョンとのリンクを解除したり、保護されたエイリアスを含むコレクションを削除したりすることはできません。詳細については、レジストリアクセスの設定を参照してください。 一般的な保護されたエイリアスには次のものがあります:
  • Production:アーティファクトバージョンは本番環境で使用する準備ができています。
  • Staging:アーティファクトバージョンはテストに使用する準備ができています。

保護されたエイリアスを作成する

以下の手順は、W&B Registry UI で保護されたエイリアスを作成する方法を説明します。
  1. W&B Registry に移動します。
  2. レジストリを選択します。
  3. ページ右上の歯車ボタンをクリックして、そのレジストリの設定を表示します。
  4. Protected Aliases セクション内で + ボタンをクリックし、1 つ以上の保護されたエイリアスを追加します。
作成後、各保護されたエイリアスは、Protected Aliases セクション内にロックアイコン付きの灰色の長方形として表示されます。
保護されていないカスタムエイリアスとは異なり、保護されたエイリアスの作成は W&B Registry UI でのみ利用可能であり、Python SDK を使ってプログラム経由で作成することはできません。アーティファクトバージョンに保護されたエイリアスを追加するには、W&B Registry UI か Python SDK を使用できます。
以下の手順は、W&B Registry UI を使用してアーティファクトバージョンに保護されたエイリアスを追加する方法を説明します。
  1. W&B Registry に移動します。
  2. コレクション内で View details ボタンをクリックします。
  3. Versions セクション内で、対象のアーティファクトバージョンの View ボタンを選択します。
  4. Aliases フィールドの横にある + ボタンをクリックして、1 つ以上の保護されたエイリアスを追加します。
保護されたエイリアスが作成されると、管理者は Python SDK を使用して、プログラム経由でそれをアーティファクトバージョンに追加できます。アーティファクトバージョンに保護されたエイリアスを追加する方法の例については、上記の Create a custom alias セクション内の W&B Registry タブおよび Python SDK タブを参照してください。

既存のエイリアスを見つける

W&B Registry のグローバル検索バーを使って、既存のエイリアスを検索できます。保護されたエイリアスを探すには、次の手順を実行します。
  1. W&B Registry に移動します。
  2. ページ上部の検索バーに検索キーワードを入力し、Enter キーを押して検索します。
指定したキーワードが既存のレジストリ、コレクション名、アーティファクトバージョンタグ、コレクションタグ、またはエイリアスと一致する場合、検索結果が検索バーの下に表示されます。

次のコード例は、この W&B Registry Tutorial notebook の続きです。以下のコードを使用するには、まず notebook で説明されているとおりに Zoo データセットを取得して処理する必要があります。Zoo データセットが用意できたら、そこからアーティファクトのバージョンを作成し、カスタムエイリアスを追加できます。
次のコードスニペットは、アーティファクトのバージョンを作成し、カスタムエイリアスを追加する方法を示します。この例では、UCI Machine Learning Repository にある Zoo データセットと、Zoo_Classifier_Models レジストリ内の Model コレクションを使用します。
import wandb

# runを初期化する
with wandb.init(entity = "smle-reg-team-2", project = "zoo_experiment") as run:

    # アーティファクトオブジェクトを作成する
    # typeパラメータはアーティファクトオブジェクトの
    # タイプとコレクションタイプの両方を指定する
    artifact = wandb.Artifact(name = "zoo_dataset", type = "dataset")

    # アーティファクトオブジェクトにファイルを追加する。
    # ローカルマシン上のファイルパスを指定する。
    artifact.add_file(local_path="zoo_dataset.pt", name="zoo_dataset")
    artifact.add_file(local_path="zoo_labels.pt", name="zoo_labels")

    # アーティファクトのリンク先となるコレクションとレジストリを指定する
    REGISTRY_NAME = "Model"
    COLLECTION_NAME = "Zoo_Classifier_Models"
    target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"

    # アーティファクトのバージョンをコレクションにリンクする
    # このアーティファクトのバージョンに1つ以上のエイリアスを追加する
    run.link_artifact(
        artifact = artifact,
        target_path = target_path,
        aliases = ["production-us", "production-eu"]
        )
  1. まず、アーティファクトオブジェクト(wandb.Artifact())を作成します。
  2. 次に、2つのデータセットを表す PyTorch テンソルを wandb.Artifact.add_file() を使ってアーティファクトオブジェクトに追加します。
  3. 最後に、link_artifact() を使って、そのアーティファクトバージョンを Zoo_Classifier_Models レジストリ内の Model コレクションにリンクします。また、aliases パラメータに production-usproduction-eu を引数として渡すことで、そのアーティファクトバージョンにカスタムエイリアスを2つ追加します。