Show HN: 결정론적 출력을 위한 LLM 테스트용 새로운 벤치마크
요약
LLM의 구조화된 데이터 생성 능력을 정밀하게 평가하기 위해 설계된 새로운 벤치마크 SOB를 소개합니다. 기존 벤치마크가 스키마 준수 여부에만 집중하는 한계를 넘어, 값의 정확도와 다양한 모달리티(텍스트, 시각, 오디오)에서의 추출 능력을 분리하여 측정합니다.
핵심 포인트
- 기존 벤치마크는 스키마 준수(Parsing)와 실제 값의 정확도(Value Accuracy)를 구분하지 못하는 한계가 있음
- SOB는 구조적 지표와 값 정확도를 분리하여 모델의 실제 추출 능력을 다각도로 평가함
- 텍스트뿐만 아니라 이미지, 오디오 등 다양한 모달리티를 포함하며, 모달리티의 품질이 아닌 추출 능력 자체를 측정하기 위해 텍스트 정규화 과정을 거침
- 중첩된 구조(nested structure)와 난이도 가중치를 반영하여 모델 간의 변별력을 높임
LLM(Large Language Models)은 비정형 및 반정형 소스로부터 송장(invoice), 의료 기록, 회의 녹취록을 파싱하거나 PDF를 데이터베이스 행으로 변환하는 등 구조화된 데이터(structured data)를 생성하기 위해 점점 더 많이 배포되고 있습니다.
결정론적 출력(deterministic output)을 위해, 워크플로우의 다음 단계는 특정 키(key)를 읽고 특정 유형(type)을 기대합니다. 환각(hallucination)된 invoice_total이나 부정확한 날짜 값으로 인해 순서가 잘못된 array는 다운스트림 시스템(downstream systems)을 소리 없이 망가뜨립니다. 하지만 기존의 벤치마크들은 스키마 준수(schema compliance)만을 확인하거나, 단일 소스 도메인 내에서의 값 정확도(value correctness)만을 평가합니다.
7개 지표 전체에 걸쳐 상위 5개 모델을 나란히 비교한 결과입니다. 구조적 지표(JSON Pass, Path Recall, Structure Coverage, Type Safety)는 모든 모델에서 상한선 근처에 모여 있는 반면, 값 정확도(Value Accuracy)와 완벽한 응답(Perfect Response)이 모델들을 구분 짓습니다.
대부분의 벤치마크는 "구조화된 출력 품질(structured output quality)"을 단 하나의 숫자로 축소합니다: 응답이 파싱(parse)되는가, 그리고 스키마에 따라 검증(validate)되는가? 이는 필요조건일 뿐, 충분조건은 아닙니다.
| 현재 벤치마크의 문제점 | 놓치고 있는 것 |
|---|---|
| 스키마 준수만을 유일한 지표로 사용 | 모델이 잘못된 값을 가진 완벽하게 유효한 JSON을 생성하고도 100점을 받을 수 있음 |
| 단일 소스 입력 (텍스트 전용) | 실제 시스템은 깨끗한 텍스트뿐만 아니라 OCR, 스크린샷, 회의 오디오, PDF에서 정보를 추출함 |
| 난이도 가중치 부재 | 중간 및 어려운 스키마가 동일하게 점수화되어, 어떤 모델이 실제로 중첩된 구조(nested structure)를 처리하는지 숨김 |
| 파싱 / 구조 / 값 오류의 분리 부재 | 모델이 JSON에서 실패했는지, 스키마에서 실패했는지, 아니면 사실 관계에서 실패했는지 알 수 없음 |
| 추론 / 사고 사슬(chain-of-thought)의 혼재 | 결과가 추출 능력 자체가 아닌, 추론과 추출을 함께 측정함 |
기존 벤치마크 참조: JSONSchemaBench | StructEval | DeepJSONEval | LLMStructBench | ExtractBench | STED
SOB는 동일한 채점 하네스(scoring harness)를 사용하여 세 가지 모달리티(modalities)에 걸쳐 구조화된 출력을 평가합니다. 목표는 모델이 가진 다른 모든 능력으로부터 추출 능력(extraction capability)을 분리해내는 것입니다.
| 양식 (Modality) | 소스 데이터셋 (Source dataset) | 평가 레코드 (Eval records) |
|---|---|---|
| 텍스트 (Text) | HotpotQA 문맥 구절 (context passages) | 5,000 |
| ... |
모든 레코드는 JSON 스키마 (JSON Schema) 및 소스 문맥(source context)에 대해 검증된 정답(ground-truth answer)과 쌍을 이룹니다. 이 정답은 LLM 교차 확인(cross-check)을 포함한 인간 저술 과정을 통해 검증되었으므로, 누락되거나 환각(hallucination)된 값은 명확하게 오답으로 처리됩니다.
시각(vision) 및 자동 음성 인식(ASR) 품질로부터 구조화된 출력(structured-output) 능력을 분리하기 위해, 이미지 및 오디오 레코드는 점수를 매기기 전에 텍스트로 정규화된 문맥(text-normalized context)으로 변환됩니다. 모델들은 모달리티가 제거된 동일한 문맥을 보게 되며, 이때 남는 차이점은 모델이 서로 다른 콘텐츠 분포 하에서 스키마(schema), 중첩(nesting), 그리고 값의 근거 제시(value grounding)를 어떻게 처리하는지에 기인합니다.
SOB는 모델이 정확히 어느 부분에서 실패하는지 확인할 수 있도록 레코드당 7개의 지표를 보고합니다:
| 지표 (Metric) | 측정 대상 |
|---|---|
| 값 정확도 (Value Accuracy) | 검증된 정답과 정확한 리프 값(leaf-value) 일치 여부 (주요 지표) |
| JSON 통과율 (JSON Pass Rate) | 응답이 파싱 가능한 JSON인지 여부 |
| 타입 안정성 (Type Safety) | 모든 리프 값이 선언된 JSON 스키마 타입과 일치하는지 여부 |
| 구조 커버리지 (Structure Coverage) | 응답에 요구된 객체/배열(object/array) 구조가 포함되어 있는지 여부 |
| 경로 재현율 (Path Recall) | 모든 요구되는 JSON 경로(키)가 존재하는지 여부 |
| 충실도 (Faithfulness) | 값이 환각되지 않고 소스 문맥에 근거하고 있는지 여부 |
| 완벽한 응답 (Perfect Response) | 전체 레코드에 대해 모든 리프 값이 정확히 일치하는지 여부 |
값 정확도(Value Accuracy)는 실제 서비스(production) 환경에서 가장 중요한 지표입니다. 이는 다운스트림 시스템이 인간의 검토 단계 없이 신뢰할 수 있는 필드의 비율을 의미합니다.
스키마만 잘 맞추어 점수가 부풀려지는 것을 방지하기 위해 두 가지 관문(gates)을 둡:
각 스키마는 중간(medium) (중첩된 객체 또는 스칼라의 배열, 깊이 2) 또는 어려움(hard) (객체의 배열, 또는 깊이 ≥3)로 태그가 지정됩니다. 어려운 스키마가 코퍼스(corpus)의 대부분을 차지하며 (텍스트 61%, 이미지 88%, 오디오 98%), 최종 리더보드는 **스키마 복잡도 가중치(schema-complexity-weighted)**를 적용합니다 (쉬움 = 1.0, 중간 = 2.0, 어려움 = 3.0). 따라서 어려운 스키마가 중간 스키마보다 순위에 더 많이 기여합니다.
우리는 모든 모델에 대해 Temperature 0.0, 최대 출력 2048 토큰(tokens)을 설정하고, 제공업체가 허용하는 한 추론/사고(reasoning/thinking)를 사용하지 않고 SOB를 실행했습니다. 따라서 점수는 순수한 구조화된 출력(structured output) 및 추출 능력(extraction capability)을 반영합니다.
리더보드(leaderboard)의 일부 모델은 추론을 완전히 끌 수 없기 때문에, 다음과 같이 **가장 낮은 추론 설정(lowest-reasoning configuration)**으로 실행되었습니다:
GPT-5 / GPT-5-Mini에서는 "minimal"로, GPT-5.5에서는 "none"으로 설정했습니다. 이는 위에서 언급한 고정된 모델들이 다른 모델들이 얻지 못하는 약간의 추론 이점을 가진 상태로 점수가 매겨졌음을 의미하지만, 그럼에도 불구하고 여러 비추론(non-reasoning) 모델들이 가치 정확도(Value Accuracy)에서 이들을 앞질렀습니다.
| 순위 | 모델 | 종합 (Overall) | 가치 정확도 (Value Acc) | 충실도 (Faithfulness) | JSON 통과 (JSON Pass) | 경로 재현 (Path Recall) | 구조 커버리지 (Structure Cov) | 타입 안전성 (Type Safety) | 완벽성 (Perfect) |
|---|---|---|---|---|---|---|---|---|---|
| 1 | GPT-5.4 | 0.870 | 0.798 | 0.869 | 0.993 | 0.988 | 0.981 | 0.993 | 0.469 |
| ... | |||||||||
| 상위 6개 모델은 종합 점수에서 서로 1점 이내의 차이를 보이지만, 개별 지표에서는 순위가 자유롭게 바뀝니다. 순위는 절대적인 것이 아니라 지표별로 다릅니다. Gemini-3.1-Pro는 통합 가치 정확도(Value Accuracy) 리더보드에서 82.0%로 1위를 차지했으며, GLM-5.1(80.6%), GLM-4.7(80.4%), 그리고 Qwen3.5-35B(80.1%)를 근소한 차이로 앞질렀습니다. 이 세 모델은 실제 운영 환경의 추출(production extraction)에서 가장 중요한 지표를 기준으로 여러 프런티어(frontier) 폐쇄형 소스(closed-source) 모델들을 능가한 오픈 웨이트(open-weight) 모델들입니다. |
상위 2개 모델은 또한 이 목록에서 가장 비용이 많이 드는 두 모델이기도 합니다. GPT-5.4는 입력/출력 100만 토큰당 15.00달러가 소요되며, Gemini-3.1-Pro는 12.00달러가 소요됩니다. 가치 정확도에서 이들보다 2점 미만으로 뒤처지는 모델들과 비교해 보십시오:
| 모델 | 가치 정확도 (Value Accuracy) | 입력 (Input) | 출력 (Output) | GPT-5.4 대비 출력 비용 |
|---|---|---|---|---|
| GPT-5.4 | 79.8% | $2.50 | $15.00 | 1.00x |
| ... |
가격은 각 제공업체의 표준 공개 API 계층(standard public API tier) 기준 100만(1M) 토큰당 가격입니다. Qwen3.5-35B, GLM-4.7 또는 Gemini-2.5-Flash를 실행하는 파이프라인은 벤치마크 선두 모델보다 올바른 필드당 비용이 6배에서 11배까지 저렴하면서도, 가치 정확도 (Value Accuracy) 손실은 최대 약 2% 포인트에 불과합니다. 이것이 바로 상위 두 모델이 SOB(Structured Output Benchmark)를 선도함에도 불구하고, 실제 운영 환경의 구조화된 출력 (structured-output) 파이프라인에서 기본 선택지로 거의 사용되지 않는 이유입니다.
각 차트는 해당 단일 지표를 기준으로 28개 모델 전체를 다시 정렬하므로, 어떤 모델이 각 카테고리에서 승리하는지(단순히 전체 평균뿐만 아니라) 확인할 수 있습니다.
격차를 드러내기 위해, 각 차트의 x축은 해당 지표에 적절한 하한선(예: 가치 정확도 (Value Accuracy)의 경우 60%, JSON 통과 (JSON Pass)의 경우 80%)에서 시작합니다. 그렇지 않으면 상위 클러스터가 모두 동일해 보이기 때문입니다.
운영 시스템이 중요하게 생각하는 지표입니다. Gemini-3.1-Pro가 82.0%로 앞서고 있으며, 세 개의 오픈 웨이트 (open-weight) 모델 (GLM-5.1, GLM-4.7, Qwen3.5-35B)이 2% 포인트 범위 내에서 그 뒤를 잇고 있습니다.
값이 환각 (hallucination)된 것이 아니라 컨텍스트 (context)에 근거하여 생성되는 빈도입니다.
거의 모든 현대적 모델이 통합 리더보드 (unified leaderboard)에서 95% 이상을 기록합니다. 이것이 바로 통과율 (pass-rate)만 따지는 벤치마크로는 더 이상 모델들을 구분할 수 없는 이유입니다.
모든 필수 키 (required keys)가 출력에 나타나는지 여부입니다.
중첩된 객체 (nested objects)와 배열 (arrays)이 올바른 형태 (shape)로 존재하는지 여부입니다.
리프 값 (leaf values)이 선언된 JSON 스키마 (JSON Schema) 타입을 준수하는지 여부입니다 (예: 숫자가 기대되는 곳에 문자열이 오지 않는지).
모든 단일 리프 값이 정확하게 일치하는 레코드의 비율입니다. 이것은 가장 어려운 지표이며, 가장 우수한 모델들의 경우에도 약 절반 수준으로 급락합니다.
가장 중요한 관점입니다: 대부분의 모델이 JSON 통과 (JSON Pass)에서는 95% 이상을 기록하지만, 가치 정확도 (Value Accuracy)는 15에서 30포인트 더 낮게 나타납니다. 그 격차야말로 구조화된 출력 (structured output) 벤치마크들이 우리에게 거짓말을 해온 영역입니다.
격차(Gap) 열이 핵심입니다. 이 목록의 모든 모델은 97% 이상의 확률로 JSON 파싱 (JSON parsing)에 성공하지만, 실제 리프 값 추출 (leaf-value extraction) 성능은 17에서 26포인트까지 떨어집니다. GLM-5.1은 가장 좁은 격차(16.9 pp)와 목록 내 가장 높은 값 정확도 (Value Accuracy)를 기록한 반면, Schematron-8B는 JSON 파싱에는 98.7% 성공하지만 값 정확도는 73.1%로 가장 낮으며, 이는 25.6포인트의 하락을 의미합니다.
| 모델 (Model) | JSON 통과 (JSON Pass) | 값 정확도 (Value Accuracy) | 격차 (Gap) |
|---|---|---|---|
| GPT-5.4 | 99.3% | 79.8% | 19.5 pp |
| ... |
동일한 모델이라도 텍스트, 이미지, 오디오에 따라 매우 다른 점수를 기록합니다. 모든 모델이 동일하게 텍스트로 정규화된 컨텍스트 (text-normalized context)를 제공받더라도 마찬가지입니다. 오디오가 단연코 가장 어렵습니다. 전사 데이터 (transcripts)가 길고 (평균 약 7,300 토큰)
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기