7분
RAG 설정 A/B 테스트 평가기
Day 3: RAGAS 평가
RAG 설정 A/B 테스트 평가기
RAG 심화 > Day 3: RAGAS 평가
학습 목표
- 두 가지 RAG 설정을 같은 질문 세트로 비교 평가할 수 있다
- 대응 표본 순열검정과 다중 비교 보정으로 차이가 우연인지 판단할 수 있다
- 표본이 부족할 때 승자를 선언하지 않는 판정 로직을 구현할 수 있다
RAG 설정 A/B 테스트
"청킹 사이즈 300 vs 500, 어떤 게 나을까?" "alpha 0.3 vs 0.5, 어떤 게 나을까?"
감으로 결정하지 말고, 데이터로 결정하자. 두 가지 설정의 RAG를 동일한 질문 세트로 평가하고 비교한다.
목표
- 두 설정의 RAG 결과를 질문 단위로 수집
- 질문별 지표 계산 (평균으로 뭉개지 말 것)
- 대응 표본 순열검정 + Holm-Bonferroni 보정
- 최적 설정 추천, 또는 판정 보류
"유의미한 차이"를 임계값 하나로 대신하지 않는다
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 을 막으려면 무엇을 사전에 정해 두어야 하는지 알려줘.
이 팁이 도움이 됐나요?