점수 분석

점수 분석 (Score Analytics)

Score Analytics는 별도 설정 없이 평가 데이터를 바로 분석할 수 있는 가볍고 제로-컨피규레이션 방식이에요. 서로 다른 LLM judge가 일관된 결과를 내는지 검증하거나, 사람 주석이 자동 평가와 일치하는지 확인하거나, 점수 분포와 추세를 살펴보는 데 도움을 줘요.

출처: 문서

본문

Score Analytics는 별도 설정 없이 평가 데이터를 바로 분석할 수 있는 가볍고 제로-컨피규레이션 방식이에요. 서로 다른 LLM judge가 일관된 결과를 내는지, 사람 주석이 자동 평가와 일치하는지, 점수 분포와 추세를 탐색하는 등 평가 과정에 대한 신뢰를 쌓는 데 도움을 줘요.

왜 Score Analytics를 쓰나요? (Why use Score Analytics?)

Score Analytics는 Langfuse의 experiment SDK와 셀프서비스 대시보드를 보완하며 즉시·설정 없는 점수 분석을 제공해요:

  • 가벼운 설정(Lightweight Setup): 설정이 필요 없어요. 점수가 수집되자마자 바로 분석을 시작할 수 있어요.
  • 빠른 검증(Quick Validation): 서로 다른 출처(예: judge로 GPT-4 vs Gemini)의 점수를 비교해 일치도를 측정하고 신뢰성을 보장해요.
  • 즉시 인사이트(Out-of-the-Box Insights): 커스텀 대시보드 설정 없이 분포를 시각화하고 추세를 추적하며 상관관계를 발견해요.
  • 통계적 엄밀성(Statistical Rigor): Pearson 상관, Cohen's Kappa, F1 점수 같은 메트릭을 내장 해석과 함께 제공해요.

커스텀 메트릭이나 복잡한 비교가 필요한 고급 분석에는 experiment SDK를 사용해 더 깊이 조사할 수 있어요.

시작하기 (Getting Started)

전제 조건 (Prerequisites)

평가 방법 중 어떤 것이든 Langfuse 프로젝트에 score 데이터가 있는지 확인하세요:

  • 사람 주석 (Human annotations)
  • LLM-as-a-Judge 평가
  • 코드 평가기 (Code evaluators)
  • SDK 또는 API로 수집한 커스텀 점수

Score Analytics로 이동 (Navigate to Score Analytics)

  1. Langfuse에서 프로젝트로 이동하세요.
  2. 내비게이션 메뉴에서 Scores를 클릭하세요.
  3. Analytics 탭을 선택하세요.

단일 점수 분석 (Analyze a Single Score)

  1. 첫 번째 드롭다운 메뉴에서 점수를 선택하세요.
  2. 분석할 객체 타입을 고르세요 (Traces, Observations, Sessions, 또는 Dataset Run Items).
  3. 날짜 선택기로 시간 범위를 설정하세요 (예: 지난 90일).
  4. 총 개수, 평균/최빈값, 표준편차를 보여주는 Statistics 카드를 검토하세요.
  5. 점수 값이 어떻게 퍼져 있는지 Distribution 차트를 살펴보세요.
  6. 시간 패턴을 추적하는 Trend Over Time 차트를 확인하세요.

Single Score Analysis

