Using LLMs

LLM Evaluation

v1.0 · 2026-10-27
답을 정답과 비교하고, 근거를 대조하고, 채점의 흔들림을 잰다.

AI 호출 없이 작동한다. 지시문을 복사해 원하는 AI에 붙여 넣고, 받은 답은 이 페이지에서 검사한다.

붙여 넣은 답은 저장하지 않는다. 글씨 크기와 테마만 기기에 저장한다. 입력을 포함한 상태 링크는 수신자가 읽을 수 있으며 브라우저 기록·접속 로그에 남을 수 있다.

검사 규칙이 한국어 원문 기준이라, 영어판에서도 AI에게는 한국어로 답하게 한다.

Overview

Automatic Metrics(자동 지표)는 모델의 답을 사람이 쓴 정답과 글자·단어 단위로 비교해 점수를 낸다. 계산이 빠르고 누가 해도 같은 값이 나오지만, 뜻이 맞는지는 직접 보지 않는다. 이 탭은 EM, 토큰 F1, ROUGE-L을 계산하고 점수와 뜻이 어긋나는 답을 찾는다.

기호: ŷ는 모델의 답, y는 사람이 쓴 정답(gold), T(·)는 정규화한 뒤의 토큰 열이다.

Concept

EM(Exact Match, 완전 일치)은 정규화한 두 문자열이 같으면 1, 다르면 0이다. 정규화는 소문자로 바꾸기, 문장부호 지우기, 공백 정리다(SQuAD 평가 방식). 정답이 여럿이면 가장 높은 값을 쓴다.

$$\mathrm{EM}=\mathbf{1}[\,\mathrm{norm}(\hat y)=\mathrm{norm}(y)\,]$$

토큰 F1은 두 토큰 묶음에서 겹치는 개수로 정밀도 P와 재현율 R을 구하고 둘의 조화평균을 낸다. 토큰의 순서는 보지 않는다.

$$P=\frac{|T(\hat y)\cap T(y)|}{|T(\hat y)|},\quad R=\frac{|T(\hat y)\cap T(y)|}{|T(y)|},\quad F_1=\frac{2PR}{P+R}$$

ROUGE-L은 LCS(Longest Common Subsequence, 최장 공통 부분열)의 길이로 P와 R을 구한다. 순서를 지키며 겹치는 토큰만 센다. 이 페이지는 rouge-score 패키지처럼 β=1인 F 값을 쓴다.

$$P_{lcs}=\frac{\mathrm{LCS}(T(\hat y),T(y))}{|T(\hat y)|},\quad R_{lcs}=\frac{\mathrm{LCS}(T(\hat y),T(y))}{|T(y)|},\quad F_{lcs}=\frac{(1+\beta^2)P_{lcs}R_{lcs}}{R_{lcs}+\beta^2P_{lcs}}$$
90센티미터이상 90cm이상 yŷLCS = 4

토큰을 어떻게 자르느냐가 점수를 바꾼다. 한국어는 조사가 붙어 어절 모양이 바뀌므로 ‘난간대는’과 ‘난간대가’는 공백 기준으로는 다른 토큰이다. 이 페이지의 기본값은 KorQuAD 1.0 평가처럼 공백을 지운 글자 단위이고, 공백 기준 어절 단위로 바꿔 비교할 수 있다. 형태소 분석기는 쓰지 않았다. 사전 없이 브라우저에서 누구나 같은 값을 얻게 하기 위해서다.

rouge-score 패키지의 기본 토크나이저는 영문 소문자와 숫자 외의 문자를 지운다. 한국어 문장을 그대로 넣으면 한글이 모두 사라져 숫자만 남는다. ‘상부 난간대는 90센티미터 이상’과 ‘상부 난간대 90센티미터’는 둘 다 ‘90’만 남아 ROUGE-L이 1.0이 된다. 한국어에는 토크나이저를 따로 지정해야 한다.

BLEU는 1~4-gram 정밀도의 기하평균에 짧은 답 벌점을 곱한 번역 지표다. 문장 하나 단위로는 값이 불안정하고, 같은 뜻의 다른 표현이나 어순 변화에 크게 깎인다. ROUGE도 표면 겹침만 센다. 그래서 숫자 하나만 틀린 짧은 답이, 뜻은 맞지만 문장으로 풀어 쓴 답보다 높은 점수를 받을 수 있다.

