메인 콘텐츠로 건너뛰기
데이터 시각화의 정확도와 성능을 높이려면 선형 플롯에서 포인트 집계 방법을 사용하세요. 포인트 집계 모드에는 full fidelity랜덤 샘플링, 두 가지 유형이 있습니다. W&B는 기본적으로 full fidelity 모드를 사용합니다.

Full fidelity

full fidelity mode를 사용하면 W&B는 x축을 동적 버킷으로 나눕니다. 각 선의 포인트 수는 chart 크기와 run 수에 따라 조정됩니다. 각 버킷 내의 최솟값과 최댓값을 계산하고(선택 음영에 사용됨), 기본 선을 그릴 때는 각 버킷의 마지막 값(평균이 아님)을 사용합니다. 포인트 aggregation에 full fidelity mode를 사용할 때의 주요 장점은 세 가지입니다:
  • 극값과 스파이크 보존: 데이터의 극값과 스파이크를 유지합니다.
  • 최솟값 및 최댓값 포인트의 render 방식 설정: W&B App을 사용해 극값(min/max)을 음영 영역으로 표시할지 대화형으로 결정할 수 있습니다.
  • 데이터 fidelity를 유지하면서 데이터 탐색: 특정 데이터 포인트로 확대하면 W&B가 x축 버킷 크기를 다시 계산합니다. 이를 통해 정확도를 잃지 않고 데이터를 탐색할 수 있습니다. 이전에 계산한 aggregation은 캐싱되어 로드 시간을 줄여 주며, 특히 큰 데이터셋을 탐색할 때 유용합니다.

full fidelity 활성화

W&B는 기본적으로 full fidelity 모드를 사용합니다. 수동으로 설정하려면 다음 단계를 따르세요.
  1. 워크스페이스로 이동합니다.
  2. 화면 오른쪽 상단에서 Add panels 버튼 왼쪽에 있는 톱니바퀴 아이콘을 선택합니다.
  3. 표시되는 UI 슬라이더에서 선형 플롯을 선택합니다.
  4. 포인트 집계 섹션에서 Full fidelity를 선택합니다.
  5. 스무딩 알고리즘과 설정을 구성합니다.
  6. 집계평균, 최소, 또는 최대로 설정합니다.
  7. 적용을 클릭합니다.

음영 설정

full fidelity 선형 플롯의 음영 영역에는 다음을 표시할 수 있습니다.
  • 최소/최대: 각 X축 지점에서 최솟값과 최댓값 사이 영역에 음영을 표시합니다. 음영 영역은 각 버킷에서 가장 낮은 값부터 가장 높은 값까지의 모든 지점을 보여줍니다. Min/Max Range=[min(x1,x2,,xn), max(x1,x2,,xn)]\text{Min/Max Range} = [\min(x_1, x_2, \ldots, x_n),\ \max(x_1, x_2, \ldots, x_n)] 여기서 x_1, x_2, \ldots, x_n는 주어진 버킷의 값입니다.
  • 표준편차: 각 X축 지점에서 표준편차를 사용해 값의 변동성을 계산하고, 그 결과 영역에 음영을 표시합니다. SD=1ni=1n(xix)2SD = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_i - \overline{x})^2}
  • 표준오차: 각 X축 지점에서 표준편차를 표본 크기의 제곱근으로 나누어 표본오차의 가능성을 계산합니다. SE=SDnSE = \frac{SD}{\sqrt{n}}
  • 없음: 음영을 표시하지 않습니다(기본값).
다음 이미지는 파란색 선형 플롯을 보여줍니다. 연한 파란색 음영 영역은 각 버킷의 최솟값과 최댓값을 나타냅니다.
음영 처리된 신뢰 영역
음영을 설정하려면 다음과 같이 하세요.
  1. 워크스페이스로 이동합니다.
  2. 선형 플롯 위에 마우스를 올린 다음 톱니바퀴 아이콘을 클릭합니다.
  3. Data 탭에서 필요하면 포인트 집계Full fidelity로 설정한 다음, 스무딩 알고리즘을 구성합니다.
  4. Grouping 탭에서 Group runs를 켭니다. 필요에 따라 Group by를 run 속성으로 설정합니다.
  5. AggMean(기본값), Min, 또는 Max로 설정합니다.
  6. RangeMin/Max, Std Dev, Std Err, 또는 None으로 설정합니다.
  7. Apply를 클릭합니다.

데이터 충실성을 유지한 채 데이터 탐색하기