두 점수 비교 (Compare Two Scores)

  1. 두 번째 드롭다운 메뉴에서 두 번째 점수를 선택하세요 (같은 데이터 타입이어야 해요).
  2. Statistics 카드의 비교 메트릭을 검토하세요:
    • 일치 개수 (Matched count: 같은 부모 객체에 붙은 점수)
    • 상관 메트릭 (Pearson, Spearman)
    • 오차 메트릭 (숫자 점수의 MAE, RMSE)
    • 일치도 메트릭 (범주형/불리언의 Cohen's Kappa, F1, Overall Agreement)
  3. Score Comparison Heatmap을 살펴보세요:
    • 강한 대각선 패턴은 좋은 일치를 의미해요.
    • 반대각선(anti-diagonal) 패턴은 음의 상관을 드러내요.
    • 흩어진 패턴은 낮은 정렬을 시사해요.
  4. matched 탭과 all 탭에서 분포를 비교하세요.
  5. 두 점수가 시간에 따라 어떻게 함께 추세를 보이는지 추적하세요.

Boolean Score Comparison

핵심 기능 (Key Features)

다중 데이터 타입 지원 (Multi-Data Type Support)

Score Analytics는 점수 데이터 타입에 따라 시각화와 메트릭을 자동으로 조정해요.

Text 점수는 자유 형식 텍스트를 의미 있게 집계·비교할 수 없어 Score Analytics에서 지원되지 않아요.

  • 숫자 점수 (Numeric Scores, 1-10 평가 같은 연속 값)
    • 분포: 값 범위를 보여주는 10개 빈의 히스토그램
    • 비교: 상관 패턴을 보여주는 10×10 히트맵
    • 메트릭: Pearson 상관, Spearman 상관, MAE, RMSE
  • 범주형 점수 (Categorical Scores, "good/bad/neutral" 같은 이산 카테고리)
    • 분포: 카테고리별 개수를 보여주는 막대 차트
    • 비교: 카테고리 정렬을 보여주는 N×M 혼동 행렬
    • 메트릭: Cohen's Kappa, F1 Score, Overall Agreement
  • 불리언 점수 (Boolean Scores, true/false 이진 값)
    • 분포: 2개 카테고리의 막대 차트
    • 비교: 2×2 혼동 행렬
    • 메트릭: Cohen's Kappa, F1 Score, Overall Agreement

Matched vs All 데이터 분석 (Matched vs All Data Analysis)

Score Analytics는 데이터를 이해하기 위한 두 가지 뷰를 제공해요:

Matched Data (기본 탭)

  • 선택한 두 점수가 모두 붙은 부모 객체(trace, observation, session, dataset run item)만 보여줘요.
  • 평가 방법 간 유효한 비교를 가능하게 해요.
  • 두 점수가 같은 부모 객체와 관련될 때 일치(match)가 존재해요.
  • 일치도와 상관 관계를 측정할 때 이 뷰를 사용하세요.

All Data (개별 점수 탭)

  • 각 점수의 완전한 분포를 독립적으로 보여줘요.
  • 평가 커버리지를 드러내요 (각 점수가 몇 개의 부모 객체에 있는지).
  • 평가 전략의 격차를 식별하는 데 도움이 돼요.

시간 기반 분석 (Time-Based Analysis)

Trend Over Time 차트로 점수 패턴을 모니터링해요:

  • 구성 가능한 간격(Configurable intervals): 분 단위에서 연 단위까지 (5m, 30m, 1h, 3h, 1d, 7d, 30d, 90d, 1y).
  • 자동 간격 선택(Automatic interval selection): 선택한 시간 범위에 기반한 스마트 기본값.
  • 갭 채우기(Gap filling): 누락된 시간 구간을 0으로 채워 일관된 시각화를 유지해요.
  • 평균 계산(Average calculations): 부제목에 해당 기간의 전체 평균을 보여줘요.

통계 메트릭 (Statistical Metrics)

Score Analytics는 해석 지침과 함께 업계 표준 통계 메트릭을 제공해요:

상관 메트릭 (숫자 점수용)

  • Pearson Correlation: 점수 간 선형 관계를 측정해요. 값은 -1(완전 음)에서 1(완전 양)까지.
    • 0.9-1.0: 아주 강한 상관
    • 0.7-0.9: 강한 상관
    • 0.5-0.7: 중간 상관
    • 0.5 미만: 약한 상관
  • Spearman Correlation: 단조 관계(순위 기반)를 측정해요. Pearson보다 이상치에 강건해요.

오차 메트릭 (숫자 점수용)

  • MAE (Mean Absolute Error): 점수 간 절대 차이의 평균. 낮을수록 좋아요.
  • RMSE (Root Mean Square Error): 평균 제곱 오차의 제곱근. MAE보다 큰 오차에 더 페널티를 줘요.

일치도 메트릭 (범주형/불리언 점수용)

  • Cohen's Kappa: 우연을 보정한 일치도 측정. 값은 -1에서 1까지.
    • 0.81-1.0: 거의 완벽한 일치
    • 0.61-0.80: 상당한 일치
    • 0.41-0.60: 중간 일치
    • 0.41 미만: 보통~약한 일치
  • F1 Score: 정밀도(precision)와 재현율(recall)의 조화 평균. 0~1 범위, 1이 완벽.
  • Overall Agreement: 일치 분류의 단순 백분율. 우연 일치로 보정되지 않아요.

예시 사용 사례 (Example Use Cases)

LLM Judge 신뢰성 검증 (Validate LLM Judge Reliability)

시나리오: helpfulness를 평가할 때 GPT-4와 Gemini를 둘 다 사용한다고 해요. 일관된 결과를 내고 있을까요?

워크플로:

  1. 점수 1로 "helpfulness_gpt4-NUMERIC-EVAL"을 선택하세요.
  2. 점수 2로 "helpfulness_gemini-NUMERIC-EVAL"을 선택하세요.
  3. Statistics 카드를 검토하세요: Pearson 상관 0.984, "Very Strong" 배지.
  4. 히트맵을 살펴보세요: 강한 대각선 패턴이 정렬을 확인해줘요.
  5. 결과: 두 judge가 강하게 일치하므로 평가가 신뢰할 만해요.

사람 vs AI 주석 일치도 (Human vs AI Annotation Agreement)

시나리오: quality에 대한 사람 주석과 AI 평가가 있어요. AI를 신뢰해도 될까요?

워크플로:

  1. 점수 1로 "quality-CATEGORICAL-ANNOTATION"을 선택하세요.
  2. 점수 2로 "quality-CATEGORICAL-EVAL"을 선택하세요.
  3. 혼동 행렬을 확인하세요: 강한 대각선은 좋은 일치를 의미해요.
  4. Cohen's Kappa를 검토하세요: 0.85로 "Almost Perfect" 일치.
  5. 결과: AI 평가가 사람 판단과 잘 일치해요.

음의 상관 식별 (Identify Negative Correlations)

시나리오: 서로 다른 애플리케이션 동작 간 관계 이해하기.

워크플로:

  1. 점수 1로 "has_tool_use-BOOLEAN-EVAL"을 선택하세요.
  2. 점수 2로 "has_hallucination-BOOLEAN-EVAL"을 선택하세요.
  3. 혼동 행렬을 관찰하세요: 반대각선 패턴.
  4. 결과: 에이전트가 도구를 사용할 때 환각이 덜 발생해요.

평가 커버리지 추적 (Track Evaluation Coverage)

시나리오: 평가 데이터가 얼마나 완전한가요?

워크플로:

  1. 아무 점수나 선택하세요.
  2. Distribution에서 "all" 탭과 "matched" 탭을 비교하세요.
  3. 총 개수를 확인하세요: 개별 점수 1이 1,143개, matched 쌍이 567개.
  4. 결과: 부모 객체의 약 50%가 두 점수를 모두 가진 것을 식별해요.

품질 회귀 탐지 (Detect Quality Regressions)

시나리오: 최근 배포 후 모델 품질이 떨어졌나요?

워크플로:

  1. 품질 또는 성능 점수를 선택하세요.
  2. 배포 전·후 기간을 포함하도록 시간 범위를 설정하세요.
  3. Trend Over Time 차트에서 하락이나 변화를 검토하세요.
  4. 결과: 품질 회귀를 빠르게 발견하고 근본 원인을 조사해요.

현재 제한사항 (Current Limitations)

베타 기능: Score Analytics는 현재 베타예요. 문제나 피드백을 알려주세요.

현재 제약:

  • 최대 두 개의 점수: 현재 한 번에 최대 두 개의 점수를 비교할 수 있어요. 다중 비교는 쌍별 분석을 수행하세요.
  • 같은 데이터 타입만: 같은 데이터 타입의 점수만 비교할 수 있어요 (숫자-숫자, 범주형-범주형, 불리언-불리언).
  • 샘플링: 성능 최적화를 위해 10만 개 이상의 점수(score1 또는 score2)가 예상되는 쿼리는 자동으로 랜덤 샘플링을 적용해요. 이 샘플링은 실제 랜덤 샘플링에 근사하며 데이터의 통계적 속성을 유지해요. 샘플링이 활성화되면 표시되는 지표가 있고, 완전한 데이터셋이 필요하다면 시간 범위나 객체 타입 필터로 분석 범위를 좁힐 수 있어요.

팁과 모범 사례 (Tips and Best Practices)

비교할 점수 선택 (Choosing Scores to Compare)

  • 같은 데이터 타입의 점수만 비교 가능해요.
  • 다른 스케일의 점수를 비교할 수는 있지만, 오차 메트릭(MAE, RMSE)은 스케일 차이의 영향을 받아요.
  • 의미 있는 비교를 위해 유사한 차원을 평가하는 점수를 선택하세요.

히트맵 해석 (Interpreting Heatmaps)

  • 대각선 패턴: 일치를 나타내요 (두 점수가 유사한 값 부여).
  • 반대각선 패턴: 음의 상관을 나타내요 (한 점수의 높은 값이 다른 점수의 낮은 값에 대응).
  • 흩어진 패턴: 낮은 상관 또는 노이즈가 많은 데이터를 나타내요.
  • 셀 강도: 더 어두운 셀은 해당 빈 조합에 더 많은 데이터 포인트가 있음을 의미해요.

Matched Data 이해 (Understanding Matched Data)

  • 점수는 항상 하나의 부모 객체(trace, observation, session, dataset run item)에 붙어요.
  • 두 점수가 같은 부모 객체와 관련될 때 일치가 존재해요.
  • matched 개수가 개별 개수보다 훨씬 낮으면 커버리지 격차가 있는 거예요.
  • 일부 평가 방법은 선택적일 수 있어요 (예: 엣지 케이스만 주석 처리).
  • 다른 메트릭과 함께 점수 추세를 시각화하는 커스텀 대시보드를 만들 수 있어요.
  • 외부 모니터링을 위해 집계된 점수 데이터를 프로그래밍 방식으로 조회하려면 Metrics API를 사용하세요.

GitHub Discussions

더 알아보기 (Learn more)