메인 콘텐츠로 건너뛰기
하나 이상의 에일리어스를 사용하여 특정 artifact version을 참조하세요. W&B는 동일한 이름으로 링크된 각 artifact에 에일리어스를 자동으로 할당합니다. 또한 특정 artifact 버전을 참조하기 위해 하나 이상의 커스텀 에일리어스를 생성할 수도 있습니다. 에일리어스는 Registry UI에서 해당 에일리어스의 이름이 적힌 사각형으로 표시됩니다. 만약 에일리어스가 보호됨(protected) 상태라면, 자물쇠 아이콘이 있는 회색 사각형으로 나타납니다. 그렇지 않은 경우, 에일리어스는 주황색 사각형으로 표시됩니다. 에일리어스는 레지스트리 간에 공유되지 않습니다.
에일리어스(alias)와 태그(tag)의 사용 시기특정 artifact 버전을 참조할 때는 에일리어스를 사용하세요. 컬렉션 내의 각 에일리어스는 유일해야 합니다. 한 번에 하나의 artifact 버전만이 특정 에일리어스를 가질 수 있습니다.공통된 테마를 바탕으로 artifact 버전이나 컬렉션을 조직화하고 그룹화할 때는 태그를 사용하세요. 여러 artifact 버전과 컬렉션이 동일한 태그를 공유할 수 있습니다.
artifact 버전에 에일리어스를 추가할 때, 선택적으로 Slack 채널에 알림을 보내거나 웹훅을 트리거하는 Registry 자동화를 시작할 수 있습니다.

기본 에일리어스 (Default aliases)

W&B는 동일한 이름으로 링크하는 각 artifact 버전에 대해 다음 에일리어스를 자동으로 할당합니다:
  • 컬렉션에 링크된 가장 최근 artifact 버전에는 latest 에일리어스가 할당됩니다.
  • 고유한 버전 번호. W&B는 링크된 각 artifact 버전의 개수(0부터 시작하는 인덱싱)를 계산합니다. W&B는 이 카운트 숫자를 사용하여 해당 artifact에 고유한 버전 번호를 할당합니다.
예를 들어, zoo_model이라는 이름의 artifact를 세 번 링크하면 W&B는 각각 v0, v1, v2라는 세 개의 에일리어스를 생성합니다. 이때 v2latest 에일리어스도 함께 갖게 됩니다.

커스텀 에일리어스 (Custom aliases)

고유한 유스 케이스에 따라 특정 artifact 버전에 대해 하나 이상의 커스텀 에일리어스를 만드세요. 예를 들어:
  • 모델이 어떤 데이터셋으로 학습되었는지 식별하기 위해 dataset_version_v0, dataset_version_v1, dataset_version_v2와 같은 에일리어스를 사용할 수 있습니다.
  • 성능이 가장 좋은 artifact 모델 버전을 추적하기 위해 best_model 에일리어스를 사용할 수 있습니다.
레지스트리에 대해 Member 또는 Admin 레지스트리 역할을 가진 모든 Users는 해당 레지스트리의 링크된 artifact에서 커스텀 에일리어스를 추가하거나 제거할 수 있습니다. Restricted Viewer 또는 Viewer 역할을 가진 Users는 에일리어스를 추가하거나 제거할 수 없습니다.
보호된 에일리어스(Protected aliases)는 수정이나 삭제로부터 보호해야 할 artifact 버전을 라벨링하고 식별하는 방법을 제공합니다.
W&B Registry 또는 Python SDK를 사용하여 커스텀 에일리어스를 생성할 수 있습니다. 사용자의 유스 케이스에 따라 아래 탭 중 가장 적합한 것을 클릭하세요.
  1. W&B Registry로 이동합니다.
  2. 컬렉션에서 View details 버튼을 클릭합니다.
  3. Versions 섹션 내에서 특정 artifact 버전의 View 버튼을 클릭합니다.
  4. Aliases 필드 옆의 + 버튼을 클릭하여 하나 이상의 에일리어스를 추가합니다.

보호된 에일리어스 (Protected aliases)

보호된 에일리어스를 사용하여 수정되거나 삭제되어서는 안 되는 artifact 버전을 라벨링하고 식별하세요. 예를 들어, 조직의 기계학습 프로덕션 파이프라인에서 사용 중인 artifact 버전을 라벨링하고 식별하기 위해 production 보호된 에일리어스를 사용하는 것을 고려해 보세요. Admin 역할을 가진 Registry admin 사용자 및 서비스 계정(service accounts)은 보호된 에일리어스를 생성하고 artifact 버전에서 이를 추가하거나 제거할 수 있습니다. Member, Viewer, Restricted Viewer 역할을 가진 사용자 및 서비스 계정은 보호된 버전의 링크를 해제하거나 보호된 에일리어스가 포함된 컬렉션을 삭제할 수 없습니다. 자세한 내용은 레지스트리 엑세스 구성을 참조하세요. 일반적인 보호된 에일리어스는 다음과 같습니다:
  • Production: artifact 버전이 프로덕션용으로 준비되었습니다.
  • Staging: artifact 버전이 테스트용으로 준비되었습니다.

