메인 콘텐츠로 건너뛰기
W&B App을 사용해 인터랙티브하게 아티팩트를 삭제하거나 W&B Python SDK를 사용해 프로그래밍 방식으로 아티팩트를 삭제할 수 있습니다. 아티팩트를 삭제하면 W&B는 해당 아티팩트를 소프트 삭제 상태로 표시합니다. 즉, 아티팩트를 삭제 대상으로 표시하지만, 스토리지에서 파일이 즉시 삭제되지는 않습니다. 아티팩트의 내용은 정기적으로 실행되는 가비지 컬렉션 프로세스가 삭제 대상으로 표시된 모든 아티팩트를 검사할 때까지 소프트 삭제, 즉 삭제 대기 상태로 유지됩니다. 가비지 컬렉션 프로세스는 해당 아티팩트와 연관된 파일이 이전 또는 이후 버전의 아티팩트에서 사용되지 않는 경우, 연관된 파일을 스토리지에서 삭제합니다.

아티팩트 가비지 컬렉션 워크플로

다음 다이어그램은 아티팩트 가비지 컬렉션의 전체 워크플로를 보여줍니다. TTL 정책을 사용하여 W&B에서 아티팩트가 삭제되는 시점을 설정할 수 있습니다. 자세한 내용은 Artifact TTL 정책으로 데이터 보존 관리를 참조하세요.
TTL 정책, W&B Python SDK, 또는 W&B 앱에 의해 삭제된 아티팩트는 먼저 소프트 삭제됩니다. 소프트 삭제된 아티팩트는 영구 삭제되기 전에 가비지 컬렉션을 통해 정리됩니다.
엔터티, 프로젝트, 또는 아티팩트 컬렉션을 삭제하면 이 페이지에서 설명하는 아티팩트 삭제 프로세스가 시작됩니다. 실행을 삭제할 때 해당 실행과 연결된 아티팩트를 함께 삭제하도록 선택한 경우, 이 아티팩트들도 동일한 소프트 삭제 및 가비지 컬렉션 워크플로를 따릅니다.

아티팩트 버전 삭제

W&B App에서 인터랙티브하게 또는 W&B Python SDK를 사용해 프로그래밍 방식으로 아티팩트 버전을 삭제할 수 있습니다.
아티팩트 버전을 삭제하려면:
  1. 삭제하려는 아티팩트 버전이 포함된 프로젝트로 이동합니다.
  2. Artifacts 탭을 선택합니다.
  3. 아티팩트 타입 목록에서, 삭제하려는 버전이 포함된 아티팩트 타입을 선택합니다.
  4. 삭제하려는 아티팩트 버전 오른쪽에 있는 줄임표(...)를 클릭합니다.
  5. 드롭다운에서 Delete Version을 선택합니다.

여러 아티팩트 버전 삭제

다음 코드 예시는 여러 아티팩트 버전을 삭제하는 방법을 보여줍니다. wandb.Api.run()에 아티팩트를 생성한 엔터티, 프로젝트 이름, 실행 ID를 인자로 전달합니다. 이 호출은 해당 실행에서 생성된 모든 아티팩트 버전에 접근할 수 있는 실행 객체를 반환합니다. 그런 다음 아티팩트 버전들을 순회하면서, 조건에 맞는 버전만 선택해 삭제합니다.
아티팩트 버전과 그에 연결된 모든 별칭을 함께 삭제하려면 delete_aliases 파라미터를 True로 설정하세요 (wandb.Artifact.delete(delete_aliases=True)).
<entity>, <project>, <run_id>, <artifact_name> 플레이스홀더를 여러분의 값으로 바꾸십시오:
import wandb

# W&B API 초기화
api = wandb.Api()

# 경로로 실행을 가져옵니다. <entity>/<project>/<run_id>로 구성됩니다
run = api.run("<entity>/<project>/<run_id>")

# 버전을 삭제할 아티팩트 이름 지정
artifact_name = "<artifact_name>"

# 지정된 이름의 아티팩트 버전 검색 및 삭제
for artifact in run.logged_artifacts():
    print(f"Found artifact: {artifact.name}") # 예시 이름: run_4dfbufgq_model:v0
    # split()을 사용하여 버전을 제외한 아티팩트 이름만 추출
    if artifact.name.split(":")[0] == artifact_name:
        print(f"아티팩트 버전 삭제 중: {artifact.name}")
        artifact.delete(delete_aliases=True)