이 페이지는 문항마다 사람이 정한 핵심값(숫자·단위·이상/이하, 또는 꼭 들어갈 용어)을 따로 둔다. 핵심값이 맞는데 F1이 기준 θ보다 낮으면 ‘뜻은 맞는데 점수 낮음’, 핵심값이 틀렸는데 F1이 θ 이상이면 ‘점수는 높은데 핵심값 틀림’으로 표시한다. 핵심값 검사는 단위를 바꿔 비교한다(27밀리미터 = 2.7센티미터).

Hands-on

01 / TEN QUESTIONS

10문항 지시문을 보내고 받은 답을 채점한다.

AI에게 건넬 글

“번호: 답” 줄 형식, 번호 목록, JSON 배열을 읽는다. 앞뒤 설명문과 코드 블록은 건너뛴다.

이 글을 원하는 AI에 붙여 넣으세요

질문, 정답, 핵심값
02 / SCORE ANATOMY

답 하나를 토큰으로 쪼개 점수가 어디서 나오는지 본다.

비교할 답

손으로 작성한 비교용 답이다. AI가 쓴 답이 아니다.

y 정답
ŷ 답 (누르면 토큰 빼기)

밑줄과 ✓는 LCS에 든 토큰이다. 답 쪽 토큰을 누르면 그 토큰을 빼고 다시 계산한다.

Summary

  • EM은 정규화한 문자열이 같을 때만 1이다. 단위 표기나 조사 하나로 0이 된다.
  • F1은 겹친 토큰 수, ROUGE-L은 순서를 지킨 겹침을 센다. 둘 다 뜻은 보지 않는다.
  • 한국어는 토큰 단위(글자·어절)에 따라 같은 답의 점수가 크게 달라진다. 단위를 함께 보고한다.
  • 숫자 하나 틀린 답이 높은 점수를 받을 수 있다. 핵심값은 따로 검사한다.

Notation

기호뜻단위
ŷ / y모델의 답 / 사람이 쓴 정답—
T(·)정규화한 뒤의 토큰 열 (글자 또는 어절)—
P / R정밀도 / 재현율0–1
F₁P와 R의 조화평균0–1
LCS최장 공통 부분열의 길이tokens
βROUGE-L에서 R에 주는 가중 (여기서는 1)—
θ낮은 점수로 볼 F1 기준 (정한 값)0–1

References

  1. Rajpurkar, Zhang, Lopyrev & Liang (2016). SQuAD: 100,000+ Questions for Machine Comprehension of Text. EMNLP.
  2. Lin (2004). ROUGE: A Package for Automatic Evaluation of Summaries. Text Summarization Branches Out, ACL Workshop.
  3. Papineni, Roukos, Ward & Zhu (2002). BLEU: a Method for Automatic Evaluation of Machine Translation. ACL.
  4. Callison-Burch, Osborne & Koehn (2006). Re-evaluating the Role of BLEU in Machine Translation Research. EACL.
  5. Lim, Kim & Lee (2019). KorQuAD1.0: Korean QA Dataset for Machine Reading Comprehension. arXiv:1909.07005.
  6. Google Research. rouge-score 0.1.2 (Python package) · Apache-2.0.

Overview

Hallucination(환각)은 답이 근거 자료에 없는 내용을 사실처럼 쓰는 현상이다. 요약에서는 원문과 다른 숫자·조번호나 원문에 없는 주장으로 드러난다. 이 탭은 요약을 문장으로 나누고, 문장마다 숫자·조번호·핵심어가 원문에 있는지 코드로 대조한다.

앞 탭의 ŷ는 모델의 답이다. 여기서 S는 원문, sⱼ는 요약의 j번째 문장, K(sⱼ)는 그 문장의 핵심어, τ는 핵심어 기준이다.

Concept

원문에 충실한가(faithfulness)와 세상 사실에 맞는가(factuality)는 다른 질문이다. 원문에 없는 내용이 우연히 사실일 수도 있다. 이 탭은 주어진 조문에 충실한지만 본다.

Summarys₁ … sₘNumber+unitArticle no.Key termsvs. source S
$$c_j=\frac{|\{t\in K(s_j): t\sqsubseteq S\}|}{|K(s_j)|},\qquad \mathrm{unsupported}(s_j)=\mathbf{1}[\exists\,q\in Q(s_j): q\notin S]\ \lor\ \mathbf{1}[c_j<\tau]$$

