- 긴 컨텍스트에서 “있는 정보”를 찾는 평가는 빠르게 좋아졌지만, AbsenceBench는 원본과 수정본을 비교해 빠진 정보를 찾아내는 능력이 여전히 취약함을 보여줌
- 벤치마크는 시, 숫자 시퀀스, GitHub PR diff 3개 도메인으로 구성되며, 4,302개 인스턴스와 평균 5K 토큰 컨텍스트를 사용하고 기본 누락 비율은 10%임
- GPT-4, Claude-3.7-Sonnet, Gemini-2.5-flash, o3-mini, Grok-3-mini, DeepSeek-R1 등 14개 LLM을 평가해도 최신 모델의 성능은 제한적이며, Claude-3.7-Sonnet은 평균 5K 토큰에서 69.6% F1-score에 그침
- AbsenceBench의 F1-score는 NIAH 대비 평균 56.9% 하락했고, 추론 시점 계산 모델도 평균 8K개의 추가 thinking token을 쓰면서 성능 향상은 7.9%에 머묾
- 누락 위치에 명시적 placeholder를 넣으면 성능이 평균 35.7% 향상되어, Transformer attention이 문서 안의 “gap”에 주의를 두기 어렵다는 해석을 뒷받침함
AbsenceBench가 묻는 질문
- 최근 LLM은 긴 컨텍스트 작업에서 높은 성능을 보이며, Needle-in-a-Haystack(NIAH) 테스트에서는 매우 긴 입력 안의 작은 특이 정보를 찾는 능력을 보여줌
- AbsenceBench는 반대 방향의 문제를 평가함
- 입력 안에 들어 있는 정보를 찾는 대신, 명확히 빠진 정보를 찾아야 함
- 모델에는 원본 문서와 일부 요소가 삭제된 수정 문서가 함께 제공됨
- 출력은 수정 문서에서 빠진 요소의 정확한 집합이어야 함
- 이 작업은 규칙이 단순하고 정답도 명확하지만, 최첨단 폐쇄형 모델도 낮은 성능을 보임
작업 정의와 데이터 구성
- AbsenceBench는 원본 문서
Dorig에서 일부 요소Domit를 의도적으로 제거해 수정 문서Dmodified를 만들고, 모델이 제거된 요소를 찾아내도록 하는 제어된 생성 형식임 - “document length”는 원본 문서의 토큰 수, “context length”는 모델 입력 전체의 토큰 수를 뜻함
- 전체 벤치마크는 4,302개 인스턴스로 구성되며, 평균 컨텍스트 길이는 5K 토큰임
- 코드 저장소는 harvey-fin/absence-bench에 공개됨
- 토큰 길이 측정에는 GPT-4 Tokenizer를 사용함
시, 숫자 시퀀스, GitHub PR diff
-
시(Poetry)
- Gutenberg Poetry Corpus의 시를 사용함
- 줄 단위로 누락을 적용하며, 줄 구분자는 newline 문자임
- 문서 길이 다양성을 위해 각 시의 줄 수가 100~1000 사이에 균등하게 분포하도록 자름
-
숫자 시퀀스
- 총 1,200개 합성 숫자 시퀀스를 생성함
- 숫자는 오름차순, 내림차순, 임의 순서 중 하나로 배열됨
- 연속 숫자 사이의 step size는 1, 4, 7, 13 중 하나임
- 첫 숫자는 0~9999에서 무작위로 선택됨
-
GitHub PR diff
- 공개 GitHub 데이터와 GitHub API를 사용해 PR 수가 가장 많은 상위 20개 저장소의 PR을 수집함
- diff에 업데이트된 줄이 10~200개 있는 PR만 유지함
+또는-로 시작하는 업데이트 줄 중 각 PR diff 안에서 고유한 줄만 누락 대상으로 삼음- merge conflict를 해결·검증하는 LLM은 파일 diff에서 누락을 감지할 수 있어야 하므로 실제 사용 사례와 연결됨
14개 LLM 평가에서 드러난 한계
- 평가 대상은 총 14개 LLM임
- GPT-4, Claude-3.7-Sonnet, Gemini-2.5-flash 등 최신 모델 포함
- o3-mini, Grok-3-mini, DeepSeek-R1 등 추론 시점 계산 모델 포함
- Claude-3.7-Sonnet과 Gemini-2.5-flash는 추론 시점 계산 사용 여부를 나눠 평가함
- 최신 모델도 AbsenceBench에서는 안정적인 성능을 내지 못함
- Claude-3.7-Sonnet은 평균 5K 토큰 컨텍스트에서 69.6% F1-score를 기록함
- 컨텍스트 길이가 길어질수록 작업이 더 어려워지며, 특히 시 도메인에서 차이가 두드러짐
- 추론 시점 계산은 평균 7.9% 성능 향상에 그침
- 대신 평균 8K개의 추가 thinking token을 생성함
- 이는 평균 문서 길이의 거의 3배에 해당함
- 누락 비율이 낮을수록 모델 성능이 오히려 나빠지는 결과도 나타남
NIAH와 다른 실패 양상
- AbsenceBench는 NIAH보다 LLM에 훨씬 어려운 작업으로 나타남
- 세 LLM을 AbsenceBench 설정과 원래 NIAH 설정에서 비교했을 때, F1-score가 평균 56.9% 하락함
- Transformer attention은 문서 안의 gap을 다루기 어려울 수 있음
- 누락은 attention이 향할 수 있는 특정 key에 대응하지 않기 때문임
- 누락된 위치에 placeholder 문자열을 넣는 실험에서는 성능이 평균 35.7% 향상됨
- 예시는 빠진 줄 위치에
<missing line>같은 토큰을 넣는 방식임
- 예시는 빠진 줄 위치에
- 이 결과는 LLM이 정보가 “삽입된” 상황보다 정보가 “빠진” 상황을 식별하는 데 더 취약할 수 있음을 보여줌
- LLM-as-a-Judge처럼 누락 정보를 제대로 알아차려야 하는 사용 방식에서는 이 한계가 실용적 위험으로 이어질 수 있음