본문으로 건너뛰기

FinanceBench: 왜 벡터 저장소 RAG가 실제 금융 문서에서 실패하는가

· 약 5분
Mike Thrift
Mike Thrift
Marketing Manager

FinanceBench는 모든 기업용 AI 벤더들이 자사의 시스템이 "금융 문서에서 질문에 답할 수 있다"고 주장하는 시점에 등장했습니다. Patronus AI의 이 논문은 실제 SEC 공시와 엄선된 오픈북 질문을 사용하여 이러한 주장을 엄격하게 테스트합니다. 결과는 금융 AI를 구축하는 모든 이들에게 뼈아픈 내용을 담고 있습니다.

논문 소개

2026-05-12-financebench-open-book-financial-qa-benchmark

Islam 등은 FinanceBench: A New Benchmark for Financial Question Answering (arXiv:2311.11944)을 통해 실제 SEC 공시(10-K 연례 보고서, 10-Q 분기 보고서, 8-K 수시 보고서 및 실적 발표 녹취록)에서 추출한 상장 기업에 대한 10,231개의 질문 세트를 소개합니다. 미리 추출된 표와 구절을 제공하는 이전의 금융 QA 데이터셋(FinQA, TAT-QA)과 달리, FinanceBench는 시스템이 답변을 내놓기 전에 전체 문서에서 증거를 직접 찾아내야 합니다. 이것이 바로 실제 환경에서의 설정입니다. 질문들은 사실적으로 모호함이 없도록 설계되었으며, 저자들의 표현을 빌리자면 "최소 성능 표준"을 지향합니다.

연구팀은 네 가지 검색 전략(클로즈드 북, 공유 벡터 저장소, 문서별 벡터 저장소, 관련 페이지 전체를 제공하는 롱 컨텍스트 프롬프트)에 걸쳐 GPT-4-Turbo, Llama2, Claude2를 포함한 16가지 구성을 평가했습니다. 인간 평가자가 150개의 오픈 소스 사례에 대한 총 2,400개의 응답을 수동으로 검토했습니다.

핵심 아이디어

  • 검색이 병목 현상이 아닙니다. 답변이 포함된 정확한 구절인 '오라클 패시지(oracle passage)'를 제공받은 GPT-4-Turbo조차 정확도가 85%에 불과했습니다. 롱 컨텍스트 프롬프트(관련 페이지를 자동으로 제공)는 79%를 기록했습니다. 완벽한 검색 능력을 갖춰도 정확도는 겨우 6점 상승할 뿐입니다.
  • 벡터 저장소 RAG가 진짜 문제입니다. 문서별 벡터 저장소를 사용한 GPT-4-Turbo는 50%의 정답률과 39%의 거부율을 보였습니다. 여러 회사에 걸친 공유 벡터 저장소를 사용할 경우 정답률은 19%, 거부율은 68%였습니다. 헤드라인을 장식한 "81% 실패율"은 실제 기업용 데모에서 가장 흔히 사용하는 구성인 이 공유 저장소 설정에서 나온 결과입니다.
  • 모델마다 실패하는 방식이 다릅니다. Llama2는 공격적으로 환각을 생성하며(5470% 오답), GPT-4-Turbo는 답변을 거부합니다(오답보다는 3968%의 거부율). 두 가지 실패 모드 모두 실제 서비스에서는 받아들이기 어렵지만, 위험의 성격은 서로 다릅니다.
  • 질문의 66%는 수치 추론을 필요로 합니다. 성장률, 마진, 전년 대비 변동 폭 등이 이에 해당합니다. 모델이 가장 흔하게 실수하는 지점이 바로 여기로, 계산 오류, 단위 혼동, 부호 오류 등이 발생합니다.
  • 롱 컨텍스트가 구원책에 가깝습니다. Claude2 롱 컨텍스트는 76%, GPT-4-Turbo 롱 컨텍스트는 79%의 정답률을 보였습니다. 이는 검색 단계를 건너뛰고 관련 페이지 전체를 직접 제공함으로써 얻은, 현재 가장 실용적인 수치들입니다.
  • 오라클조차 한계가 있습니다. 완벽한 증거가 있어도 성능의 상한선은 100%가 아닌 85%입니다. 실패의 15%는 검색과 무관한 순수한 추론 실패에서 비롯되었습니다.

