> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

> 아티팩트 리니지 그래프를 확인하고 탐색하여 W&B run의 입력과 출력을 방향성 비순환 그래프로 추적하세요.

# 아티팩트 리니지 그래프 탐색

W\&B는 *리니지 그래프* 라고 하는 방향성 비순환 그래프(DAG)를 사용하여 run의 입력과 출력을 추적합니다. 리니지 그래프는 ML 실험에서 아티팩트와 run 간의 관계를 시각적으로 표현한 것입니다. 리니지 그래프를 보면 원시 데이터 수집부터 모델 트레이닝 및 평가에 이르기까지 데이터와 모델이
ML 라이프사이클의 각 단계를 어떻게 거쳐 가는지 알 수 있습니다.

아티팩트 리니지를 추적하면 다음과 같은 주요 이점이 있습니다.

* **재현성**: 디버깅, 실험, 검증을 위해 실험, 모델, 결과를 재현할 수 있습니다.
* **버전 관리**: 아티팩트의 변경 사항을 시간순으로 추적하므로, 필요할 때 이전 데이터 또는 모델 버전으로 되돌릴 수 있습니다.
* **감사**: 아티팩트와 변환에 대한 상세한 기록을 유지하여 규정 준수와 거버넌스를 지원합니다.
* **협업**: 실험 이력을 투명하게 공유하여 중복 작업을 줄이고 개발 속도를 높이므로 팀 협업이 원활해집니다.

<h2 id="view-an-artifacts-lineage-graph">
  아티팩트의 리니지 그래프 보기
</h2>

아티팩트의 리니지 그래프를 보려면 다음 단계를 따르세요.

1. W\&B App에서 프로젝트의 워크스페이스로 이동하세요.
2. 프로젝트 사이드바에서 **Artifacts** 탭을 클릭하세요.
3. 아티팩트를 선택한 다음 **Lineage** 탭을 클릭하세요.

<h2 id="navigate-lineage-graphs">
  리니지 그래프 탐색
</h2>

리니지 그래프는 ML 실험에서 아티팩트와 run 간의 관계를 시각적으로 나타낸 것입니다. W\&B App UI 또는 Python SDK를 사용하여 아티팩트의 리니지 그래프를 탐색하고 순회할 수 있습니다.