극단값이나 스파이크 같은 중요한 지점을 놓치지 않고 데이터셋의 특정 구간을 분석하세요. 선형 플롯을 확대하면 W&B는 각 버킷 내 최소값, 최대값, 마지막 값을 계산하는 데 사용되는 버킷 크기를 조정합니다.
플롯 확대 기능
W&B는 동적 비닝을 사용해 x축을 버킷으로 나눕니다. 각 선에 표시되는 포인트 수는 차트 크기와 run 수에 따라 조정됩니다. 차트가 작거나 run 수가 많을수록 차트의 응답성을 유지하고 더 많은 선을 표시할 수 있도록 선당 포인트 수가 줄어들 수 있습니다. 각 버킷에 대해 W&B는 다음 값을 계산합니다.
  • 최소값: 해당 버킷의 가장 낮은 값입니다(음영 처리에 사용).
  • 최대값: 해당 버킷의 가장 높은 값입니다(음영 처리에 사용).
  • 선 값: 해당 버킷의 마지막 값으로, 선을 그리는 데 사용됩니다.
W&B는 전체 데이터 표현을 유지하고 모든 플롯에 극단값이 포함되도록 버킷 단위로 값을 플로팅합니다. 선은 각 버킷의 마지막 값을 기준으로 그려집니다. 충분히 확대하면 full fidelity mode에서 추가 집계 없이 모든 데이터 포인트를 렌더링할 수 있습니다. 정확한 임곗값은 현재 차트 크기와 run 수에 따라 달라집니다. 선형 플롯을 확대하려면 다음 단계를 따르세요:
  1. W&B 프로젝트로 이동합니다
  2. 왼쪽 탭에서 Workspace 아이콘을 선택합니다
  3. 필요에 따라 워크스페이스에 선형 플롯 패널을 추가하거나 기존 선형 플롯 패널로 이동합니다.
  4. 클릭한 상태로 드래그하여 확대할 특정 영역을 선택합니다.
선형 플롯 그룹화 및 표현식Line Plot Grouping을 사용하면 W&B는 선택한 모드에 따라 다음을 적용합니다:
  • 비윈도우 샘플링(그룹화): x축에서 run 간 포인트를 정렬합니다. 여러 포인트가 동일한 x값을 공유하면 평균을 계산하고, 그렇지 않으면 개별 포인트로 표시됩니다.
  • 윈도우 샘플링(그룹화 및 표현식): x축을 250개 버킷 또는 가장 긴 선의 포인트 수 중 더 작은 값 기준으로 나눕니다. W&B는 각 버킷 내 포인트의 평균을 계산합니다.
  • Full fidelity(그룹화 및 표현식): 비윈도우 샘플링과 유사하지만, 성능과 세부 표현의 균형을 위해 run당 최대 500개 포인트를 가져옵니다.

랜덤 샘플링

랜덤 샘플링은 선형 플롯을 렌더링할 때 무작위로 추출한 1500개의 포인트를 사용합니다. 샘플링 과정에서 일부 포인트가 제외되므로, 이상치나 급격한 스파이크를 식별하기가 더 어려워집니다.
랜덤 샘플링은 비결정적으로 수행됩니다. 즉, 경우에 따라 데이터의 중요한 이상치나 스파이크가 제외될 수 있으며, 그 결과 데이터 정확도가 낮아질 수 있습니다.

랜덤 샘플링 활성화

기본적으로 W&B는 full fidelity mode를 사용합니다. 랜덤 샘플링을 활성화하려면 다음 단계를 따르세요.
  1. W&B 프로젝트로 이동합니다
  2. 왼쪽 탭에서 Workspace 아이콘을 선택합니다
  3. 화면 오른쪽 상단의 Add panels 버튼 왼쪽에 있는 톱니바퀴 아이콘을 선택합니다.
  4. 나타나는 UI 슬라이더에서 선형 플롯을 선택합니다
  5. 포인트 집계 섹션에서 랜덤 샘플링을 선택합니다

샘플링되지 않은 데이터에 액세스

W&B Run API를 사용하면 run 동안 로깅된 메트릭의 전체 이력에 액세스할 수 있습니다. 다음 예제에서는 특정 run의 loss 값을 조회하고 처리하는 방법을 보여줍니다.
# W&B API 초기화
run = api.run("l2k2/examples-numpy-boston/i0wt6xua")

# 'Loss' metric의 이력 조회
history = run.scan_history(keys=["Loss"])

# 이력에서 loss 값 추출
losses = [row["Loss"] for row in history]