7

RAG 설정 A/B 테스트 평가기

Day 3: RAGAS 평가

학습 목표
  • 두 가지 RAG 설정을 같은 질문 세트로 비교 평가할 수 있다
  • 대응 표본 순열검정과 다중 비교 보정으로 차이가 우연인지 판단할 수 있다
  • 표본이 부족할 때 승자를 선언하지 않는 판정 로직을 구현할 수 있다

RAG 설정 A/B 테스트

"청킹 사이즈 300 vs 500, 어떤 게 나을까?" "alpha 0.3 vs 0.5, 어떤 게 나을까?"

감으로 결정하지 말고, 데이터로 결정하자. 두 가지 설정의 RAG를 동일한 질문 세트로 평가하고 비교한다.

목표

  1. 두 설정의 RAG 결과를 질문 단위로 수집
  2. 질문별 지표 계산 (평균으로 뭉개지 말 것)
  3. 대응 표본 순열검정 + Holm-Bonferroni 보정
  4. 최적 설정 추천, 또는 판정 보류

"유의미한 차이"를 임계값 하나로 대신하지 않는다

abs(delta) >= 0.03 만 보고 승자를 정하면 표본 수도 분산도 보지 않는 것이다. 질문 5개에서 나온 0.05 차이와 질문 200개에서 나온 0.05 차이는 다른 사건이다. 그래서 이 과제는 두 가지를 함께 요구한다.

  • 통계적 유의성: 이 차이가 우연히 나올 확률이 얼마인가 (순열검정)
  • 실무적 크기: 그 차이가 바꿀 만한 크기인가 (PRACTICAL_THRESHOLD)

둘 중 하나만 만족하면 tie 다. 지표를 다섯 개 비교하므로 다중 비교 보정도 넣는다. scipy 없이 표준 라이브러리로 직접 만든다.

에디터 로딩 중...
힌트 보기
  • 질문별 점수를 리스트로 남겨야 검정을 할 수 있습니다. 평균 두 개만 있으면 우연인지 알 수 없습니다
  • 순열검정: 짝지어진 차이의 부호를 무작위로 뒤집어 분포를 만들고, 관측값이 얼마나 극단적인지 셉니다
  • p 값에 +1 보정(관측값 자신을 분포에 포함)을 넣으면 p=0 이 나오지 않습니다
  • 가중치는 Faithfulness를 가장 높게 설정하세요 (제조 안전)
  • 질문 수가 30개 미만이면 승자를 선언하지 말고 판정 보류로 두세요
정답 보기
에디터 로딩 중...
AI로 학습하기 — 꿀팁
RAG A/B 검정 통계 오류 점검AI 학습 팁

구현한 순열검정과 Holm-Bonferroni 보정을 AI에게 리뷰받아 검정력 부족과 p-hacking 위험을 확인하세요.

이 제조 RAG 설정 A/B 테스트 코드를 점검해줘. 대응 표본 순열검정 구현이 올바른지(부호 뒤집기, 양측 판정, +1 보정), Holm-Bonferroni 보정이 지표 다섯 개에 제대로 적용되는지 확인해줘. 그리고 질문 수가 30개일 때 이 검정이 얼마나 작은 차이까지 잡아낼 수 있는지(검정력) 추정해주고, 지표를 여러 번 재서 이긴 것만 보고하는 p-hacking 을 막으려면 무엇을 사전에 정해 두어야 하는지 알려줘.
이 팁이 도움이 됐나요?
용어