유효한 점과 그렇지 않은 점

벤치마크의 설계는 탄탄합니다. 미리 추출된 조각 대신 실제 문서를 고집한 것은 방법론적으로 올바른 선택이며, 실제 배포 환경에서 중요한 것이 무엇인지 테스트합니다. 2,400개의 응답을 수동으로 평가한 것은 비용이 많이 드는 작업이지만 그만큼 신뢰도가 높습니다.

반면, n=150이라는 표본 크기에서 순위를 매기는 것은 덜 설득력 있게 느껴집니다. Claude2 롱 컨텍스트(76%)와 GPT-4-Turbo 롱 컨텍스트(79%)의 차이는 이 정도 표본 크기에서는 통계적으로 큰 의미가 없지만, 논문은 이를 순위로 제시합니다. 전체 10,231개 질문에 대한 벤치마크는 존재하지만 공개적으로 점수가 매겨지지 않아 독립적인 재현에 한계가 있습니다.

또한 오라클 결과는 가장 중요하면서도 분석이 부족한 결과입니다. 모델이 정확한 페이지를 가지고도 15%의 확률로 실패한다면, 문제는 검색이 아니라 추론과 산술 능력에 있습니다. 논문은 향후 과제로 계산 도구와 생각의 사슬(Chain-of-Thought)을 언급했지만, 이러한 실험들이 각주가 아닌 논문의 중심이 되었어야 합니다.

벤치마크 자체도 모호함 없는 답변이 가능한 단일 문서 질문이라는 "최소 성능"을 목표로 함을 인정하고 있습니다. 문서 간 추론, 수년 간의 추세 분석, 기업 간 비교 등은 제외되었습니다. 79%라는 롱 컨텍스트 수치를 인용하는 논문들이 이러한 전제 조건을 언급하는 경우는 드뭅니다.

금융 AI에 주는 시사점

Beancount의 라이트백(내용 기록) 사례는 FinanceBench의 실패 모드와 거의 정확히 일치합니다. 거래 내역을 검색하고 금액이 은행 명세서와 일치하는지 확인하는 에이전트는 이 벤치마크가 측정하는 '검색 후 산술' 작업을 수행하는 것과 같습니다. 완벽한 컨텍스트에서도 85%라는 오라클 상한선은 중요한 설계 제약입니다. 에이전트가 올바른 장부 항목을 찾더라도 비교 계산을 잘못하거나, 부호를 혼동하거나, 단위를 잘못 읽을 실질적인 확률이 존재한다는 뜻입니다.

Llama2와 GPT-4의 실패 유형 차이는 에이전트 아키텍처에서 중요합니다. 답변 거부는 사람이 검토하도록 유도하여 복구할 수 있지만, 장부에 기록된 환각된 데이터는 그렇지 않습니다. 이는 겉보기에 성공률이 낮아지더라도 자신감 있는 환각보다는 보수적인 거부 동작을 선호해야 함을 시사합니다.

롱 컨텍스트의 우위(79% 대 50%)는 장부 애플리케이션 입장에서 실질적으로 까다로운 부분입니다. 수년에 걸친 Beancount 파일은 전체를 한 번에 입력하기에 너무 큽니다. 단순한 텍스트 검색을 넘어 밀집된 수치 문서에 대한 검색 문제를 해결하는 것은 여전히 과제로 남아 있습니다.

더 읽어볼 거리

  • FinQA: A Dataset of Numerical Reasoning over Financial Data (Chen et al., EMNLP 2021, arXiv:2109.00122) — FinanceBench가 명시적으로 개선하고자 한 전구체 벤치마크입니다. 실제 문서 검색이 요구되기 전에 이 분야에서 무엇을 다루었는지 이해하는 데 유용합니다.
  • DocFinQA: A Long-Context Financial Reasoning Dataset (Reddy et al., ACL 2024) — 단일 공시 내에서 여러 섹션에 걸친 추론을 요구하는 더 어려운 다중 홉(multi-hop) 질문으로 FinanceBench를 확장합니다.
  • PAL: Program-Aided Language Models (Gao et al., arXiv:2211.10435, ICML 2023) — 산술 연산을 Python 인터프리터에 맡겨, 수치 추론에서 실패하는 FinanceBench 질문의 66%를 직접적으로 해결합니다.