특정 별칭이 지정된 여러 아티팩트 버전 삭제

다음 코드는 특정 별칭이 지정된 여러 아티팩트 버전을 삭제하는 방법을 보여줍니다. <entity>, <project>, <run_id>, <artifact_name>, 그리고 <alias> 플레이스홀더를 알맞은 값으로 대체하세요:
import wandb

# W&B API 초기화
api = wandb.Api()

# 경로로 실행을 가져옵니다. <entity>/<project>/<run_id>로 구성됩니다
run = api.run("<entity>/<project>/<run_id>")

# 버전을 삭제할 아티팩트 이름을 지정합니다
artifact_name = "<artifact_name>"

# 삭제할 아티팩트 버전을 필터링할 별칭을 지정합니다
desired_alias = "<alias>"

# 별칭 'v3' 및 'v4'로 실행에 기록된 아티팩트를 삭제합니다
for artifact in run.logged_artifacts():
    print(f"Found artifact: {artifact.name}")
    if (artifact.name.split(":")[0] == artifact_name) and (desired_alias in artifact.aliases):
            artifact.delete(delete_aliases=True)

아티팩트 컬렉션 삭제

아티팩트 컬렉션을 삭제하려면 다음을 수행합니다.
  1. 삭제하려는 아티팩트 컬렉션으로 이동합니다.
  2. 아티팩트 컬렉션 이름 옆의 가로 점 세 개(...)를 선택합니다.
  3. 드롭다운 메뉴에서 Delete를 선택합니다.

보호된 별칭과 삭제 권한

보호된 별칭이 지정된 아티팩트에는 특별한 삭제 제한이 적용됩니다. Protected aliases는 W&B Registry에서 레지스트리 관리자가 무단 삭제를 방지하기 위해 설정할 수 있는 별칭입니다.
보호된 별칭에 대한 중요한 사항:
  • 보호된 별칭이 있는 아티팩트는 레지스트리 관리자가 아닌 사용자가 삭제할 수 없습니다.
  • 레지스트리 내에서 레지스트리 관리자는 보호된 아티팩트 버전의 링크를 해제하고, 보호된 별칭을 포함하는 컬렉션/레지스트리를 삭제할 수 있습니다.
  • 소스 아티팩트의 경우: 소스 아티팩트가 보호된 별칭이 있는 레지스트리에 연결되어 있으면 어떤 사용자도 해당 아티팩트를 삭제할 수 없습니다.
  • 레지스트리 관리자는 소스 아티팩트에서 보호된 별칭을 제거한 다음 해당 아티팩트를 삭제할 수 있습니다.

W&B 호스팅 방식에 따라 가비지 컬렉션 활성화

W&B의 공유 클라우드를 사용하는 경우 가비지 컬렉션은 기본적으로 활성화되어 있습니다. W&B를 어떤 방식으로 호스팅하느냐에 따라 가비지 컬렉션을 활성화하기 위해 추가로 다음 단계를 수행해야 할 수 있습니다:
  • GORILLA_ARTIFACT_GC_ENABLED 환경 변수를 true로 설정: GORILLA_ARTIFACT_GC_ENABLED=true
  • AWS, Google Cloud 또는 Minio와 같은 기타 스토리지 제공업체를 사용하는 경우 버킷 버전 관리를 활성화합니다. Azure를 사용하는 경우 소프트 삭제를 활성화합니다.
    Azure의 소프트 삭제는 다른 스토리지 제공업체의 버킷 버전 관리와 동일합니다.
다음 표는 배포 유형에 따라 가비지 컬렉션을 활성화하기 위한 요구 사항을 어떻게 충족해야 하는지 설명합니다. X는 해당 요구 사항을 반드시 충족해야 함을 나타냅니다:
Environment variable (환경 변수)Enable versioning (버전 관리 활성화)
Shared cloud (공유 클라우드)
Shared cloud with secure storage connector (secure storage connector 포함 공유 클라우드)X
Dedicated Cloud (전용 클라우드)
Dedicated Cloud with secure storage connector (secure storage connector 포함 전용 클라우드)X
Self-Managed cloud (셀프 매니지드 클라우드)XX
Self-Managed on-prem (셀프 매니지드 온프레미스)XX
note Secure storage connector는 현재 Google Cloud Platform과 Amazon Web Services에서만 사용할 수 있습니다.