이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.
Manage data
- 1: Delete an artifact
- 2: Manage artifact data retention
- 3: Manage artifact storage and memory allocation
1 - Delete an artifact
App UI 또는 W&B SDK를 사용하여 아티팩트를 대화형으로 삭제할 수 있습니다. 아티팩트를 삭제하면 W&B는 해당 아티팩트를 소프트 삭제로 표시합니다. 즉, 아티팩트는 삭제 대상으로 표시되지만 파일은 즉시 스토리지에서 삭제되지 않습니다.
아티팩트의 내용은 정기적으로 실행되는 가비지 수집 프로세스가 삭제 대상으로 표시된 모든 아티팩트를 검토할 때까지 소프트 삭제 또는 삭제 대기 상태로 유지됩니다. 가비지 수집 프로세스는 아티팩트 및 관련 파일이 이전 또는 이후 아티팩트 버전에서 사용되지 않는 경우 스토리지에서 관련 파일을 삭제합니다.
이 페이지의 섹션에서는 특정 아티팩트 버전을 삭제하는 방법, 아티팩트 컬렉션을 삭제하는 방법, 에일리어스가 있거나 없는 아티팩트를 삭제하는 방법 등을 설명합니다. TTL 정책을 사용하여 W&B에서 아티팩트가 삭제되는 시점을 예약할 수 있습니다. 자세한 내용은 아티팩트 TTL 정책으로 데이터 보존 관리을 참조하세요.
아티팩트 버전 삭제
아티팩트 버전을 삭제하려면 다음을 수행하세요.
- 아티팩트 이름을 선택합니다. 그러면 아티팩트 보기가 확장되고 해당 아티팩트와 연결된 모든 아티팩트 버전이 나열됩니다.
- 아티팩트 목록에서 삭제할 아티팩트 버전을 선택합니다.
- 워크스페이스 오른쪽에 있는 케밥 드롭다운을 선택합니다.
- 삭제를 선택합니다.
아티팩트 버전은 delete() 메소드를 통해 프로그래밍 방식으로 삭제할 수도 있습니다. 아래 예시를 참조하세요.
에일리어스가 있는 여러 아티팩트 버전 삭제
다음 코드 예제는 에일리어스가 연결된 아티팩트를 삭제하는 방법을 보여줍니다. 아티팩트를 만든 엔터티, 프로젝트 이름 및 run ID를 제공합니다.
import wandb
run = api.run("entity/project/run_id")
for artifact in run.logged_artifacts():
artifact.delete()
아티팩트에 에일리어스가 하나 이상 있는 경우 delete_aliases
파라미터를 부울 값 True
로 설정하여 에일리어스를 삭제합니다.
import wandb
run = api.run("entity/project/run_id")
for artifact in run.logged_artifacts():
# Set delete_aliases=True in order to delete
# artifacts with one more aliases
artifact.delete(delete_aliases=True)
특정 에일리어스가 있는 여러 아티팩트 버전 삭제
다음 코드는 특정 에일리어스가 있는 여러 아티팩트 버전을 삭제하는 방법을 보여줍니다. 아티팩트를 만든 엔터티, 프로젝트 이름 및 run ID를 제공합니다. 삭제 로직을 직접 작성하세요.
import wandb
runs = api.run("entity/project_name/run_id")
# Delete artifact ith alias 'v3' and 'v4
for artifact_version in runs.logged_artifacts():
# Replace with your own deletion logic.
if artifact_version.name[-2:] == "v3" or artifact_version.name[-2:] == "v4":
artifact.delete(delete_aliases=True)
에일리어스가 없는 아티팩트의 모든 버전 삭제
다음 코드 조각은 에일리어스가 없는 아티팩트의 모든 버전을 삭제하는 방법을 보여줍니다. wandb.Api
의 project
및 entity
키에 대한 프로젝트 및 엔터티 이름을 각각 제공합니다. <>
를 아티팩트 이름으로 바꿉니다.
import wandb
# Provide your entity and a project name when you
# use wandb.Api methods.
api = wandb.Api(overrides={"project": "project", "entity": "entity"})
artifact_type, artifact_name = "<>" # provide type and name
for v in api.artifact_versions(artifact_type, artifact_name):
# Clean up versions that don't have an alias such as 'latest'.
# NOTE: You can put whatever deletion logic you want here.
if len(v.aliases) == 0:
v.delete()
아티팩트 컬렉션 삭제
아티팩트 컬렉션을 삭제하려면 다음을 수행하세요.
- 삭제할 아티팩트 컬렉션으로 이동하여 마우스를 올려 놓습니다.
- 아티팩트 컬렉션 이름 옆에 있는 케밥 드롭다운을 선택합니다.
- 삭제를 선택합니다.
delete() 메소드를 사용하여 프로그래밍 방식으로 아티팩트 컬렉션을 삭제할 수도 있습니다. wandb.Api
의 project
및 entity
키에 대한 프로젝트 및 엔터티 이름을 각각 제공합니다.
import wandb
# Provide your entity and a project name when you
# use wandb.Api methods.
api = wandb.Api(overrides={"project": "project", "entity": "entity"})
collection = api.artifact_collection(
"<artifact_type>", "entity/project/artifact_collection_name"
)
collection.delete()
W&B 호스팅 방식에 따라 가비지 수집을 활성화하는 방법
W&B의 공유 클라우드를 사용하는 경우 가비지 수집은 기본적으로 활성화됩니다. W&B를 호스팅하는 방식에 따라 가비지 수집을 활성화하기 위해 추가 단계를 수행해야 할 수 있습니다.
GORILLA_ARTIFACT_GC_ENABLED
환경 변수를 true로 설정합니다.GORILLA_ARTIFACT_GC_ENABLED=true
- AWS, GCP 또는 Minio와 같은 다른 스토리지 공급자를 사용하는 경우 버킷 버전 관리를 활성화합니다. Azure를 사용하는 경우 소프트 삭제를 활성화합니다.
Azure의 소프트 삭제는 다른 스토리지 공급자의 버킷 버전 관리와 동일합니다.
다음 표는 배포 유형에 따라 가비지 수집을 활성화하기 위한 요구 사항을 충족하는 방법을 설명합니다.
X
는 요구 사항을 충족해야 함을 나타냅니다.
Environment variable | Enable versioning | |
---|---|---|
Shared cloud | ||
Shared cloud with secure storage connector | X | |
Dedicated cloud | ||
Dedicated cloud with secure storage connector | X | |
Customer-managed cloud | X | X |
Customer managed on-prem | X | X |
2 - Manage artifact data retention
W&B Artifact time-to-live (TTL) 정책을 사용하여 Artifacts가 W&B에서 삭제되는 시점을 예약하세요. 아티팩트를 삭제하면 W&B는 해당 아티팩트를 soft-delete 로 표시합니다. 즉, 아티팩트는 삭제 대상으로 표시되지만 파일은 즉시 스토리지에서 삭제되지 않습니다. W&B에서 아티팩트를 삭제하는 방법에 대한 자세한 내용은 아티팩트 삭제 페이지를 참조하세요.
이 비디오 튜토리얼에서 W&B 앱에서 Artifacts TTL로 데이터 보존을 관리하는 방법을 알아보세요.
- 팀 관리자만 팀 설정을 보고 (1) 누가 TTL 정책을 설정하거나 편집할 수 있는지 허용하거나 (2) 팀 기본 TTL을 설정하는 것과 같은 팀 수준 TTL 설정에 엑세스할 수 있습니다.
- W&B 앱 UI에서 아티팩트 세부 정보에 TTL 정책을 설정하거나 편집하는 옵션이 표시되지 않거나 프로그래밍 방식으로 TTL을 설정해도 아티팩트의 TTL 속성이 성공적으로 변경되지 않으면 팀 관리자가 해당 권한을 부여하지 않은 것입니다.
자동 생성된 Artifacts
사용자가 생성한 아티팩트만 TTL 정책을 사용할 수 있습니다. W&B에서 자동으로 생성된 아티팩트에는 TTL 정책을 설정할 수 없습니다.
다음 아티팩트 유형은 자동 생성된 Artifacts를 나타냅니다.
run_table
code
job
wandb-*
로 시작하는 모든 아티팩트 유형
W&B 플랫폼 또는 프로그래밍 방식으로 아티팩트의 유형을 확인할 수 있습니다.
import wandb
run = wandb.init(project="<my-project-name>")
artifact = run.use_artifact(artifact_or_name="<my-artifact-name>")
print(artifact.type)
<>
로 묶인 값을 자신의 값으로 바꿉니다.
TTL 정책을 편집하고 설정할 수 있는 사람 정의
팀 내에서 TTL 정책을 설정하고 편집할 수 있는 사람을 정의합니다. 팀 관리자에게만 TTL 권한을 부여하거나 팀 관리자와 팀 멤버 모두에게 TTL 권한을 부여할 수 있습니다.
- 팀 프로필 페이지로 이동합니다.
- 설정 탭을 선택합니다.
- Artifacts time-to-live (TTL) 섹션으로 이동합니다.
- TTL 권한 드롭다운에서 TTL 정책을 설정하고 편집할 수 있는 사람을 선택합니다.
- 설정 검토 및 저장을 클릭합니다.
- 변경 사항을 확인하고 설정 저장을 선택합니다.