보호된 에일리어스 생성하기

다음 단계는 W&B Registry UI에서 보호된 에일리어스를 생성하는 방법입니다:
  1. W&B Registry로 이동합니다.
  2. 레지스트리를 선택합니다.
  3. 페이지 오른쪽 상단의 톱니바퀴 버튼을 클릭하여 레지스트리 설정을 확인합니다.
  4. Protected Aliases 섹션 내에서 + 버튼을 클릭하여 하나 이상의 보호된 에일리어스를 추가합니다.
생성 후, 각 보호된 에일리어스는 Protected Aliases 섹션에서 자물쇠 아이콘이 있는 회색 사각형으로 표시됩니다.
보호되지 않은 커스텀 에일리어스와 달리, 보호된 에일리어스 생성은 W&B Registry UI에서만 가능하며 Python SDK를 통한 프로그래밍 방식으로는 불가능합니다. artifact 버전에 보호된 에일리어스를 추가하려면 W&B Registry UI 또는 Python SDK를 사용할 수 있습니다.
다음 단계는 W&B Registry UI를 사용하여 artifact 버전에 보호된 에일리어스를 추가하는 방법입니다:
  1. W&B Registry로 이동합니다.
  2. 컬렉션에서 View details 버튼을 클릭합니다.
  3. Versions 섹션 내에서 특정 artifact 버전의 View 버튼을 선택합니다.
  4. Aliases 필드 옆의 + 버튼을 클릭하여 하나 이상의 보호된 에일리어스를 추가합니다.
보호된 에일리어스가 생성된 후에는 관리자가 Python SDK를 통해 프로그래밍 방식으로 이를 artifact 버전에 추가할 수 있습니다. 보호된 에일리어스를 artifact 버전에 추가하는 예시는 위의 커스텀 에일리어스 생성 섹션에 있는 W&B Registry 및 Python SDK 탭을 참조하세요.

기존 에일리어스 찾기

W&B Registry의 글로벌 검색바를 사용하여 기존 에일리어스를 찾을 수 있습니다. 보호된 에일리어스를 찾으려면:
  1. W&B Registry로 이동합니다.
  2. 페이지 상단의 검색바에 검색어를 입력합니다. Enter를 눌러 검색합니다.
지정한 검색어가 기존 레지스트리, 컬렉션 이름, artifact 버전 태그, 컬렉션 태그 또는 에일리어스와 일치하면 검색 결과가 검색바 아래에 나타납니다.

예시

다음 코드 예시는 이 W&B Registry Tutorial 노트북의 연장선입니다. 다음 코드를 사용하려면 먼저 노트북에 설명된 대로 Zoo 데이터셋을 가져와서 처리해야 합니다. Zoo 데이터셋이 준비되면 artifact 버전을 생성하고 커스텀 에일리어스를 추가할 수 있습니다.
다음 코드 조각은 artifact 버전을 생성하고 커스텀 에일리어스를 추가하는 방법을 보여줍니다. 이 예시는 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:

    # artifact 오브젝트 생성
    # type 파라미터는 artifact 오브젝트의 타입과 
    # 컬렉션 타입을 모두 지정합니다.
    artifact = wandb.Artifact(name = "zoo_dataset", type = "dataset")

    # artifact 오브젝트에 파일 추가. 
    # 로컬 머신의 파일 경로를 지정합니다.
    artifact.add_file(local_path="zoo_dataset.pt", name="zoo_dataset")
    artifact.add_file(local_path="zoo_labels.pt", name="zoo_labels")

    # artifact를 링크할 컬렉션 및 레지스트리 지정
    REGISTRY_NAME = "Model"
    COLLECTION_NAME = "Zoo_Classifier_Models"
    target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"

    # artifact 버전을 컬렉션에 링크
    # 이 artifact 버전에 하나 이상의 에일리어스 추가
    run.link_artifact(
        artifact = artifact,
        target_path = target_path,
        aliases = ["production-us", "production-eu"]
        )
  1. 먼저, artifact 오브젝트(wandb.Artifact())를 생성합니다.
  2. 다음으로, wandb.Artifact.add_file()을 사용하여 두 개의 데이터셋 PyTorch 텐서를 artifact 오브젝트에 추가합니다.
  3. 마지막으로, link_artifact()를 사용하여 artifact 버전을 Zoo_Classifier_Models 레지스트리의 Model 컬렉션에 링크합니다. 또한 aliases 파라미터에 production-usproduction-eu를 인수로 전달하여 artifact 버전에 두 개의 커스텀 에일리어스를 추가합니다.