숫자: 값과 단위를 맞춰 비교한다(10미터 = 1,000센티미터). 이상·이하·이내가 붙어 있으면 원문과 같아야 한다. 조번호: 주어진 조와 그 조의 항·호, 원문이 인용한 조만 인정한다. 핵심어: 두 글자 이상 한글 어절에서 끝의 조사·어미를 목록으로 떼어 낸 줄기가 원문(공백 제거)에 그대로 있는지 본다. 사업주·설치·조치처럼 어디에나 나오는 말은 셈에서 뺀다.

판정: 숫자나 조번호가 하나라도 원문에 없거나 cⱼ<τ이면 ‘근거 없음’, 모두 있지만 핵심어가 일부 빠지면 ‘확인 필요’, 모두 있으면 ‘근거 있음’이다.

규칙 대조의 한계: 뜻은 맞지만 다른 말로 바꾼 문장은 근거 없음으로 잡힐 수 있고, 원문 단어만으로 뜻을 뒤집은 문장은 통과할 수 있다. 문장을 원자 사실로 나눠 검색과 모델로 확인하는 방법(FActScore 등)도 있지만, 이 탭은 모델 없이 규칙만 쓴다.

Hands-on

01 / SUMMARY CHECK

조문 요약을 받아 문장마다 근거를 대조한다.

AI에게 건넬 글

줄바꿈과 마침표로 문장을 나눈다. 글머리표·번호·굵게 표시는 지운다. 2.7 같은 소수점에서는 나누지 않는다.

이 글을 원하는 AI에 붙여 넣으세요

문장을 누르면 아래 원문에서 그 문장의 근거가 된 숫자·핵심어를 표시한다.

원문
법령 출처

산업안전보건기준에 관한 규칙 제13조·제14조. 시행 2026-03-02, 고용노동부령 제450호. 법령 원문은 저작권법 제7조 제1호에 따라 보호 제외. 영어 설명은 비공식 번역이다.

공식 원문
02 / FAULT INJECTION

예시 요약에 오류를 넣고 규칙이 무엇을 잡고 놓치는지 본다.

손으로 작성한 5문장 요약(제13조·제14조)에서 시작한다. AI가 쓴 요약이 아니다. 핵심어 기준 τ는 위 체험과 같다.

Summary

  • 충실성은 주어진 원문 기준, 사실성은 세상 기준이다. 이 탭은 충실성만 잰다.
  • 숫자·단위·이상/이하·조번호는 코드로 정확히 대조할 수 있다.
  • 핵심어 대조는 말바꿈에 헛경보를 내고, 뜻 뒤집기는 놓친다.
  • 규칙이 ‘근거 있음’이라고 해도 문장 사이 관계와 부정은 사람이 확인한다.

Notation

기호뜻단위
S요약에 준 원문 조문—
sⱼ요약의 j번째 문장—
Q(sⱼ)문장 속 숫자·단위·조번호—
K(sⱼ)문장의 핵심어 (조사·어미를 뗀 줄기)—
cⱼ원문에 있는 핵심어 비율%
τ핵심어 기준 (정한 값, 기본 70%)%

References

  1. Maynez, Narayan, Bohnet & McDonald (2020). On Faithfulness and Factuality in Abstractive Summarization. ACL.
  2. Ji et al. (2023). Survey of Hallucination in Natural Language Generation. ACM Computing Surveys.
  3. Min et al. (2023). FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation. EMNLP.
  4. 국가법령정보센터 · 산업안전보건기준에 관한 규칙 제13조·제14조 · 시행 2026-03-02 · 고용노동부령 제450호.

Overview

LLM-as-a-Judge(AI 채점자)는 모델에게 두 답을 비교하게 해 사람 평가를 대신하는 방법이다. 빠르고 많이 돌릴 수 있지만, 답을 보여 준 순서·답의 길이·자기 답 선호 같은 편향이 보고됐다. 이 탭은 같은 두 답을 순서만 바꿔 두 번 판정하게 하고, 판정이 유지되는지 센다.

앞 탭의 ŷ는 모델의 답이다. 여기서 A·B는 비교할 두 답, v는 자리 기준 판정(1·2·동점), w는 판정을 원래 이름 A·B로 되돌린 승자다.