TTL 정책 만들기
아티팩트를 생성할 때 또는 아티팩트가 생성된 후 소급하여 아티팩트에 대한 TTL 정책을 설정합니다.
아래의 모든 코드 조각에서 <>
로 묶인 콘텐츠를 자신의 정보로 바꿔 코드 조각을 사용하세요.
아티팩트를 생성할 때 TTL 정책 설정
W&B Python SDK를 사용하여 아티팩트를 생성할 때 TTL 정책을 정의합니다. TTL 정책은 일반적으로 일 단위로 정의됩니다.
ttl
속성에 전달한다는 점만 다릅니다.단계는 다음과 같습니다.
- 아티팩트 만들기.
- 파일, 디렉토리 또는 참조와 같은 아티팩트에 콘텐츠 추가.
- Python 표준 라이브러리의 일부인
datetime.timedelta
데이터 유형으로 TTL 시간 제한을 정의합니다. - 아티팩트 로깅.
다음 코드 조각은 아티팩트를 만들고 TTL 정책을 설정하는 방법을 보여줍니다.
import wandb
from datetime import timedelta
run = wandb.init(project="<my-project-name>", entity="<my-entity>")
artifact = wandb.Artifact(name="<artifact-name>", type="<type>")
artifact.add_file("<my_file>")
artifact.ttl = timedelta(days=30) # TTL 정책 설정
run.log_artifact(artifact)
앞의 코드 조각은 아티팩트의 TTL 정책을 30일로 설정합니다. 즉, W&B는 30일 후에 아티팩트를 삭제합니다.
아티팩트를 만든 후 TTL 정책 설정 또는 편집
W&B App UI 또는 W&B Python SDK를 사용하여 이미 존재하는 아티팩트에 대한 TTL 정책을 정의합니다.
createdAt
타임스탬프를 사용하여 계산됩니다.다음 코드 조각은 아티팩트에 대한 TTL 정책을 설정하는 방법을 보여줍니다.
import wandb
from datetime import timedelta
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = timedelta(days=365 * 2) # 2년 후에 삭제
artifact.save()
앞의 코드 예제는 TTL 정책을 2년으로 설정합니다.
- W&B App UI에서 W&B 프로젝트로 이동합니다.
- 왼쪽 패널에서 아티팩트 아이콘을 선택합니다.
- 아티팩트 목록에서 TTL 정책을 편집할 아티팩트 유형을 확장합니다.
- TTL 정책을 편집할 아티팩트 버전을 선택합니다.
- 버전 탭을 클릭합니다.
- 드롭다운에서 TTL 정책 편집을 선택합니다.
- 나타나는 모달 내에서 TTL 정책 드롭다운에서 Custom을 선택합니다.
- TTL duration 필드 내에서 TTL 정책을 일 단위로 설정합니다.
- TTL 업데이트 버튼을 선택하여 변경 사항을 저장합니다.

