메인 콘텐츠로 건너뛰기
하나 이상의 별칭을 사용해 특정 artifact version을 참조할 수 있습니다. W&B는 동일한 이름으로 연결된 각 아티팩트에 자동으로 별칭을 할당합니다. 또한 하나 이상의 커스텀 별칭을 만들어 특정 아티팩트 버전을 참조할 수도 있습니다. 별칭은 Registry UI에서 해당 별칭 이름이 표시된 직사각형으로 나타납니다. 별칭이 보호된 경우 잠금 아이콘이 있는 회색 직사각형으로 표시됩니다. 그렇지 않으면 주황색 직사각형으로 표시됩니다. 별칭은 레지스트리 간에 공유되지 않습니다.
별칭을 사용할 때와 태그를 사용할 때별칭은 특정 아티팩트 버전을 참조하는 데 사용합니다. 하나의 컬렉션 내에서 각 별칭은 고유합니다. 동시에 특정 별칭을 가질 수 있는 아티팩트 버전은 하나뿐입니다.태그는 공통된 주제를 기준으로 아티팩트 버전 또는 컬렉션을 구성하고 그룹화하는 데 사용합니다. 여러 아티팩트 버전과 컬렉션이 동일한 태그를 공유할 수 있습니다.
아티팩트 버전에 별칭을 추가할 때 선택적으로 Registry automation을 시작하여 Slack 채널에 알림을 보내거나 웹훅을 트리거할 수 있습니다.

기본 alias

W&B는 동일한 이름으로 연결하는 각 아티팩트 버전에 대해 자동으로 다음 alias를 할당합니다:
  • 컬렉션에 연결된 가장 최신 아티팩트 버전에 latest alias를 할당합니다.
  • 고유한 버전 번호를 할당합니다. W&B는 연결되는 각 아티팩트 버전을 0부터 순서대로 계산하며, 이 숫자를 사용해 해당 아티팩트에 고유한 버전 번호를 지정합니다.
예를 들어 zoo_model이라는 이름의 아티팩트를 세 번 연결하면, W&B는 각각 v0, v1, v2라는 세 개의 alias를 생성합니다. 이때 v2에는 latest alias도 함께 지정됩니다.

커스텀 별칭

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

보호된 별칭

protected alias를 사용하면 수정하거나 삭제해서는 안 되는 아티팩트 버전에 레이블을 지정하고 해당 버전을 식별할 수 있습니다. 예를 들어, 조직의 머신 러닝 프로덕션 파이프라인에서 사용 중인 아티팩트 버전에 레이블을 지정하고 식별하기 위해 production protected alias를 사용하는 방법을 고려할 수 있습니다. Registry admin 사용자와 Admin 역할을 가진 service accounts는 protected alias를 생성하고 아티팩트 버전에 protected alias를 추가하거나 제거할 수 있습니다. Member, Viewer, Restricted Viewer 역할을 가진 Users와 service accounts는 보호된 버전의 연결을 해제하거나 protected alias를 포함하는 컬렉션을 삭제할 수 없습니다. 자세한 내용은 Configure registry access를 참조하세요. 일반적인 protected alias는 다음과 같습니다.
  • Production: 아티팩트 버전이 프로덕션 환경에서 사용할 준비가 완료되었음을 의미합니다.
  • Staging: 아티팩트 버전이 테스트에 사용할 준비가 완료되었음을 의미합니다.

보호된 별칭 생성

다음 단계에 따라 W&B Registry UI에서 보호된 별칭을 생성할 수 있습니다.
  1. W&B Registry로 이동합니다.
  2. 레지스트리를 선택합니다.
  3. 페이지 오른쪽 상단의 톱니바퀴 버튼을 클릭해 레지스트리 설정을 엽니다.
  4. Protected Aliases 섹션에서 + 버튼을 클릭해 하나 이상의 보호된 별칭을 추가합니다.
생성 후 각 보호된 별칭은 Protected Aliases 섹션에서 자물쇠 아이콘이 있는 회색 직사각형으로 표시됩니다.
보호되지 않은 커스텀 별칭과 달리, 보호된 별칭은 Python SDK를 사용한 프로그래밍 방식이 아니라 W&B Registry UI에서만 생성할 수 있습니다. 아티팩트 버전에 보호된 별칭을 추가할 때는 W&B Registry UI 또는 Python SDK를 사용할 수 있습니다.
다음 단계에 따라 W&B Registry UI를 사용해 아티팩트 버전에 보호된 별칭을 추가할 수 있습니다.
  1. W&B Registry로 이동합니다.
  2. 컬렉션에서 View details 버튼을 클릭합니다.
  3. Versions 섹션에서 특정 아티팩트 버전의 View 버튼을 클릭합니다.
  4. Aliases 필드 옆의 + 버튼을 클릭해 하나 이상의 보호된 별칭을 추가합니다.
보호된 별칭이 생성된 후에는, 관리자가 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을 이어가는 예제입니다. 아래 코드를 사용하려면 먼저 노트북에 설명된 대로 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}"

    # 아티팩트 버전을 컬렉션에 연결
    # 이 아티팩트 버전에 별칭을 하나 이상 추가
    run.link_artifact(
        artifact = artifact,
        target_path = target_path,
        aliases = ["production-us", "production-eu"]
        )
  1. 먼저 아티팩트 객체(wandb.Artifact())를 생성합니다.
  2. 다음으로 wandb.Artifact.add_file()을 사용하여 두 개의 PyTorch 텐서 형태 데이터셋을 아티팩트 객체에 추가합니다.
  3. 마지막으로 link_artifact()를 사용하여 아티팩트 버전을 Zoo_Classifier_Models 레지스트리의 Model 컬렉션에 연결합니다. 또한 aliases 매개변수에 production-usproduction-eu 값을 전달하여 아티팩트 버전에 두 개의 사용자 정의 별칭을 추가합니다.