메인 콘텐츠로 건너뛰기
라인 플롯에서 포인트 집계 방식을 사용하여 Data Visualization의 정확성과 성능을 향상하세요. 포인트 집계 모드는 full fidelityrandom sampling 두 가지가 있습니다. 기본적으로 W&B에서는 full fidelity 모드를 사용합니다.

풀 피델리티

풀 피델리티 모드를 사용하면 W&B는 데이터 포인트 개수에 따라 x축을 동적으로 여러 버킷으로 나눕니다. 그런 다음 각 버킷 내에서 최소값, 최대값, 평균값을 계산하고, 선형 플롯을 위한 포인트 집계 결과를 렌더링합니다. 포인트 집계를 위해 풀 피델리티 모드를 사용할 때의 주요 장점은 다음 세 가지입니다:
  • 극단값과 스파이크 보존: 데이터의 극단값과 스파이크를 그대로 유지합니다.
  • 최소값 및 최대값 포인트 렌더링 방식 구성: W&B App을 사용해 극단값(최소/최대값)을 음영 영역으로 표시할지 여부를 대화형으로 설정할 수 있습니다.
  • 데이터 피델리티 손실 없이 데이터 탐색: 특정 데이터 포인트로 줌 인하면 W&B가 x축 버킷 크기를 재계산합니다. 이를 통해 정확도를 잃지 않고 데이터를 탐색할 수 있습니다. 캐싱을 사용해 이전에 계산된 집계를 저장하여 로딩 시간을 줄이며, 특히 대형 데이터셋을 탐색할 때 유용합니다.

전체 정밀도 켜기

W&B는 기본적으로 전체 정밀도 모드를 사용합니다. 수동으로 구성하려면 다음 단계를 따르세요:
  1. 워크스페이스로 이동합니다.
  2. 화면 오른쪽 상단에서 Add panels 버튼 왼쪽에 있는 톱니바퀴 아이콘을 선택합니다.
  3. 나타나는 UI 슬라이더에서 Line plots를 선택합니다.
  4. Point aggregation 섹션에서 Full fidelity를 선택합니다.
  5. Smoothing 알고리즘과 설정을 구성합니다.
  6. AggregationMean, Min 또는 Max로 설정합니다.
  7. Apply를 클릭합니다.

음영 설정

풀 파이델리티 선형 플롯(line plot)의 음영 영역에는 다음을 표시할 수 있습니다:
  • Min/Max: 각 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은 해당 버킷에 포함된 값입니다.
  • Standard deviation: 각 X축 지점에 대해 표준편차를 사용해 값의 변동성을 계산하고, 그 결과로 얻은 영역에 음영을 칠합니다. SD=1ni=1n(xix)2SD = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_i - \overline{x})^2}
  • Standard error: 각 X축 지점에 대해 표본 크기의 제곱근으로 값을 나누어 표본 오차의 가능성을 계산하고, 그 결과로 얻은 영역에 음영을 칠합니다: SE=SDnSE = \frac{SD}{\sqrt{n}}
  • None: 음영 없음(기본값).
다음 이미지는 파란색 선형 플롯을 보여 줍니다. 연한 파란색 음영 영역은 각 버킷의 최소값과 최대값을 나타냅니다.
음영이 있는 신뢰 구간
음영을 설정하려면:
  1. 워크스페이스로 이동합니다.
  2. 선형 플롯 위에 마우스를 올리고 톱니바퀴 아이콘을 클릭합니다.
  3. Data 탭에서 필요한 경우 Point aggregationFull fidelity로 설정한 다음, 스무딩 알고리즘을 구성합니다.
  4. Grouping 탭에서 Group runs를 켭니다. 선택적으로 Group by를 run 속성으로 설정합니다.
  5. AggMean(기본값), Min, 또는 Max로 설정합니다.
  6. RangeMin/Max, Std Dev, Std Err, 또는 None으로 설정합니다.
  7. Apply를 클릭합니다.

데이터 정확도를 유지하며 데이터 탐색하기

극단값이나 스파이크와 같은 중요한 지점을 놓치지 않고 데이터셋의 특정 영역을 분석할 수 있습니다. 선형 플롯에서 확대(zoom-in)하면, W&B는 각 버킷 내 최소값, 최대값, 평균값을 계산하는 데 사용되는 버킷 크기를 자동으로 조정합니다.
Plot zoom 기능
W&B는 기본적으로 x축을 동적으로 1,000개의 버킷으로 나눕니다. 각 버킷에 대해 W&B는 다음 값을 계산합니다:
  • Minimum: 해당 버킷에서 가장 낮은 값
  • Maximum: 해당 버킷에서 가장 높은 값
  • Average: 해당 버킷에 포함된 모든 포인트의 평균값
W&B는 값을 버킷 단위로 플로팅하여 데이터를 온전히 표현하면서, 모든 플롯에 극단값이 포함되도록 합니다. 1,000개 이하의 포인트로 확대되면, Full fidelity 모드에서 추가 집계 없이 모든 데이터 포인트를 그대로 렌더링합니다. 선형 플롯을 확대하려면 다음 단계를 따르세요:
  1. W&B 프로젝트로 이동합니다.
  2. 왼쪽 탭에서 Workspace 아이콘을 선택합니다.
  3. 필요하다면 워크스페이스에 선형 플롯 패널을 추가하거나, 기존 선형 플롯 패널로 이동합니다.
  4. 클릭 후 드래그하여 확대할 특정 영역을 선택합니다.
Line Plot Grouping 및 expressionsLine Plot Grouping을 사용할 때, 선택한 모드에 따라 W&B는 다음과 같이 동작합니다:
  • Non-windowed sampling (grouping): run 간 포인트를 x축 상에서 정렬합니다. 여러 포인트가 동일한 x값을 가지면 평균값을 사용하고, 그렇지 않으면 개별 포인트로 표시합니다.
  • Windowed sampling (grouping and expressions): x축을 250개의 버킷 또는 가장 긴 선의 포인트 수(둘 중 더 작은 값)로 나눕니다. W&B는 각 버킷 내 포인트의 평균을 계산합니다.
  • Full fidelity (grouping and expressions): Non-windowed sampling과 유사하지만, 성능과 세부 정보를 균형 있게 유지하기 위해 run당 최대 500개의 포인트를 가져옵니다.

랜덤 샘플링

랜덤 샘플링은 라인 플롯을 렌더링하기 위해 무작위로 선택된 1,500개의 데이터 포인트를 사용합니다. 데이터 포인트가 매우 많을 때 성능 측면에서 유용합니다.
랜덤 샘플링은 비결정론적으로 동작합니다. 즉, 랜덤 샘플링 과정에서 때때로 데이터의 중요한 이상치나 스파이크가 제외될 수 있어 데이터 정확도가 떨어질 수 있습니다.

랜덤 샘플링 활성화

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

샘플링되지 않은 데이터에 접근하기

W&B Run API를 사용하여 run에서 로깅된 메트릭의 전체 이력을 확인할 수 있습니다. 다음 예시는 특정 run에서 loss 값을 가져와 처리하는 방법을 보여줍니다.
# W&B API 초기화
run = api.run("l2k2/examples-numpy-boston/i0wt6xua")

# 'Loss' 메트릭의 히스토리 가져오기
history = run.scan_history(keys=["Loss"])

# 히스토리에서 loss 값 추출
losses = [row["Loss"] for row in history]