Concept

A·B 순서에서는 답 1이 A, 답 2가 B다. B·A 순서에서는 답 1이 B다. 두 판정을 A·B 이름으로 되돌렸을 때 승자가 같으면 일관된 판정이다. 두 순서 모두 같은 자리를 고르면, 내용보다 자리를 고른 것으로 본다(position bias).

1: A2: B1: B2: Av_AB → w_ABv_BA → w_BAw_AB = w_BA ?
$$C=\frac{1}{M}\sum_{m=1}^{M}\mathbf{1}[\,w^{(m)}_{AB}=w^{(m)}_{BA}\,],\qquad \mathrm{Flip}=1-C$$

Zheng et al.(2023)은 순서를 바꿔 두 번 판정하고, 두 번 모두 같은 답이 이길 때만 승으로 세며 나머지는 동점으로 처리하는 방법을 썼다. Wang et al.(2024)은 판정 전에 근거를 먼저 쓰게 하고 두 순서의 결과를 합치는 보정을 제안했다. 참고 답을 함께 주는 방법(reference-guided)은 정답이 있는 질문에서 쓴다.

쌍 몇 개로 낸 비율은 흔들림이 크다. 쌍 10개에서 1개가 바뀌면 비율이 10%p 변한다. 이 수치를 그 모델의 일반적인 성질로 해석하지 않는다.

Hands-on

01 / ORDER SWAP

같은 두 답을 순서만 바꿔 두 번 판정받는다.

비교할 두 답 (손으로 작성)
A·B 순서 지시문
B·A 순서 지시문

이 글을 원하는 AI에 붙여 넣으세요

두 지시문은 서로 다른 새 대화에 붙여 넣는다. 같은 대화에서 받으면 앞의 판정이 뒤 판정에 영향을 준다.

[[1]]·[[2]]·[[동점]], “판정: 답 1”, JSON {"winner": "1"}, “답 2가 더 낫다”를 읽는다. 판정이 여러 번 나오면 마지막 것을 쓴다.

02 / FLIP TALLY

여러 쌍을 쌓아 순서 따라 바뀐 비율을 센다.

위에서 추가하거나, 다른 곳에서 받은 두 판정을 직접 고른다. 기록은 이 창을 닫으면 사라진다. 상태 링크에는 판정 기호만 담긴다.

행은 A·B 순서 판정, 열은 B·A 순서 판정이다. 칸을 누르면 그 칸의 기록만 아래에 보인다. 다시 누르면 전체를 보인다.

Summary

  • 같은 두 답을 순서만 바꿔 두 번 판정받는다.
  • 두 판정을 원래 이름으로 되돌려 승자가 같은지 본다.
  • 두 순서 모두 같은 자리를 고르면 자리 편향이다.
  • 순서가 바뀐 판정은 동점으로 처리하거나 결과를 합친다.
  • 쌍이 적으면 비율의 흔들림이 크다.

Notation

기호뜻단위
A / B비교할 두 답의 원래 이름—
v_AB / v_BA각 순서에서 받은 자리 기준 판정 (1·2·동점)—
w_AB / w_BAA·B 이름으로 되돌린 승자—
M기록한 쌍의 수count
C / Flip일관된 비율 / 순서 따라 바뀐 비율%

References

  1. Zheng et al. (2023). Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. NeurIPS Datasets and Benchmarks.
  2. Wang et al. (2024). Large Language Models are not Fair Evaluators. ACL.
  3. Liu et al. (2023). G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment. EMNLP.

Overview

Benchmark Contamination(평가 데이터 오염)은 평가 문항이나 정답이 학습 데이터에 이미 들어 있어 점수가 부풀려지는 문제다. 학습 데이터를 볼 수 있으면 문항과 학습 글 사이의 n-gram 겹침으로 의심 문항을 찾는다. 이 탭은 1탭의 10문항과 산업안전보건기준에 관한 규칙 본문 전체 사이의 겹침을 계산한다.

앞 탭의 ŷ·y는 답과 정답이다. 여기서 x는 평가 문항, D는 비교할 글 모음, n은 n-gram 길이, rₙ(x)는 겹친 n-gram 비율이다.

Concept

법령은 공개된 글이라 실제 학습 데이터에 들어 있을 가능성이 높다. 이 체험은 법령 본문(제1조~제674조, 부칙·별표 제외, 약 20만 자)을 학습 데이터 D로 가정한다.

