LLM 정형화된 출력 평가용 새로운 벤치마크 공개
비정형 데이터를 정형화된 데이터(JSON)로 변환하는 LLM의 정확성을 평가하는 새로운 벤치마크인 SOB(Structured Output Benchmark)가 소개되었습니다. 기존 벤치마크들은 단순히 문법적 오류가 없는지(스키마 준수)만 확인하여 실제 업무 환경에서 발생할 수 있는 값의 환각이나 누락 문제를 잡아내지 못했습니다. 이를 해결하기 위해 SOB는 텍스트, 이미지, 오디오라는 3가지 입력 소스를 바탕으로 값의 정확도와 구조적 완성도 등 7가지 세부 지표를 사용해 실무에 적용 가능한 모델의 진짜 추출 능력을 평가합니다.
Interfaze Beta 가격 문서 블로그 로그인
구조화된 출력 벤치마크(SOB, Structured Output Benchmark) 소개
LLM은 점점 더 많은 비정형 및 반정형 소스에서 정형 데이터를 생성하기 위해 배포되고 있으며, 이는 송장 파싱, 의료 기록 처리, 회의록 변환 및 PDF를 데이터베이스 행으로 변환하는 작업 등에 활용됩니다. 결정론적 출력을 위해 워크플로우의 다음 단계는 특정 키를 읽고 특정 유형을 기대합니다. 환각(Hallucination)으로 인해 발생한 잘못된 invoice_total(송장 총액) 값이나 부정확한 날짜 값으로 인해 순서가 잘못된 배열은 하위 시스템을 조용히 고장 내버립니다. 그러나 기존의 벤치마크들은 스키마 준수 여부만 확인하거나 단일 소스 도메인 내에서 값의 정확성만 평가합니다.
한눈에 보는 상위 5개 모델 7가지 지표에서 상위 5개 모델을 나란히 비교한 결과입니다. 구조적 지표(JSON 통과율, 경로 재현율, 구조 적용범위, 타입 안정성)는 모든 모델에서 상한선에 가깝게 뭉쳐 있지만, '값의 정확도(Value Accuracy)'와 '완벽한 응답(Perfect Response)' 지표가 모델 간의 우열을 가립니다.
현재 구조화된 출력 벤치마크의 문제점 대부분의 벤치마크는 '구조화된 출력 품질'을 단일 숫자로 축소합니다. 즉, 응답이 구문 분석되는지 여부와 스키마에 대해 유효성 검사를 통과하는지만 확인합니다. 이는 필수적이지만 충분하지 않습니다.
- 스키마 준수가 유일한 지표인 경우: 모델이 잘못된 값으로 완벽하게 유효한 JSON을 내보내도 100점을 받을 수 있습니다.
- 단일 소스 입력(텍스트만): 실제 시스템은 깔끔한 텍스트뿐만 아니라 OCR, 스크린샷, 회의 오디오 및 PDF에서 데이터를 추출합니다.
- 난이도 가중치 없음: 중간 및 어려운 스키마가 동일하게 점수를 받아, 중첩된 구조를 실제로 잘 처리하는 모델을 구별하지 못합니다.
- 파싱/구조/값 오류의 분리 없음: 모델이 JSON, 스키마, 사실 중 어느 부분에서 실패했는지 알 수 없습니다.
- 추론/사고의 연쇄(CoT) 혼합: 결과가 추출 능력 자체가 아닌 추론과 추출을 함께 측정합니다.
기존 벤치마크 참조: JSONSchemaBench | StructEval | DeepJSONEval | LLMStructBench
SOB 작동 방식 SOB는 동일한 평가 파이프라인을 사용하여 세 가지 모달리티(입력 형식)에 걸쳐 구조화된 출력을 평가합니다. 목표는 모델의 다른 모든 능력과 관계없이 순수한 추출 능력만을 분리해내는 것입니다.
세 가지 소스, 하나의 평가 파이프라인
- 텍스트(Text): HotpotQA 컨텍스트 구절 (평가 레코드 5,000개)
- 이미지(Image): olmOCR-bench 문서 (평가 레코드 209개)
- 오디오(Audio): AMI Meeting Corpus 대화 (평가 레코드 115개)
모든 레코드는 JSON 스키마와 정답(Ground-truth)과 쌍을 이루며, 이 정답은 LLM 교차 확인을 통해 소스 컨텍스트와 대조하여 사람이 직접 작성 및 검증했습니다. 따라서 누락되거나 환각된 값은 명백하게 오류로 처리됩니다. 구조화된 출력 능력을 비전(Vision) 및 음성 인식(ASR) 품질과 분리하기 위해, 이미지 및 오디오 레코드는 평가 전에 텍스트로 정규화된 컨텍스트로 변환됩니다. 모델은 모달리티가 제거된 동일한 컨텍스트를 보게 되며, 남아 있는 차이는 서로 다른 콘텐츠 분포에서 모델이 스키마, 중첩 및 값 매핑을 어떻게 처리하는지에 기인합니다.
단일 지표가 아닌 7가지 지표 SOB는 모델이 어디에서 실패했는지 정확히 파악할 수 있도록 레코드당 7가지 지표를 제공합니다.
- 값의 정확도(Value Accuracy): 검증된 정답과 완전히 일치하는 최말단 값(leaf-value) 측정 (주요 지표)
- JSON 통과율(JSON Pass Rate): 응답이 구문 분석 가능한 JSON인지 여부
- 타입 안정성(Type Safety): 모든 최말단 값이 선언된 JSON 스키마 유형과 일치하는지 여부
- 구조 적용범위(Structure Coverage): 응답에 필요한 객체/배열 구조가 포함되어 있는지 여부
- 경로 재현율(Path Recall): 필요한 모든 JSON 경로(키)가 존재하는지 여부
- 충실도(Faithfulness): 값이 환각이 아니라 소스 컨텍스트에 기반하고 있는지 여부
- 완벽한 응답(Perfect Response): 전체 레코드의 모든 최말단 값이 정확한지 여부
'값의 정확도(Value Accuracy)'는 실제 프로덕션 환경에서 가장 중요한 지표입니다. 이는 하위 시스템이 사람의 검토 단계 없이 신뢰할 수 있는 필드의 비율을 나타냅니다.
평가 게이트(Gate) 스키마 준수 여부만으로 점수가 부풀려지는 것을 방지하기 위해 두 가지 평가 게이트를 적용합니다:
- 강화 게이트(Hardening gate): JSON 파싱에 실패하면 해당 레코드의 하위 의미론적 지표는 0점 처리됩니다.
- 적용범위 게이트(Coverage gate): '값의 정확도'는 모델이 실제로 반환한 필드에 대해서만 인정되며, 누락된 경로는 오답으로 간주됩니다.
스키마는 쉬움, 중간 또는 어려움으로 태그가 지정됩니다. 최종 리더보드는 스키마 복잡도에 따라 가중치가 부여됩니다 (쉬움 = 1.0, ...).