<Tabs>
  <Tab title="W&B App UI">
    녹색 아이콘으로 표시된 노드는 run을, 파란색 아이콘으로 표시된 노드는 아티팩트를 나타냅니다. 노드 사이의 화살표는 run 또는 아티팩트의 입력과 출력을 나타냅니다.

    아티팩트 노드에는 아티팩트 이름과 버전이 `<artifact_name>:<version>` 형식으로 표시됩니다. 아티팩트 유형은 아티팩트 이름 위에 표시됩니다.

    <Note>
      아티팩트의 유형과 이름은 왼쪽 사이드바와 리니지 그래프 노드 모두에서 확인할 수 있습니다.
    </Note>

    run 노드에는 run 이름이 표시됩니다.

    <Frame>
      <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/lineage2.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=a2fd27e45b1a080e02a194af597debaf" alt="run 및 아티팩트 노드" width="4608" height="1754" data-path="products/wandb/_media/lineage2.png" />
    </Frame>

    run을 클릭하면 시작 시간, 소요 시간, 작성자, 작업 유형 등 해당 run의 자세한 정보를 확인할 수 있습니다. 아티팩트를 클릭하면 별칭, 생성 시간, 유형, 버전, 설명, 아티팩트를 로깅한 run, 파일 크기 등 해당 아티팩트의 자세한 정보를 확인할 수 있습니다.

    <Frame>
      <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/lineage3a.gif?s=312d9c111d2e9b16cb04de31f06c5865" alt="run 미리 보기" width="4754" height="1930" data-path="products/wandb/_media/lineage3a.gif" />
    </Frame>

    동일한 아티팩트의 여러 버전을 생성하는 run은 하나의 클러스터로 묶여 표시됩니다. 클러스터에 나열된 특정 아티팩트 버전을 클릭하면 해당 아티팩트 버전의 상세 정보를 확인할 수 있습니다.

    <Frame>
      <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/lineage_multiple_artifact_versions.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=0ec0d2f4d521f0a27be77dfaa156d212" alt="리니지 그래프의 아티팩트 버전 클러스터" width="4594" height="1866" data-path="products/wandb/_media/lineage_multiple_artifact_versions.png" />
    </Frame>

    노드를 클릭한 채로 드래그하여 그래프 레이아웃을 원하는 대로 사용자 지정할 수 있습니다. 그래프를 확대하거나 축소하여 노드와 노드 간의 관계를 더 쉽게 살펴볼 수도 있습니다.

    <Frame>
      <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/lineage_rearrange_nodes.gif?s=81b87ad3898858fd9cc38b7f732237d3" alt="리니지 그래프에서 노드 재배치" width="4754" height="2466" data-path="products/wandb/_media/lineage_rearrange_nodes.gif" />
    </Frame>

    노드 위에 마우스 포인터를 올린 뒤 눈 아이콘을 클릭하면 그래프에서 해당 노드를 숨기거나 표시할 수 있습니다. 그래프를 간결하게 정리하여 특정 노드와 그 관계에 집중하고 싶을 때 유용합니다.
  </Tab>

  <Tab title="W&B Python SDK">
    W\&B Python SDK를 사용하면 프로그래밍 방식으로 그래프를 탐색할 수 있습니다. 아티팩트 객체의
    [`logged_by()`](/ko/products/wandb/ref/python/experiments/artifact#method-artifact-logged-by) 및 [`used_by()`](/ko/products/wandb/ref/python/experiments/artifact#method-artifact-used-by) 메서드를 사용하여 그래프를 순회하세요.

    ```python theme={"system"}
    with wandb.init() as run:
        artifact = run.use_artifact("artifact_name:latest")

        # 아티팩트를 기준으로 그래프를 위아래로 순회:
        producer_run = artifact.logged_by()
        consumer_runs = artifact.used_by()
    ```
  </Tab>
</Tabs>

<h2 id="enable-lineage-graph-tracking">
  리니지 그래프 추적 활성화
</h2>

리니지 그래프 추적을 활성화하려면 W\&B Python SDK로 아티팩트를 run의 [입력](/ko/products/wandb/artifacts/explore-and-traverse-an-artifact-graph) 또는
[출력](/ko/products/wandb/artifacts/explore-and-traverse-an-artifact-graph#track-the-output-of-a-run)으로 지정해야 합니다.

<h3 id="track-the-input-of-a-run">
  run의 입력 추적하기
</h3>

[`wandb.Run.use_artifact()`](/ko/products/wandb/ref/python/experiments/run#method-runuse_artifact)
메서드를 사용하여 아티팩트를 run의 입력(또는 의존성)으로 표시하세요. 아티팩트 이름을 지정하고, 해당 아티팩트의 특정 버전을 참조하려면 별칭(선택 사항)도 함께 지정하세요. 아티팩트
이름 형식은 `<artifact_name>:<version>` 또는 `<artifact_name>:<alias>`입니다.

꺾쇠괄호(`< >`)로 묶인 값을 실제 값으로 바꾸세요.

```python theme={"system"}
import wandb

# run 초기화
with wandb.init(entity="<entity>", project="<project>") as run:
  # 아티팩트를 조회하고 의존성으로 표시
  artifact = run.use_artifact(artifact_or_name="<name>", aliases="<alias>")
```

<h3 id="track-the-output-of-a-run">
  run의 출력 추적하기
</h3>

[`wandb.Run.log_artifact()`](/ko/products/wandb/ref/python/experiments/run#log_artifact)를 사용하면 아티팩트를 run의 출력으로 선언할 수 있습니다. 먼저
[`wandb.Artifact()`](/ko/products/wandb/ref/python/experiments/artifact#wandb.Artifact) 생성자로 아티팩트를 만드세요. 그런 다음
`wandb.Run.log_artifact()`로 해당 아티팩트를 run의 출력으로 로깅하세요.

꺾쇠괄호(`< >`)로 묶인 값을 실제 값으로 바꾸세요.

```python theme={"system"}
import wandb

# run 초기화
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의 출력으로 로깅
  run.log_artifact(artifact_or_path = artifact)
```

<h2 id="artifact-clusters">
  아티팩트 클러스터
</h2>

그래프의 한 수준에 run 또는 아티팩트가 5개 이상 있으면 클러스터가 생성됩니다. 클러스터에는 run 또는 아티팩트의 특정 버전을 찾을 수 있는 검색 창이 있으며, 클러스터에서 개별 노드를 꺼내어 해당 노드의 리니지를 계속 살펴볼 수 있습니다.

노드를 클릭하면 해당 노드의 개요를 보여 주는 미리 보기가 열립니다. 화살표를 클릭하면 개별 run 또는 아티팩트가 추출되며, 추출된 노드의 리니지를 확인할 수 있습니다.

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/lineage3b.gif?s=b0e02791559ddc14bb345c930cc11e73" alt="run 클러스터 검색" width="3016" height="1600" data-path="products/wandb/_media/lineage3b.gif" />
</Frame>
