메인 콘텐츠로 건너뛰기
Colab에서 실행해 보기 W&B Registry는 조직 내 W&B 아티팩트 버전의 선별된 중앙 저장소입니다. 조직 내에서 권한이 있는 사용자는 아티팩트를 다운로드하고 사용하며, 소속 팀과 관계없이 모든 아티팩트의 라이프사이클을 공유·협업·관리할 수 있습니다. Registry를 사용해 아티팩트 버전을 추적하고, 아티팩트 사용 및 변경 이력을 감사(監査)하며, 아티팩트의 거버넌스와 컴플라이언스를 보장하고, 모델 CI/CD와 같은 다운스트림 프로세스를 자동화할 수 있습니다. 정리하면, W&B Registry를 다음과 같이 사용할 수 있습니다:
  • 조직의 다른 사용자에게 제공할 수 있도록, 머신 러닝 작업 요구 사항을 충족하는 아티팩트 버전을 승격합니다.
  • 특정 아티팩트를 찾거나 참조할 수 있도록 태그로 아티팩트를 구성합니다.
  • 아티팩트의 계보(lineage)를 추적하고 변경 이력을 감사(監査)합니다.
  • 모델 CI/CD와 같은 다운스트림 프로세스를 자동화합니다.
  • 각 Registry에서 아티팩트에 접근할 수 있는 조직 내 구성원을 관리합니다.
다음 이미지는 W&B Registry의 랜딩 페이지를 보여줍니다. Model이라는 이름의 레지스트리가 별표로 표시되어 있습니다. DemoModelsZoo_Classifier_Models라는 두 개의 컬렉션이 표시됩니다.
W&B Registry

기본 사항 알아보기

각 조직에는 처음에 모델과 데이터셋 아티팩트를 정리하는 데 사용할 수 있는 두 개의 레지스트리가 기본으로 제공되며, 각각 ModelsDatasets입니다. 조직의 요구 사항에 따라 다른 아티팩트 유형을 정리하기 위한 추가 레지스트리를 생성할 수 있습니다. registry는 하나 이상의 collection으로 구성됩니다. 각 컬렉션은 고유한 작업 또는 사용 사례를 나타냅니다. 레지스트리에 아티팩트를 추가하려면 먼저 특정 아티팩트 버전을 W&B에 로깅해야 합니다. 아티팩트를 로깅할 때마다 W&B는 해당 아티팩트에 자동으로 버전을 할당합니다. 아티팩트 버전은 0부터 인덱싱되므로 첫 번째 버전은 v0, 두 번째 버전은 v1이며, 이후도 같은 방식으로 증가합니다. 아티팩트를 W&B에 로깅한 후, 해당 아티팩트의 특정 버전을 레지스트리의 컬렉션에 링크할 수 있습니다.
“link”라는 용어는 W&B가 아티팩트를 저장하는 위치와 레지스트리에서 아티팩트에 접근 가능한 위치를 연결하는 포인터를 의미합니다. 아티팩트를 컬렉션에 링크하더라도 W&B는 아티팩트를 복제하지 않습니다.
예를 들어, 다음 코드 예시는 "my_model.txt"라는 모델 아티팩트를 "model"이라는 레지스트리 내 "first-collection"이라는 컬렉션에 로깅하고 링크합니다:
  1. wandb.init()으로 W&B 실행을 초기화합니다.
  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 실행을 초기화합니다
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}"
    )
지정한 레지스트리 내에 존재하지 않는 컬렉션 이름을 반환된 실행 객체의 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를 활성화하려면 다음 사항을 완료하세요:
배포 유형활성화 방법
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를 사용해 아티팩트를 관리·버전 관리하고, 라인리지를 추적하며, 다양한 라이프사이클 단계 간에 모델을 프로모션하는 방법
    • 웹훅을 사용해 모델 관리 워크플로우를 자동화하는 방법
    • 모델 평가, 모니터링 및 배포를 위해 레지스트리를 외부 ML 시스템 및 도구와 통합하는 방법