- 아티팩트 버전으로 로깅된 두 개의 W&B Tables를 비교하여 데이터 또는 모델 성능의 변화를 분석합니다.
- 데이터의 상위 수준 패턴을 파악합니다.
- 테이블에 로깅한 값이 여러 run 전반에서 어떻게 변하는지 확인합니다.
W&B Tables에는 다음과 같은 동작 특성이 있습니다:
- 아티팩트 컨텍스트에서의 비상태성: 아티팩트 버전과 함께 로깅된 테이블은 브라우저 창을 닫으면 기본 상태로 초기화됩니다.
- 워크스페이스 또는 Report 컨텍스트에서의 상태 유지: 단일 run 워크스페이스, 여러 run이 포함된 프로젝트 워크스페이스, Report에서 테이블에 가한 변경 사항은 유지됩니다.
테이블 비교 옵션

- W&B App에서 자신의 프로젝트로 이동하세요.
- 프로젝트 사이드바에서 Artifacts 아이콘을 선택하세요.
- 아티팩트 버전을 하나 선택하세요.

- 사이드바에서 비교하려는 두 번째 아티팩트 버전 위에 마우스를 올리고, 나타나는 Compare를 클릭하세요. 예를 들어 아래 이미지에서는 “v4”로 표시된 버전을 선택하여, 동일한 모델이 5 에포크의 트레이닝 후에 생성한 MNIST 예측 결과와 비교합니다.

병합 보기

- 조인 키 선택: 왼쪽 상단의 드롭다운을 사용해 두 테이블의 조인 키로 사용할 열을 설정합니다. 일반적으로 각 행의 고유 식별자(예: 데이터셋에서 특정 예시의 파일 이름 또는 생성된 샘플의 증가하는 인덱스)입니다. 현재는 어떤 열이든 선택할 수 있으므로, 읽기 어려운 테이블이 되거나 쿼리가 느려질 수 있다는 점에 유의하세요.
- 조인 대신 이어 붙이기(concatenate): 이 드롭다운에서 “concatenating all tables”를 선택해, 두 테이블의 모든 행을 열을 기준으로 조인하는 대신 하나의 더 큰 Table로 그대로 합칩니다 (UNION ALL).
- 각 Table을 명시적으로 참조: 필터 표현식에서 0, 1, * 을 사용해 한 개 또는 두 테이블 인스턴스의 특정 열을 명시적으로 지정합니다.
- 자세한 수치 차이를 히스토그램으로 시각화: 어떤 셀의 값이든 한눈에 비교할 수 있습니다.
나란히 보기

- 테이블을 한눈에 비교: 두 테이블에 동시에 정렬, 필터링, 그룹화 등의 연산을 적용해 변경 사항이나 차이를 빠르게 확인할 수 있습니다. 예를 들어, 추측값 기준으로 그룹화한 오분류 예측, 전체적으로 가장 어려운 네거티브 샘플, 실제 라벨별 신뢰도 점수 분포 등을 볼 수 있습니다.
- 두 테이블을 독립적으로 탐색: 스크롤하면서 관심 있는 쪽/행에 집중해 살펴볼 수 있습니다.
아티팩트 비교
시간에 따른 테이블 비교

모델 변형 간 테이블 비교
2x_layers_2x_lr과 baseline 간의 예측을 비교할 수 있습니다. 이 라이브 예제에서 나란히 보기(side-by-side view)를 사용한 다음, 1 트레이닝 에포크(왼쪽 탭)와 5 트레이닝 에포크(오른쪽 탭) 이후의 잘못된 예측만 필터링해 확인하세요.
- 1 트레이닝 에포크
- 5 트레이닝 에포크

여러 run에 걸쳐 값이 어떻게 변하는지 시각화하기
_step이며, 이는 W&B가 자동으로 로그해 주는 특수 키입니다. _step 키는 코드에서 wandb.Run.log()를 호출할 때마다 1씩 증가하는 정수입니다.
W&B Table에 스텝 슬라이더를 추가하려면:
- 프로젝트의 Workspace로 이동합니다.
- Workspace 오른쪽 상단에서 Add panel을 클릭합니다.
- Query panel을 선택합니다.
- 쿼리 식 편집기에서
runs를 선택한 다음 키보드에서 Enter 키를 누릅니다. - 패널 설정을 보려면 톱니바퀴 아이콘을 클릭합니다.
- Render As 선택기를 Stepper로 설정합니다.
- Stepper Key를
_step또는 스텝 슬라이더에서 스텝 단위로 사용할 키로 설정합니다.

사용자 지정 step 키
epoch 또는 global_step처럼 run에서 step 키로 기록하는 임의의 수치형 메트릭이 될 수 있습니다. 사용자 지정 step 키를 사용하면, W&B는 해당 키의 각 값을 run의 step(_step)에 매핑합니다.
아래 표는 사용자 지정 step 키 epoch가 세 개의 서로 다른 run(serene-sponge, lively-frog, vague-cloud)에 대해 _step 값에 어떻게 매핑되는지를 보여줍니다. 각 행은 특정 run에서 특정 _step에 대해 wandb.Run.log()를 호출한 것을 나타냅니다. 각 열은 해당 step에서 기록된 epoch 값(있는 경우)을 보여줍니다. 공간을 절약하기 위해 일부 _step 값은 생략되었습니다.
wandb.Run.log()가 처음 호출되었을 때는 어떤 run도 epoch 값을 기록하지 않았기 때문에, 표에서 epoch 값은 비어 있습니다.
_step | vague-cloud (epoch) | lively-frog (epoch) | serene-sponge (epoch) |
|---|---|---|---|
| 1 | |||
| 2 | 1 | ||
| 4 | 1 | 2 | |
| 5 | 1 | ||
| 6 | 3 | ||
| 8 | 2 | 4 | |
| 10 | 5 | ||
| 12 | 3 | 6 | |
| 14 | 7 | ||
| 15 | 2 | ||
| 16 | 4 | 8 | |
| 18 | 9 | ||
| 20 | 3 | 5 | 10 |
epoch = 1로 설정하면 다음과 같은 일이 발생합니다.
vague-cloud는epoch = 1을 찾아_step = 5에서 기록된 값을 반환합니다.lively-frog는epoch = 1을 찾아_step = 4에서 기록된 값을 반환합니다.serene-sponge는epoch = 1을 찾아_step = 2에서 기록된 값을 반환합니다.
epoch = 9로 설정하면 다음과 같습니다.
vague-cloud는epoch = 9도 기록하지 않았으므로, W&B는 가장 최근의 이전 값인epoch = 3을 사용하고_step = 20에서 기록된 값을 반환합니다.lively-frog는epoch = 9를 기록하지 않았지만, 가장 최근의 이전 값이epoch = 5이므로_step = 20에서 기록된 값을 반환합니다.serene-sponge는epoch = 9를 찾아_step = 18에서 기록된 값을 반환합니다.
뷰 저장하기
아티팩트 컨텍스트에서 상호작용하는 테이블은 상태를 유지하지 않습니다.
- 워크스페이스 시각화 패널 오른쪽 상단에서 케밥 아이콘(세로 점 3개)을 선택합니다.
- Share panel 또는 Add to report를 선택합니다.

