메인 콘텐츠로 건너뛰기
W&B는 _lineage graph_라고 불리는 방향성 비순환 그래프(DAG)를 사용하여 실행의 입력과 출력을 추적합니다. 계보 그래프는 ML 실험에서 아티팩트와 실행 간 관계를 시각적으로 표현한 것입니다. 이 그래프는 원시 데이터 수집부터 모델 학습 및 평가에 이르기까지 ML 라이프사이클의 다양한 단계에서 데이터와 모델이 어떻게 흐르는지 보여줍니다. 아티팩트 계보를 추적하면 다음과 같은 주요 이점이 있습니다:
  • 재현성: 디버깅, 실험, 검증을 위해 실험, 모델, 결과를 재현할 수 있습니다.
  • 버전 관리: 시간에 따른 아티팩트 변경 사항을 추적하여 필요 시 이전 데이터나 모델 버전으로 되돌릴 수 있습니다.
  • 감사: 규정 준수 및 거버넌스를 지원하기 위해 아티팩트와 변환 내역을 상세히 기록합니다.
  • 협업: 실험 이력을 투명하게 공유하여 중복 작업을 줄이고 개발을 가속화함으로써 팀워크를 개선합니다.

아티팩트의 Lineage 그래프 보기

아티팩트의 Lineage 그래프를 보려면 다음을 수행하십시오:
  1. W&B App으로 이동합니다.
  2. 탐색하려는 실행 또는 아티팩트를 포함하는 프로젝트를 선택합니다.
  3. 왼쪽 사이드바에서 Artifacts 탭을 클릭합니다.
  4. Lineage 탭을 선택합니다.
Lineage 탭으로 이동하기

계보 그래프 추적 활성화

계보 그래프 추적을 활성화하려면 W&B Python SDK를 사용하여 아티팩트를 실행의 입력 또는 출력으로 지정해야 합니다.

실행의 입력 추적하기

wandb.Run.use_artifact() 메서드를 사용하여 아티팩트를 실행의 입력(또는 의존성)으로 표시합니다. 아티팩트의 이름과, 필요하다면 해당 아티팩트의 특정 버전을 참조하기 위한 별칭(alias)을 지정합니다. 아티팩트 이름 형식은 <artifact_name>:<version> 또는 <artifact_name>:<alias>입니다. 꺾쇠 괄호(< >)로 둘러싸인 값을 사용자 값으로 교체하세요:
import wandb

# 실행 초기화
with wandb.init(entity="<entity>", project="<project>") as run:
  # 아티팩트 가져오기, 의존성으로 표시
  artifact = run.use_artifact(artifact_or_name="<name>", aliases="<alias>")

실행 출력 추적하기

wandb.Run.log_artifact()를 사용하여 아티팩트를 실행의 출력으로 지정합니다. 먼저 wandb.Artifact() 생성자를 사용해 아티팩트를 생성합니다. 그런 다음 wandb.Run.log_artifact()로 해당 아티팩트를 실행의 출력으로 기록합니다. 꺾쇠 괄호(< >)로 둘러싸인 값을 여러분의 값으로 바꾸십시오:
import wandb

# 실행 초기화
with wandb.init(entity="<entity>", project="<project>") as run:
  
  # 아티팩트 생성
  artifact = wandb.Artifact(name = "<artifact_name>", type = "<artifact_type>")
  artifact.add_file(local_path = "<local_filepath>", name="<optional-name>")

  # 아티팩트를 실행의 출력으로 기록
  run.log_artifact(artifact_or_path = artifact)
지정한 아티팩트 또는 작업 유형이 이름 앞에 표시되며, 아티팩트는 파란색 아이콘으로, 실행은 초록색 아이콘으로 표시됩니다. 그래프의 화살표는 실행 또는 아티팩트의 입력과 출력을 나타냅니다.
실행 및 아티팩트 노드
왼쪽 사이드바와 Lineage 탭에서 각 아티팩트의 유형과 이름을 모두 확인할 수 있습니다.
입력 및 출력
자세히 보려면 개별 아티팩트나 실행을 클릭하여 해당 객체에 대한 추가 정보를 확인하세요.
실행 미리 보기

아티팩트 클러스터

그래프의 한 단계에 실행 또는 아티팩트가 다섯 개 이상 있으면 클러스터가 생성됩니다. 클러스터에는 특정 버전의 실행이나 아티팩트를 찾기 위한 검색창이 있으며, 클러스터 안에서 개별 노드를 분리해 꺼내어 해당 노드의 계보를 계속 탐색할 수 있습니다. 노드를 클릭하면 노드 개요를 보여주는 미리보기가 열립니다. 화살표를 클릭하면 개별 실행 또는 아티팩트를 추출하여, 추출된 노드의 계보를 자세히 살펴볼 수 있습니다.
실행 클러스터 검색
W&B Python SDK를 사용해 프로그래밍 방식으로 그래프를 탐색할 수 있습니다. 아티팩트 객체의 logged_by()used_by() 메서드를 사용하여 그래프를 순회합니다:
with wandb.init() as run:
    artifact = run.use_artifact("artifact_name:latest")

    # 아티팩트에서 그래프를 위아래로 탐색합니다:
    producer_run = artifact.logged_by()
    consumer_runs = artifact.used_by()