DocFinQA: 전체 SEC 공시 자료를 활용한 롱 컨텍스트 금융 추론
DocFinQA는 기존 FinQA 데이터셋을 가져와 각 질문을 출처가 된 전체 SEC 공시 자료와 함께 다시 제시하는 2024년 ACL 논문입니다. 이는 평균 컨텍스트를 700단어 미만에서 123,000단어로 확장합니다. 제가 이 논문을 읽는 이유는 모든 실제 운영 중인 Beancount 에이전트가 직면하는 시나리오, 즉 잘 정돈된 추출 구절이 아니라 지저분한 문서 전체를 다루는 상황을 직접 테스트하기 때문입니다. 다년치 장부(ledger)에 대해 롱 컨텍스트 모델을 배포하려는 사람들에게 그 결과는 꽤나 충격적입니다.
논문 소개
DocFinQA: 롱 컨텍스트 금융 추론 데이터셋(A Long-Context Financial Reasoning Dataset — Varshini Reddy, Rik Koncel-Kedziorski, Viet Dac Lai, Michael Krumdick, Charles Lovering, and Chris Tanner (ACL 2024, Short Papers))은 FinQA의 8,281개 Q&A 쌍 중 7,621개를 각 질문의 원래 출처인 전체 SEC 연례 보고서로 보강했습니다. 그 결과, 5,798개의 훈련 데이터, 791개의 개발 데이터, 1,032개의 테스트 데이터에 걸쳐 총 1,236개의 고유한 공시 자료가 포함되었으며, 평균 컨텍스트는 약 700단어에서 123,453단어로 175배나 부풀어 올랐습니다.
질문 세트는 변경되지 않았습니다. 이는 답변을 위해 파이썬(Python) 프로그램이 필요한 동일한 다단계 수치 추론 질문들입니다. 변화된 점은 모델이 전문가가 선별한 700단어 구절 대신 전체 공시 자료를 받는다는 것입니다. 이 연구는 두 가지 접근 방식을 비교합니다. 고전적인 검색 파이프라인(청크 생성, 순위 산정, 답변 생성)과 문서 전체를 엔드투엔드로 처리하려는 최신 롱 컨텍스트 LLM입니다.
핵심 아이디어
- 테스트 세트에서 최고의 검색 파이프라인 정확도: GPT-3.5가 42.64%를 기록했습니다. 오픈 소스 모델은 훨씬 뒤처집니다: Mistral/7B 24.97%, CodeLlama/13B 21.01%, MPT/30B 18.07%.
- 최고의 검색 인코더인 미세 조정된 ColBERT는 HR@1 = 0.35 및 HR@3 = 0.55를 달성했습니다. 이는 세 개의 구절을 검색하더라도 거의 절반의 경우 모델의 컨텍스트에 올바른 청크가 없음을 의미합니다.
- 롱 컨텍스트 GPT-4 (400개 샘플로 평가): 짧은 문서(10만 토큰 이하)에서는 46.5%, 가장 긴 문서(10만 토큰 초과)에서 '요약 후 답변(Summarize-then-Answer)' 전략을 사용했을 때는 23.0%를 기록했습니다. GPT-4는 짧은 문서보다 긴 문서에서 거의 두 배 더 많은 오류를 범합니다.
- 금융 전문 PDF 파싱(Kensho Extract)은 일반적인 HTML 파싱(BeautifulSoup)보다 성능이 현저히 뛰어났으며, 특히 표(table) 보존 기능이 우수했습니다. 이는 SEC 공시 자료를 기반으로 구축된 모든 파이프라인에 실질적인 도움이 되는 발견입니다.
- 관련 청크의 상당 부분이 문서의 250번째 포지션 이후에 위치합니다. 이는 잘라내기(truncation) 기반 전략이 모델이 증거를 보기도 전에 올바른 증거를 조용히 버리게 된다는 것을 의미합니다.
유효한 점과 한계점
핵심적인 실증적 기여는 탄탄합니다. 데이터셋은 잘 정의된 방법론(골든 청크를 식별하기 위한 4-gram 유사도 점수, 20% 중첩이 있는 2,750자 청크)을 바탕으로 FinQA를 충실히 확장했으며, 문서 길이에 따라 성능이 심각하게 저하된다는 발견은 검색 기반 및 롱 컨텍스트 접근 방식 모두에서 일관되게 나타납니다. 짧은 문서 대비 긴 문서에서 GPT-4의 오류가 거의 두 배로 늘어난다는 점은 매우 놀라우며 가볍게 넘기기 어렵습니다.
이 논문에서 충분히 다루지 않은 부분은 2024년형 최신 롱 컨텍스트 모델들입니다. 롱 컨텍스트 평가는 비용 문제로 400개 샘플로 제한되었으며, Gemini 1.5 Pro(100만 토큰 윈도우)나 Claude 3(20만 토큰)를 테스트하지 않았습니다. 청크 하이퍼파라미터는 합리적이지만 체계적으로 절제(ablate) 분석되지 않았으며, '요약 후 답변' 멀티 호출 전략은 아마도 최선의 방법은 아닐 것입니다. IRCoT의 인터리브 검색이나 StructRAG의 구조화된 합성은 긴 문서에서의 멀티홉(multi-hop) 증거 집계를 위해 더 나은 접근 방식이 존재함을 시사합니다.
미세 조정된 ColBERT가 HR@3 = 0.55에 그쳤다는 점은 더 깊은 문제를 드러냅니다. 긴 금융 문서에 대한 검색 자체가 여전히 해결되지 않은 문제입니다. 생성 모델이 완벽하더라도, 쿼리의 거의 절반은 잘못된 구절로부터 만들어진 답변을 받게 될 것입니다. 논문은 이를 결정적인 제약 조건으로 제시하지만, 검색이 완벽할 때(oracle) 정확도가 얼마나 회복되는지에 대한 수치화까지는 나아가지 못했습니다.
금융 AI에서 이것이 중요한 이유
다년치 Beancount 장부가 기본적으로 123,000단어나 되지는 않지만, 상세한 메모가 포함된 10년 치 거래 내역은 쉽게 그 정도 분량에 도달하며, 전체 연례 보고서를 처리하는 금융 에이전트도 정확히 이와 같은 상황에 직면합니다. "정확한 700단어를 선별했다"(FinQA)에서 "여기 전체 10-Q 보고서가 있다"(DocFinQA)로의 변화는 장난감 벤치마크와 실제 운영 환경 사이의 간극을 나타냅니다. DocFinQA는 그 간극을 측정 가능하게 만듭니다.
짧은 문서에서 긴 문서로 갈 때 GPT-4 정확도가 50% 가까이 하락한다는 사실은 단순히 "더 큰 컨텍스트 윈도우를 사용하라"는 식의 대응이 부족함을 말해줍니다. 검색은 여전히 필요하지만 HR@3에서 신뢰도는 55%에 불과합니다. 1년 전의 재무제표 주석(note-to-accounts) 속에 숨겨진 감가 상각 일정을 찾아야 하는 기록용 Beancount 에이전트에게, 어떤 아키텍처도 전표(journal entry)를 확정하기 전까지 원하는 수준의 신뢰성을 제공하지 못합니다. 이 논문을 정직하게 해석하자면, 분야에 실제로 필요한 것은 더 큰 컨텍스트 윈도우가 아니라 더 나은 검색, 더 나은 증거 집계, 그리고 소리 없는 실패에 대한 명시적인 평가입니다.
함께 읽어볼 만한 자료
- "Lost in the Middle: How Language Models Use Long Contexts" — Liu et al., 2023, arXiv:2307.03172. DocFinQA가 측정한 포지션별 정확도 붕괴에 대한 기계론적 설명을 제공하며, 이제는 고전이 된 U자형 성능 곡선을 보여줍니다.
- "FinDER: Financial Dataset for Question Answering and Evaluating Retrieval-Augmented Generation" — arXiv:2504.15800, ICLR 2025 Workshop. 표준 검색기들이 놓치기 쉬운 약어와 두문자어를 포함하여, 실제 전문적인 금융 검색 쿼리를 중심으로 설계된 5,703개의 쿼리-증거-답변 트리플렛을 포함한 2025년 후속 벤치마크입니다.
- "Fin-RATE: A Real-world Financial Analytics and Tracking Evaluation Benchmark for LLMs on SEC Filings" — arXiv:2602.07294. 단일 문서 Q&A를 넘어 Beancount 감사 에이전트가 실제로 필요로 하는 시계열 추적 작업이 추가된 최신 SEC 공시 자료 벤치마크입니다.
