1P by GN⁺ | ★ favorite | 댓글 1개
  • 긴 컨텍스트에서 “있는 정보”를 찾는 평가는 빠르게 좋아졌지만, 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처럼 누락 정보를 제대로 알아차려야 하는 사용 방식에서는 이 한계가 실용적 위험으로 이어질 수 있음

댓글과 토론

Hacker News 의견들
  • Gerald Sussman 강연을 본 뒤 Kanizsa triangle 이미지를 Claude에 넣고, 추론된 삼각형을 “볼” 수 있는지 꽤 모호하게 물어봤더니 이미지를 알아보고 바로 요약을 내놓았음
    그래서 이미지를 90도 회전해 새 대화에서 다시 시도했더니, 이미지를 알아보지 못했고 요소 개수도 틀렸음
    회전된 이미지에 대해 Claude는 네 모서리의 Pac-Man 같은 검은 도형 4개, 위쪽을 가리키는 얇은 삼각형 1개와 오른쪽을 가리키는 얇은 삼각형 1개, 연회색 배경이라고 설명했음

    • 이제 이런 빈틈을 메우려고 학습 데이터의 모든 이미지를 90도 회전해서도 넣을 것 같음
    • LLM에게 다리가 5개인 개 사진을 보여주면, 개수 세기를 전혀 못 하는 모습을 볼 수 있음
    • 우리는 정말로 계산하는 법을 모른다는 느낌임
      2011년 10월, 댓글 30개
      https://news.ycombinator.com/item?id=3163473
      Strange Loop 영상:
      2011년 7월, 댓글 36개
      https://news.ycombinator.com/item?id=2820118
    • 내가 보기엔 논문은 텍스트 문서만 다루므로, 그 예시는 정확히 들어맞지 않음
      LLM이 텍스트나 오디오를 처리하듯 이미지를 처리하는 데는 아직 갈 길이 멀다는 건 잘 알려져 있음
      이미지 픽셀을 직접 받아 좋은 성능을 내는 다중모달 모델은 거의 없다고 봄. 대부분의 시각 기능은 해킹에 가깝거나 공학적으로 덧댄 방식이고, 이미지는 여러 처리 단계를 거친 뒤 각 처리기의 출력이 토큰으로 트랜스포머에 들어감. 한 네트워크 안에서 일어날 수는 있지만, 트랜스포머가 아닌 네트워크도 개입함. 전처리 예로는 OCR, 여러 확대율·각도·절편을 쓰는 CNN(2D 패턴 인식기), 그 외 다른 것들이 있을 수 있음
    • 이 생각을 일반화하면, 삼각형을 대략 채우는 점 1,000개를 보면 우리는 즉시 그 모양을 알아봄
      이 단순한 예시는 지능의 핵심을 드러낸다고 봄. 점 1,000개라는 큰 복잡도가 단순하고 낮은 엔트로피의 기하학적 형태에 맞아떨어지기 때문에 삼각형을 알아보는 것임
      우리가 IQ라고 부르는 것은 알아차릴 수 있는 패턴 복잡도의 상한에 가깝다고 봄. 예를 들어 그 1,000개의 점이 실제로는 살짝 회전된 10차원 정육면체의 꼭짓점일 수 있고, 10차원 정신에게는 쉽게 보이는 패턴일 수 있음
  • 흥미로움. 최신 모델들도 원본 문맥과 편집된 문맥을 모두 줬을 때, 문맥에서 어떤 정보가 삭제됐는지 식별하는 성능이 비교적 낮음
    저자들은 트랜스포머의 주의 메커니즘이 삭제된 토큰에는 키가 없으므로 주의를 기울일 수 없기 때문에 성능이 낮다고 봄

    • 주의를 기울일 키는 있음. 다만 수정본이 아니라 원본 텍스트 안에 있을 뿐임. 모델이 둘 다 입력으로 받으니 이론상 그 키들에 주의를 기울일 수 있음
      주의 메커니즘 관점에서는 Original: {공통 접두부} {삭제된 부분} {공통 접미부} Modified: {공통 접두부} {공통 접미부}Original: {공통 접두부} {공통 접미부} Modified: {공통 접두부} {추가된 부분} {공통 접미부} 사이에 큰 차이가 없음
      RASP(트랜스포머를 수동으로 프로그래밍하는 언어)로는 대략 이런 알고리즘을 만들 수 있을 것 같음. 1층은 "Original:""Modified:" 토큰에 주의를 기울여 현재 토큰이 원본 쪽인지 수정본 쪽인지 판단함. 2층은 한 헤드가 모든 원본 토큰에 균등하게 주의를 기울여 값을 평균내고, 다른 헤드가 모든 수정본 토큰을 평균낸 뒤 두 평균의 차이를 계산함. 3층은 이 차이와 비슷한 토큰에 주의를 기울이고, 그게 {삭제된 부분}이나 {추가된 부분}이 됨
      순서에 의존하는 유일한 부분은 차이를 원본 평균 - 수정본 평균으로 계산하느냐, 반대로 계산하느냐임
      모델이 추가는 감지하지만 삭제는 못 한다면, 원칙적으로 이런 알고리즘이나 유사한 알고리즘을 학습할 능력은 있지만 삭제 유형 데이터가 부족해 필요한 회로가 발달하지 않았다는 뜻일 수 있음
    • 시각 모델은 사진 네거티브, 회전 이미지 같은 것들로 학습할 수 있을지 궁금함. 또는 “the _____ took first place in the horse show” 같은 빈칸 채우기 문장도 가능할 듯함
    • 최근 최상위 모델을 거의 쓰지 않은 것 같음. Opus, o3, Gemini 2.5 Pro가 없음
    • 그래도 모델들 사이에 눈에 띄는 차이가 있으니, 이제 벤치마크가 생기고 이 문제가 주목받으면 얼마나 더 좋아질 수 있을지 궁금함. 분명 뭔가 할 수는 있음
  • 매우 흥미로움. 1) 저자들은 빈틈이 토큰이 아니므로 주의 메커니즘이 빈틈 위치에 주의할 수 없을 수 있다고 하지만, 좋은 LLM 트랜스포머라면 적어도 빈틈 근처에는 꽤 가까이 갈 수 있을 거라고 예상했음
    수학적으로 왜 이 구조가 덜 적합한지 잘 이해가 안 됨. 빈틈이 있을 수 있는 영역에 주의를 기울일 수는 있어 보임. 이런 작업으로 미세조정하면 도움이 될지도 궁금함
    2) 입력이 짧고 누락이 적을수록 더 어려웠음. 사람이 이 작업을 해도 단어 1개가 빠진 걸 알아차리기는 더 어렵고, 한 줄 누락이 열 줄 누락보다 어려우니 완전히 놀랍지는 않음. 그래도 LLM이 이런 문제를 겪는다는 점은 흥미로움
    3) 추론 모델은 문서를 직접 써 내려가며 풀 수 있으므로 더 잘함. 그런데도 정확도가 100%가 아니라는 건 여전히 매우 놀라움. 이건 사소한 작업이어야 하고, 논문 말대로 간단한 프로그램으로 풀 수 있음. ChatGPT 같은 에이전트가 학습 중 이 논문을 읽고, 이런 문제를 풀 때 Python을 작성해 실행해야 한다는 걸 알 수도 있을 것 같음
    가장 흥미로운 부분은 우리가 아직 명시적으로 식별하지 못한 지능의 다른 측면들이 무엇인지, 그리고 LLM과 현재 AI가 그런 것들에 매우 약한지 여부임. 이 논문은 그런 측면이 많이 있을 가능성을 시사하고, 전반적으로 벤치마크를 만드는 사람들에게 꽤 재미있는 시기처럼 보임

  • 공정하게 말하면, 문자 그대로의 문자열 차이 찾기는 LLM에게 기계적인 산술을 시키는 것과 같은 범주에 넣겠음
    주의 메커니즘은 이런 멍청한 작업에 비해 지나치게 복잡한 사고를 함. 이런 경우야말로 수준 높은 다음 토큰 예측을 하기보다, 의도적으로 단순화하고 집중하며 규율 있게 처리해야 함
    LLM에게 전체 문서를 나열하고 비교하라고 실제로 요청하면 도움이 될 것임. 추론처럼 단계를 나누는 방식이고, LLM이 산술이나 대수 문제를 작은 단계로 쪼갤 때 더 잘하는 것과 비슷함
    성능이 좋은 모델들은 MoE 모델일 가능성이 있다고 추측함. 직관보다 집중이 필요한 작업에 잘 맞는 전문가가 한둘 있을 수 있음. Gemini Flash를 전혀 모르지만, MoE 모델일 것 같다고 봄

  • 논문은 아직 읽지 않았지만, 구조적 주의 메커니즘 관점에서 분류되지 않은 누락을 감지하지 못하는 건 완전히 예상 가능함. 다만 구조화된 사고로 풀 수는 있다고 봄
    바늘 찾기 문제에서는 찾으려는 대상에 주의를 기울이면 되고, 주의는 이걸 꽤 잘함
    누락을 찾을 때 그 누락은 무엇이든 될 수 있으므로, 한 전체 문맥과 다른 전체 문맥을 비교해서만 추론할 수 있음. 주의 층은 그걸 제대로 하기는 어려움
    이건 “긴 항목 집합을 순위 매기기” 문제와 비슷함. 어떤 메타인지 과정이 없으면 그냥 못 함

    • “누락은 무엇이든 될 수 있다”고 하지만, 이 벤치마크에서는 LLM에게 무엇이 빠졌는지 판단하는 데 필요한 정보를 줌
      예를 들어 “여기 시가 있고, 같은 시에서 일부 줄이 빠졌을 수도 있는 버전이 있다. 빠진 줄이 있느냐?” 같은 식임
      내 생각에는 LLM의 본질적 약점이라기보다 튜닝 문제에 가까움
      내가 머신러닝 논문에서 누락을 찾으라고 요청받으면, 내 뇌는 그것을 다른 머신러닝 논문들과 비교하지 Star Wars, Top Gear, 그리스 역사, 도자기와 내가 아는 수천 개의 다른 문맥들과 비교할 필요는 없음
  • AbsenceBench 방식에 대한 비판은 타당하지만, 이런 걸 벤치마크한다는 사실 자체가 매우 반가움. 확실히 올바른 방향으로 밀고 가는 움직임

  • 존재를 감지할 때 실제 뇌는 감각 입력을 받아 기대와 비교하고, 평온을 유지하거나 놀람을 기록하며, 때때로 유기체를 이끌 예측을 내놓음
    부재를 감지할 때는 정의상 뇌가 감각 입력에 의존할 수 없음. 감각 증거가 없을 때 놀라려면, 감각적 단서 없이도 기대가 충족되지 않았다는 사실에 놀랄 만큼 강한 세계 모델이 필요함
    부재 감지는 감각 입력 처리보다 엄밀히 더 높은 차원의 신경학적 작업처럼 보임
    LLM이 이 더 높은 차원의 신경학적 작업을 못 한다면, 이것은 현재 생명체에만 있는 능력 아닌가?

    • 사고 자체가 아직은 생명체에만 있으니, 인간 뇌의 고유성을 찾기 위해 굳이 그런 설명까지 갈 필요는 없음
      설명한 내용은 기억과 관련됨. 기억은 감각 입력이 없는 상태에서 감각 입력을 저장하고 재생하는 것임. 그래서 뇌는 과거의 감각 입력을 재생하고 현재 감각 입력과 대조함
      예를 들어 펜을 탁자 위에 두고 나갔다가 돌아왔는데 펜이 없으면, 뇌는 탁자 위에 펜이 있던 저장된 기억과 지금 보이는 것을 비교함
    • LLM은 학습된 구조 전반에서 그다지 일관적이지 않을 수 있음. 어떤 경로는 암기된 정보로 이어지고, 어떤 경로는 고급 패턴 매칭으로 이어질 수 있음
    • 이 분야를 거의 모르지만, 시간적 측면만으로도 문제가 될 것 같음. 이런 에이전트들은 실시간으로 조정하기보다 고정되거나 얼어붙은 “현실” 버전에서 추론하는 것 아닌가?
  • LLM은 문자열 차이에 약한 듯함. 곁가지로, LLM이 잘하는 것과 못하는 것에 대한 이런 발견들을 정리한 GitHub 저장소 같은 자료가 있는지 궁금함

  • 나쁜 벤치마크임
    그들의 프롬프트 [1]를 번호 붙은 항목 3개로 시도했더니, qwq-32b가 아무 문제 없이 맞혔음. 항목 100개도 100% 정확하게 풀 수 있을 것 같지만, 아마 토큰이 100만 개 필요할 것임. 어쩌면 1,000만 개 이상일 수도 있음
    추론 모델에 5,000토큰 제한은 너무 적음. 테스트 시간 계산을 많이 줘야 하고, 5,000토큰의 10배도 여전히 부족함
    저자들이 긴 입력을 말한다면, 100페이지라면 10억 토큰을 줘야 함
    올바른 구현 방식은 배치 처리임. 누락된 입력 텍스트에서 처음 5개의 번호 항목을 찾고, 찾으면 입력 항목과 누락 입력 항목을 단순화한 뒤 다시 진행하는 식임
    입력 크기에 따라 항상 상당한 토큰이 필요하겠지만, 단순화는 제대로 되돌아가며 맥락을 완전히 잃지 않도록 도와줄 것임
    [1] 학생이 시 암기를 연습하는 것을 돕고 있습니다. 학생은 시를 낭송하지만 몇 줄을 빠뜨렸을 수 있습니다. 당신의 작업은 낭송에서 정확히 어떤 줄이 빠졌는지 식별하는 것입니다. 빠진 줄만 나열하고 다른 것은 쓰지 마세요. 사용자 메시지: 여기 완전한 원본 시가 있습니다: 1)Quisella's lashes fluttered panic-morse. 2)The Moisture Vampires leeches that sucked humidity. 3)Lysandra's nostrils flared precisely one degree. 이제 줄이 빠졌을 수도 있는 제 낭송입니다: Quisella's lashes fluttered panic-morse. Lysandra's nostrils flared precisely one degree. 제가 어떤 줄을 빠뜨렸나요? 빠진 줄만 나열하고 다른 것은 쓰지 마세요

    • 문제를 개수 세기로 축소하는 게 뭐가 흥미로운지 모르겠음. 이 연구의 명백한 목표는 사소하게 항목화하거나 정렬할 수 없는 작업에서 LLM의 한계를 이해하는 것으로 보임
    • 방금 HN의 현재 번호 붙은 제목 26개 [1]로 qwq-32b를 시도했고, 제목 3개를 제거했는데 첫 시도에 누락된 항목 3개를 모두 완벽하게 찾았음. 토큰도 50,000개를 쓰지 않았음
      [1] https://gist.github.com/pramatias/fee1391ad08c7b965f435f3af1...
  • 이게 시각 모델에는 어떻게 적용될지 궁금함. 단일 이미지 몇 가지 예제로 해봤을 때는 잘하는 듯했음
    장난감 예제 몇 개에서 Claude와 Gemini가 차이 찾기를 꽤 잘하는 것 같았음. 예시 이미지: https://www.pinterest.com/pin/127578601938412480/
    이미지를 뒤집으면 더 어려워하는 듯했고, 차이를 더 적게 찾거나 환각할 가능성도 있었음