팀에 대한 기본 TTL 정책 설정
팀에 대한 기본 TTL 정책을 설정합니다. 기본 TTL 정책은 각각 생성 날짜를 기준으로 기존 및 향후 모든 아티팩트에 적용됩니다. 기존 버전 수준 TTL 정책이 있는 아티팩트는 팀의 기본 TTL의 영향을 받지 않습니다.
- 팀 프로필 페이지로 이동합니다.
- 설정 탭을 선택합니다.
- Artifacts time-to-live (TTL) 섹션으로 이동합니다.
- 팀의 기본 TTL 정책 설정을 클릭합니다.
- Duration 필드 내에서 TTL 정책을 일 단위로 설정합니다.
- 설정 검토 및 저장을 클릭합니다. 7/ 변경 사항을 확인한 다음 설정 저장을 선택합니다.

run 외부에서 TTL 정책 설정
공용 API를 사용하여 run을 가져오지 않고 아티팩트를 검색하고 TTL 정책을 설정합니다. TTL 정책은 일반적으로 일 단위로 정의됩니다.
다음 코드 샘플은 공용 API를 사용하여 아티팩트를 가져오고 TTL 정책을 설정하는 방법을 보여줍니다.
api = wandb.Api()
artifact = api.artifact("entity/project/artifact:alias")
artifact.ttl = timedelta(days=365) # 1년 후에 삭제
artifact.save()
TTL 정책 비활성화
W&B Python SDK 또는 W&B App UI를 사용하여 특정 아티팩트 버전에 대한 TTL 정책을 비활성화합니다.
다음 코드 조각은 아티팩트에 대한 TTL 정책을 끄는 방법을 보여줍니다.
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = None
artifact.save()
- W&B App UI에서 W&B 프로젝트로 이동합니다.
- 왼쪽 패널에서 아티팩트 아이콘을 선택합니다.
- 아티팩트 목록에서 TTL 정책을 편집할 아티팩트 유형을 확장합니다.
- TTL 정책을 편집할 아티팩트 버전을 선택합니다.
- 버전 탭을 클릭합니다.
- 레지스트리에 연결 버튼 옆에 있는 미트볼 UI 아이콘을 클릭합니다.
- 드롭다운에서 TTL 정책 편집을 선택합니다.
- 나타나는 모달 내에서 TTL 정책 드롭다운에서 비활성화를 선택합니다.
- TTL 업데이트 버튼을 선택하여 변경 사항을 저장합니다.