$$G_n(x)=\{x_{i:i+n}\},\qquad r_n(x)=\frac{|\{g\in G_n(x): g\in G_n(D)\}|}{|G_n(x)|}$$

GPT-3 보고서(Brown et al. 2020)는 13-gram이 하나라도 겹치면 오염 의심으로 표시했다. PaLM 보고서(Chowdhery et al. 2022)는 8-gram의 70% 이상이 학습 데이터에 있으면 오염으로 봤다. 둘 다 단어 단위다.

x = 난 간 대 는 지 름 ( ) 이 상 의 금 속 제 파 이 프 나 … g₁ = x₁:₁₊ₙg₂ = x₂:₂₊ₙ … ∈ G_n(D) ?

계산: 문항의 각 위치 i에서 D 안에 이어서 나타나는 가장 긴 길이 Lᵢ를 한 번 구한다. 그러면 모든 n에 대해 i에서 시작하는 n-gram이 겹치는지는 Lᵢ ≥ n으로 바로 알 수 있다. 그래서 슬라이더를 움직여도 다시 검색하지 않는다.

n이 작으면 흔한 표현까지 겹쳐 의심 문항이 늘고, n이 크면 조금만 바꾼 문항도 놓친다. 글자 단위는 조사 차이에 덜 민감하지만, 같은 n이라도 어절 단위보다 훨씬 짧은 글 조각을 본다. 겹침은 노출됐을 가능성의 증거일 뿐, 모델이 외웠다는 증거가 아니다. 반대로 겹침이 없어도 번역·말바꿈 형태로 섞였을 수 있다.

Hands-on

01 / N-GRAM OVERLAP

n을 바꾸며 오염 의심 문항 수를 센다.

문항별 겹침 비율 (막대를 누르면 아래에 표시)
n에 따른 의심 문항 수
비교 글 모음 출처

산업안전보건기준에 관한 규칙 본문 전체(부칙·별표 제외). 시행 2026-03-02, 고용노동부령 제450호. 국가법령정보센터 PDF에서 글자를 뽑고 쪽 머리·꼬리를 지웠다. 법령 원문은 저작권법 제7조 제1호에 따라 보호 제외.

02 / REWRITE CHECK

문항을 고쳐 쓰게 하고 겹침이 줄었는지 본다.

AI에게 건넬 글

위 체험의 단위·n·규칙으로 다시 계산한다. 숫자 보존은 문항 속 숫자·단위가 원래 문항과 같은지 본다.

이 글을 원하는 AI에 붙여 넣으세요

Summary

  • 오염은 평가 문항이 학습 데이터에 들어 있어 점수가 부풀려지는 문제다.
  • n-gram 겹침은 n과 토큰 단위, 판정 규칙에 따라 의심 문항 수가 크게 달라진다.
  • 원문을 그대로 옮긴 빈칸형 문항이 가장 많이 겹친다.
  • 겹침은 노출 가능성의 증거이고, 말바꿈한 오염은 잡지 못한다.

Notation

기호뜻단위
x평가 문항 (선택하면 정답 포함)—
D비교할 글 모음 (법령 본문)—
nn-gram 길이글자 또는 어절
Gₙ(·)연속한 n개 토큰 조각의 집합—
rₙ(x)D에도 있는 n-gram의 비율%
Lᵢ위치 i에서 D와 이어서 겹치는 최대 길이tokens

References

  1. Brown et al. (2020). Language Models are Few-Shot Learners. NeurIPS. (Appendix C)
  2. Chowdhery et al. (2022). PaLM: Scaling Language Modeling with Pathways. arXiv:2204.02311.
  3. Sainz et al. (2023). NLP Evaluation in trouble: On the Need to Measure LLM Data Contamination for each Benchmark. Findings of EMNLP.
  4. Jacovi, Caciularu, Goldman & Goldberg (2023). Stop Uploading Test Data in Plain Text. EMNLP.
  5. 국가법령정보센터 · 산업안전보건기준에 관한 규칙 · 시행 2026-03-02 · 고용노동부령 제450호.

이 페이지의 체험은 원리를 보이기 위해 단순화한 모델이다.

점수는 정답과의 겹침이나 규칙 대조 결과이며, 답의 품질이나 법령 적합성을 판정하지 않는다.