TTL 정책 보기
Python SDK 또는 W&B App UI를 사용하여 아티팩트에 대한 TTL 정책을 봅니다.
인쇄 문을 사용하여 아티팩트의 TTL 정책을 봅니다. 다음 예제는 아티팩트를 검색하고 TTL 정책을 보는 방법을 보여줍니다.
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
print(artifact.ttl)
W&B App UI를 사용하여 아티팩트에 대한 TTL 정책을 봅니다.
- https://wandb.ai 에서 W&B 앱으로 이동합니다.
- W&B 프로젝트로 이동합니다.
- 프로젝트 내에서 왼쪽 사이드바에서 Artifacts 탭을 선택합니다.
- 컬렉션을 클릭합니다.
컬렉션 보기 내에서 선택한 컬렉션의 모든 아티팩트를 볼 수 있습니다. Time to Live
열 내에서 해당 아티팩트에 할당된 TTL 정책이 표시됩니다.

3 - Manage artifact storage and memory allocation
W&B는 기본적으로 미국에 위치한 개인 Google Cloud Storage 버킷에 아티팩트 파일을 저장합니다. 모든 파일은 저장 및 전송 중에 암호화됩니다.
민감한 파일의 경우, Private Hosting을 설정하거나 reference artifacts를 사용하는 것이 좋습니다.
트레이닝 중에 W&B는 로그, 아티팩트 및 설정 파일을 다음 로컬 디렉토리에 로컬로 저장합니다.
파일 | 기본 위치 | 기본 위치를 변경하려면 다음을 설정하십시오: |
---|---|---|
logs | ./wandb |
wandb.init 의 dir 또는 WANDB_DIR 환경 변수를 설정하십시오. |
artifacts | ~/.cache/wandb |
WANDB_CACHE_DIR 환경 변수 |
configs | ~/.config/wandb |
WANDB_CONFIG_DIR 환경 변수 |
업로드를 위한 Staging artifacts | ~/.cache/wandb-data/ |
WANDB_DATA_DIR 환경 변수 |
다운로드된 artifacts | ./artifacts |
WANDB_ARTIFACT_DIR 환경 변수 |
환경 변수를 사용하여 W&B를 구성하는 방법에 대한 전체 가이드는 환경 변수 참조를 참조하십시오.
wandb
가 초기화된 머신에 따라 이러한 기본 폴더가 파일 시스템의 쓰기 가능한 부분에 위치하지 않을 수 있습니다. 이로 인해 오류가 발생할 수 있습니다.로컬 아티팩트 캐시 정리
W&B는 공통 파일을 공유하는 버전 간의 다운로드 속도를 높이기 위해 아티팩트 파일을 캐시합니다. 시간이 지남에 따라 이 캐시 디렉토리가 커질 수 있습니다. wandb artifact cache cleanup
명령을 실행하여 캐시를 정리하고 최근에 사용되지 않은 파일을 제거하십시오.
다음 코드 조각은 캐시 크기를 1GB로 제한하는 방법을 보여줍니다. 코드 조각을 복사하여 터미널에 붙여넣으십시오:
$ wandb artifact cache cleanup 1GB