📄 원문: Context Rot: How Increasing Input Tokens Impacts LLM Performance
- 출처: Context Rot: How Increasing Input Tokens Impacts LLM Performance
- 저자: Chroma
- 원문 발행일: 2025년 7월 14일
- 라이선스: 저작권 Chroma
- 번역일: 2025년 7월 20일
- 번역 및 감수: Claude and 공부하우
⚖️ 저작권 안내
이 번역문은 교육 및 정보 제공 목적으로 작성되었습니다. 원문의 저작권은 Chroma에 있으며, 이 번역은 Chroma의 공식 번역이 아닙니다.
본 번역은 다음과 같은 교육적 공정 사용(Fair Use) 원칙에 따라 제공됩니다:
- 비영리 교육 목적
- 원문 출처의 명확한 표시
- 한국어 사용자의 기술 이해 증진을 위한 변형적 사용
- 원저작물의 시장 가치에 부정적 영향을 미치지 않음
저작권 관련 문제가 제기될 경우, 즉시 적절한 조치를 취하겠습니다. 상업적 사용이나 재배포 전에 원저작권자의 허가를 받으시기 바랍니다.
문의사항이나 우려사항이 있으시면 오른쪽 템플릿 복사를 클릭 하신 뒤, 연락 페이지를 통해 알려 주시기 바랍니다.
컨텍스트 로트: 입력 토큰 증가가 LLM 성능에 미치는 영향
대규모 언어 모델 (Large Language Models, LLMs)은 일반적으로 컨텍스트를 균일하게 처리한다고 가정됩니다. 즉, 모델이 10,000번째 토큰을 100번째 토큰만큼 안정적으로 처리해야 한다는 것입니다. 그러나 실제로는 이러한 가정이 성립하지 않습니다. 우리는 간단한 작업에서도 입력 길이가 변화함에 따라 모델 성능이 크게 달라진다는 것을 관찰했습니다.
2025년 7월 14일
이 보고서에서는 최첨단 GPT-4.1, Claude 4, Gemini 2.5, Qwen3 모델을 포함한 18개의 LLM을 평가합니다. 우리의 결과는 모델들이 컨텍스트를 균일하게 사용하지 않으며, 대신 입력 길이가 증가함에 따라 성능이 점점 더 불안정해진다는 것을 보여줍니다.
소개
최근 LLM 개발에서는 입력 토큰 수가 수백만 개에 달하는 더 긴 컨텍스트 윈도우를 향한 추세를 보여줍니다. 이러한 모델들이 건초더미에서 바늘 찾기 (Needle in a Haystack, NIAH) [1]와 같이 널리 채택된 벤치마크에서 거의 완벽한 점수를 달성하기 때문에, 긴 컨텍스트 작업 전반에서 성능이 균일하다고 종종 가정됩니다.
그러나 NIAH는 근본적으로 간단한 검색 작업으로, 알려진 문장("바늘")을 관련 없는 긴 텍스트 문서("건초더미")에 배치한 다음 모델에게 이를 검색하도록 요청합니다. 확장 가능하긴 하지만, 이 벤치마크는 일반적으로 직접적인 어휘 매칭을 평가하며, 이는 유연하고 의미 지향적인 작업을 대표하지 못할 수 있습니다.
우리는 표준 NIAH 작업을 확장하여 이전에 충분히 탐구되지 않은 설정에서의 모델 동작을 조사합니다. 직접적인 어휘 매치가 아닌 의미적 매치를 가진 바늘의 효과와 건초더미 내용에 변화를 도입했을 때의 효과를 검토합니다.
추가로, LongMemEval [2]을 사용한 대화형 질문-답변 평가와 모델이 반복된 단어 시리즈를 복제하는 합성 작업을 포함합니다. 각 작업은 의도적으로 단순하게 유지되고 신중하게 제어되어 컨텍스트 길이만의 영향을 격리합니다.
우리는 이러한 최소한의 조건에서도 입력 길이가 증가함에 따라 모델 성능이 저하되며, 종종 놀랍고 비균일한 방식으로 나타난다는 것을 보여줍니다. 실제 응용 프로그램은 일반적으로 훨씬 더 복잡하므로, 입력 길이의 영향이 실제로는 더욱 두드러질 수 있음을 시사합니다.
우리의 심층 기술 보고서는 아래에서 계속됩니다. 우리의 작업이 유용하다고 생각하신다면, 인용해 주시기 바랍니다:
@techreport{hong2025context,
title = {Context Rot: How Increasing Input Tokens Impacts LLM Performance},
author = {Hong, Kelly and Troynikov, Anton and Huber, Jeff},
year = {2025},
month = {July},
institution = {Chroma},
url = {https://research.trychroma.com/context-rot},
}
AI 애플리케이션을 위한 검색 개선 작업에 관심이 있으신가요? Chroma가 채용 중입니다
소개
현대 LLM이 수백만 토큰의 입력 컨텍스트 길이를 갖는 것은 일반적입니다. Gemini 1.5 Pro [3]는 2024년 초에 처음으로 100만 개의 컨텍스트 윈도우를 도입했고, 이어서 최근 GPT-4.1의 100만 개 컨텍스트 윈도우 [4]와 1000만 개의 Llama 4 [5]가 나왔습니다. 긴 컨텍스트의 사용 사례는 매력적입니다: 더 긴 컨텍스트는 LLM이 각 호출로 더 많은 정보를 처리하고 더 정보에 입각한 출력을 생성할 수 있음을 의미합니다.
이러한 모델에 대한 긴 컨텍스트 평가는 종종 입력 길이에 걸쳐 일관된 성능을 보여줍니다. 그러나 이러한 평가는 범위가 좁고 실제로 긴 컨텍스트가 사용되는 방식을 대표하지 않습니다. 가장 일반적으로 사용되는 테스트인 건초더미에서 바늘 찾기(NIAH)는 모델이 긴 컨텍스트를 안정적으로 처리하는 능력을 일반화하는 데 자주 사용되는 간단한 어휘 검색 작업입니다. 에이전트 작업이나 요약과 같은 실제 애플리케이션은 더 광범위하고 종종 더 모호한 정보에 대한 훨씬 더 많은 처리와 추론을 요구합니다.
현실적인 긴 컨텍스트 벤치마크를 설계하는 것은 어렵습니다. 작업은 종종 입력 길이가 증가함에 따라 복잡성이 증가하여 성능 저하가 더 긴 입력 때문인지 본질적으로 더 어려운 문제 때문인지 구분하기 어렵게 만듭니다. 이를 해결하기 위해 우리의 실험은 입력 길이만 변경하면서 작업 복잡성을 일정하게 유지하여 입력 길이만의 효과를 직접 측정할 수 있도록 합니다.
기여
우리는 다음을 제시합니다:
- 선도적인 폐쇄형 및 공개 가중치 모델을 포함한 18개 LLM에 대한 평가로, 입력 길이 증가에 따른 비균일 성능을 보여줍니다.
- 방해 요소를 처리하고 질문-답변 유사성이 다양할 때 관찰된 모델별 행동 패턴에 대한 분석.
- 우리의 결과를 재현할 수 있는 완전한 코드베이스.
관련 연구
모델의 긴 컨텍스트 기능을 평가하는 데 가장 널리 사용되는 벤치마크 중 하나는 건초더미에서 바늘 찾기(NIAH)입니다. 확장 가능한 테스트로 유용하지만, 이는 좁은 기능인 어휘 검색을 측정합니다. 모델은 일반적으로 NIAH에서 좋은 성능을 보이며, 이로 인해 긴 컨텍스트가 대부분 해결되었다는 인식이 생겼습니다.
그러나 NIAH는 실제로 대부분의 긴 컨텍스트 작업이 요구하는 것을 과소평가합니다. 비어휘적 매치를 가진 바늘-질문 쌍을 포함하는 NoLiMa [6]와 같은 NIAH의 변형은 상당한 성능 저하를 보여줍니다. 주어진 텍스트 조각의 부재를 인식하는 모델을 테스트하는 AbsenceBench [7]와 같이 난이도 측면에서 유사해 보이는 다른 작업들도 입력 길이가 증가함에 따라 성능 저하를 보여줍니다.
또한, 긴 컨텍스트 작업은 종종 작업의 일부로 방해 요소를 구별하는 것을 포함합니다. 한 예로 다중 라운드 상호 참조 해결 (Multi-round co-reference resolution, MRCR) [8] [9]이 있는데, 이는 다중 턴 대화에서 유사한 사용자 요청 중에서 특정 사용자 요청의 i번째 인스턴스를 검색하는 것을 포함합니다. 그러나 긴 컨텍스트 설정에서 방해 요소의 영향에 대한 조사는 여전히 부족합니다.
긴 컨텍스트 작업에서 중요한 요소는 입력 길이가 어떻게 확장되는지입니다. Latent List [8]는 모델이 다양한 입력 길이에 걸쳐 고정된 수의 Python 리스트 작업을 수행해야 하는 작업입니다. 관련 없는 컨텍스트를 채우는 다양한 방법이 테스트되며, 이는 모델 성능에 비균일한 영향을 미치는 것으로 나타났습니다 [1]. 예를 들어, 서로 상쇄되는 리스트 작업을 추가하는 것은 print 문을 추가하는 것보다 모델 성능을 훨씬 더 크게 저하시킵니다. 이는 '관련 없는 내용'의 유형이 중요하며, 일부는 입력 길이에 따라 복잡성을 증가시킬 수 있음을 강조합니다.
마찬가지로, Graphwalks [10]는 모델이 16진수 해시로 구성된 방향 그래프를 받고 무작위 노드에서 시작하여 너비 우선 탐색을 수행하도록 요청받는 그래프 순회 작업입니다. 입력 길이를 증가시키는 것은 순회할 그래프의 크기를 증가시키는 것을 의미하며, 결과적으로 작업 난이도가 증가합니다. 작업 복잡성 증가와 입력 길이를 구별하기 어려워 입력 길이만으로 인한 성능 영향을 격리하기 어렵습니다. 이는 입력 길이를 관심 변수로 격리하는 것의 중요성을 나타내며, 이는 LLM이 긴 입력에서 실제로 어떻게 동작하는지 이해하는 데 필수적입니다.
건초더미에서 바늘 찾기 확장
고전적인 건초더미에서 바늘 찾기 작업은 무작위 사실('바늘')을 긴 컨텍스트 윈도우('건초더미') 중간에 배치한 다음 모델에게 그 사실에 대해 묻는 것을 포함합니다.
이 작업의 원래 구현은 어휘적 매치를 가진 바늘-질문 쌍을 사용합니다. 그러나 실제로 긴 컨텍스트 사용은 종종 모호한 작업의 의미적 이해를 요구합니다.
NoLiMa는 컨텍스트 길이가 증가함에 따라 비어휘적 매칭이 모델에게 도전이 된다는 것을 보여주었습니다. 이 작업은 모델이 잠재적 연관성을 추론해야 하는 바늘-질문 쌍을 활용합니다. 예를 들어:
질문: "헬싱키에 간 적이 있는 캐릭터는 누구입니까?"
바늘: "사실, 유키는 키아스마 박물관 옆에 살고 있습니다."
이 질문에 답하려면 모델은 먼저 키아스마 박물관이 헬싱키에 위치한다는 것을 알아야 하고, 그 다음 그 잠재적 연관 링크를 만들어야 합니다. 이는 모델의 비어휘적 매칭 능력뿐만 아니라 세계 지식도 테스트합니다. NoLiMa의 바늘-질문 쌍 중 72.4%가 이러한 외부 지식을 요구하므로, 이 벤치마크는 순수한 비어휘적 매칭만이 아닌 두 작업을 동시에 처리하는 방법을 테스트하는 것에 더 가깝습니다.
격리된 비어휘적 매칭의 영향을 테스트하는 것은 여전히 충분히 탐구되지 않았습니다. 또한, "어휘적" 대 "비어휘적"이라는 이진 구분은 실제 시나리오에서 질문-답변의 복잡성을 지나치게 단순화합니다. 바늘-질문 쌍은 유사성의 스펙트럼에 존재하지만, 모두 이러한 광범위한 범주로 분류됩니다.
모델은 종종 방해 요소도 처리해야 하며, 이는 성능을 저하시키는 것으로 나타났습니다 [11].
이 보고서 전체에서 우리는 방해 요소와 관련 없는 내용을 구별합니다:
- 방해 요소는 바늘과 주제적으로 관련이 있지만 질문에 완전히 답하지 않습니다
- 관련 없는 내용은 바늘과 질문과 관련이 없습니다
이전 연구는 방해 요소가 비균일한 영향을 미친다는 것을 보여주었지만, 대부분의 평가는 짧은 입력 길이와 구형 모델을 포함합니다. 현재 최첨단 모델은 방해 요소에 더 탄력적이라고 주장되지만, 다양한 입력 길이에서 그들의 성능은 광범위하게 테스트되지 않았습니다.
NIAH의 또 다른 충분히 탐구되지 않은 측면은 건초더미 자체입니다. 이는 종종 단순히 입력 길이를 확장하는 수단으로 취급되지만, 이는 건초더미 내용 자체가 작업 성능에 영향을 미치지 않는다고 가정합니다. 모델이 실제로 건초더미 내용에 둔감하다면, 이 내용을 변경하는 것(예: 건초더미의 주제나 서사 흐름)은 결과에 영향을 미치지 않아야 합니다. 그러나 이 가정은 대부분 테스트되지 않은 채로 남아 있습니다.
우리는 이러한 요인들의 영향을 조사하기 위해 네 가지 통제된 실험을 설계합니다:
바늘-질문 유사성
우리는 임베딩을 사용하여 바늘-질문 쌍 간의 코사인 유사성을 계산합니다. 견고성을 위해 5개의 임베딩 모델(text-embedding-3-small, text-embedding-3-large, jina-embeddings-v3, voyage-3-large, all-MiniLM-L6-v2)에 걸쳐 평균을 냅니다. 입력 길이가 증가함에 따라 바늘-질문 유사성이 모델 성능에 미치는 영향을 측정합니다.
방해 요소의 영향
높은 유사성의 바늘-질문 쌍을 사용하여 4개의 방해 요소를 작성합니다. 다음과 같은 설정이 있습니다:
- 기준선: 바늘만, 방해 요소 없음
- 단일 방해 요소: 바늘 + 무작위로 위치한 하나의 방해 요소
- 다중 방해 요소: 바늘 + 건초더미 전체에 무작위로 위치한 4개의 모든 방해 요소
입력 길이가 증가함에 따라 방해 요소가 모델 성능에 미치는 영향을 테스트하여 방해 요소와 입력 길이 간의 비균일성을 측정합니다.
바늘-건초더미 유사성
우리는 Paul Graham 에세이와 arXiv 논문 [12]이라는 주제적으로 구별되는 두 개의 건초더미를 사용하고, 각각에 해당하는 바늘을 작성합니다. 바늘-건초더미 유사성을 측정하기 위해 건초더미를 임베드하고 각 바늘에 대해 상위 5개의 청크를 검색한 다음 코사인 유사성 점수를 평균합니다. 이 과정은 견고성을 위해 5개의 다른 임베딩 모델에 걸쳐 반복됩니다.
건초더미 구조
일반적인 NIAH 설정에서 건초더미는 각각 고유한 논리적 아이디어 흐름을 가진 일관된 텍스트의 연결입니다. 예를 들어, 원래 NIAH 벤치마크는 일련의 Paul Graham 에세이를 사용하며, 각 에세이는 주장을 형성하기 위해 구조화된 아이디어 조직을 따릅니다. 이 구조가 모델 성능에 영향을 미치는지 평가하기 위해 두 가지 조건을 비교합니다:
- 원본: 각 발췌문 내에서 아이디어의 자연스러운 흐름을 보존
- 셔플: 문장이 건초더미 전체에 무작위로 재정렬되어 논리적 연속성 없이 동일한 전체 주제를 유지
우리는 다음을 보여줍니다:
- 모든 실험에서 입력 길이가 증가함에 따라 모델 성능이 일관되게 저하됩니다.
- 낮은 유사성의 바늘-질문 쌍은 성능 저하 속도를 증가시킵니다.
- 방해 요소는 서로에 대해 얼마나 방해적인지에 대해 모델 성능에 비균일한 영향을 미칩니다. 입력 길이가 증가함에 따라 이 영향이 더 두드러지게 나타나며, 다양한 모델이 어떻게 반응하는지에 대한 구별을 관찰합니다.
- 바늘-건초더미 유사성은 모델 성능에 균일한 효과를 갖지 않으며, 추가 조사의 필요성을 시사합니다.
- 건초더미의 구조적 패턴은 모델이 긴 입력을 처리하는 방식에 일관되게 영향을 미칩니다.
세부사항
모든 고유한 바늘 유형, 건초더미 주제 및 건초더미 구조 조합에 대해 각 모델을 다음에 걸쳐 테스트합니다:
- 8개의 입력 길이
- 11개의 바늘 위치
우리는 해당 설정이 호환되지 않거나(예: o3) 명시적으로 권장되지 않는 경우(예: Qwen의 "thinking mode")를 제외하고는 temperature=0으로 최대 컨텍스트 윈도우에 걸쳐 각 모델을 평가합니다. Qwen 모델의 경우 YaRN 방법 [13]을 적용하여 32,768에서 131,072 토큰으로 확장합니다.
해당하는 경우 표준 및 "thinking mode" 모두에서 모델을 포함합니다.
부록에 설명된 방법을 사용하여 정렬된 GPT-4.1 판단자를 사용하여 모델 출력을 평가합니다.
모델이 작업을 시도하기를 거부하는 드문 경우(전체 194,480개의 LLM 호출 중 69개—0.035%)를 주목합니다. 예를 들어, Claude Opus 4는 때때로 stop_reason="refusal"과 함께 빈 출력을 가질 수 있습니다.
바늘-질문 유사성
실제 응용에서 모델은 종종 모호한 작업을 처리하고 정확한 어휘적 일치에 의존하지 않고 관련 정보를 식별해야 합니다. 예를 들어, 에이전트가 검색할 대규모 말뭉치를 포함하는 작업을 받았을 때, 사용자는 관련 부분에 대한 정확한 키워드를 거의 지정하지 않습니다. 대신 모델은 관련성을 추론해야 합니다.
우리는 임베딩의 코사인 유사성으로 정량화된 바늘-질문 쌍의 유사성을 변경합니다. 바늘-질문 유사성이 감소함에 따라 입력 길이가 증가하면서 모델 성능이 더 크게 저하된다는 것을 발견했습니다. 이는 정확한 질문-답변 일치가 드물고 의미적 모호성이 긴 입력 처리의 도전을 복합화하는 더 현실적인 시나리오를 반영합니다.
실험
우리는 두 도메인(원래 NIAH 실험에서와 같이 Paul Graham 에세이와 arXiv 논문)에서 건초더미 내용을 조달합니다. 각 건초더미 주제(PG 에세이, arXiv)에 대해 먼저 질문과 바늘 작성을 안내하기 위해 공통 주제를 결정합니다.
주어진 말뭉치에 대해 가장 일반적인 주제를 식별하기 위해 클러스터링을 사용합니다:
- 문서를 1-3문장 청크로 나눕니다
- text-embedding-3-large를 사용하여 각 청크를 임베드합니다
- 다음 매개변수로 차원 축소를 위해 UMAP [14]을 사용합니다: n_neighbors=30, min_dist=0.05, n_components=50, random_state=42
- 다음 매개변수로 클러스터를 생성하기 위해 HDBSCAN [15]을 사용합니다: min_cluster_size=10, min_samples=15
- 최대 한계 관련성(MMR)을 사용하여 가장 큰 클러스터에 대한 20개의 대표 청크를 얻습니다
- 가장 큰 클러스터를 수동으로 검토하여 주제와 스타일을 결정합니다
이 방법을 사용하여 PG 에세이의 경우 일화 형태로 자주 나타나는 글쓰기 조언을 공통 주제로 식별합니다. arXiv 논문의 경우 정보 검색, 특히 재순위 지정을 공통 주제로 식별합니다.
각 주제에 해당하는 질문을 작성합니다:
PG 에세이: "대학 동기로부터 받은 최고의 글쓰기 조언은 무엇이었나요?"
arXiv 논문: "과학 도메인에서 선호되는 저지연 재순위기는 무엇입니까?"
바늘을 작성하기 전에 이러한 질문에 대한 답이 건초더미 내용에 존재하지 않는지 확인합니다:
- 이전에 계산한 건초더미 청크 임베딩을 벡터 데이터베이스에 저장합니다.
- 질문 임베딩으로 해당 벡터 데이터베이스에서 상위 10개 결과를 쿼리합니다.
- 이러한 결과를 수동으로 검토하여 주어진 질문에 답하지 않는지 확인합니다.
이는 대체 답변이 존재하지 않도록 보장하고 잘못된 답변이 모델 환각으로 인한 것임을 보장하는 공정한 테스트 환경을 설정합니다.
각 질문에 대해 근사 예측을 사용하여 확인하는 대규모 클러스터에 각각 속하는 8개의 바늘을 작성합니다. >0.9 확률로 글쓰기/검색 클러스터에 속하는 바늘은 건초더미에 주제적으로 혼합되는 것으로 간주됩니다. 데이터 오염을 피하기 위해 이러한 바늘을 수동으로 작성합니다.
8개의 바늘에 대해 다음 방법을 통해 정량화된 모호성 수준도 변경합니다:
- 임베딩 모델을 사용하여 바늘과 질문에 대한 임베딩과 코사인 유사성을 계산합니다.
- 5개의 임베딩 모델(text-embedding-3-small, text-embedding-3-large, jina-embeddings-v3, voyage-3-large, all-MiniLM-L6-v2)에 걸쳐 반복합니다.
PG 에세이 주제의 경우, 우리의 바늘은 5개의 임베딩 모델에 걸쳐 <0.1 표준 편차로 0.445-0.775의 바늘-질문 유사성 범위를 갖습니다. arXiv 주제의 경우, 역시 <0.1 표준 편차로 0.521-0.829의 바늘-질문 유사성 범위를 갖습니다.
결과
우리는 낮은 유사성의 바늘-질문 쌍으로 입력 길이에서 성능이 더 빠르게 저하되는 명확한 패턴을 관찰합니다.
짧은 입력 길이에서 모델은 저유사성 쌍에서도 잘 수행됩니다. 우리는 이를 고/중간 성능 모델에서 가장 명확하게 보며, 이러한 모델이 모든 바늘-질문 쌍에 대해 이 작업에서 성공할 수 있음을 보여줍니다.
더 긴 입력 길이에서 관찰된 성능 저하는 바늘-질문 쌍의 본질적인 어려움 때문이 아닙니다. 바늘-질문 쌍을 고정하고 관련 없는 내용의 양만 변경함으로써, 우리는 입력 크기를 성능 저하의 주요 요인으로 격리합니다.
우리는 또한 바늘 위치가 성능에 영향을 미치는지 검토합니다. 11개의 바늘 위치에 걸쳐 테스트한 결과, 이 특정 NIAH 작업에 대해 성능에 주목할 만한 변화가 없음을 발견했습니다.
방해 요소의 영향
구형 모델에서 방해 요소가 모델 성능을 저하시키고 비균일한 영향을 미친다는 것은 이미 확립되었습니다. 새로운 모델은 어떤 방해 요소도 안정적으로 처리한다고 주장되지만, 입력 길이가 증가함에 따라 이것이 사실일까요?
우리의 실험은 방해 요소의 영향과 그들의 비균일성이 최신 최첨단 모델을 포함한 모든 모델에서 입력 길이가 증가함에 따라 증폭된다는 것을 보여줍니다. 우리는 또한 모델 패밀리 간에 모호성을 처리하는 방식에서 뚜렷한 행동을 관찰합니다.
실험
각 건초더미 주제(PG 에세이와 arXiv 논문)에서 높은 바늘-질문 유사성(8개 중 두 번째로 높은)을 가진 바늘을 가져와 4개의 방해 요소를 수동으로 작성합니다:
질문: "대학 동기로부터 받은 최고의 글쓰기 조언은 무엇이었나요?"
바늘: "대학 동기로부터 받은 최고의 글쓰기 팁은 매주 글을 쓰는 것이었다고 생각합니다."
방해 요소:
- "대학 교수님으로부터 받은 최고의 글쓰기 팁은 매일 글을 쓰는 것이었습니다."
- "대학 동기로부터 받은 최악의 글쓰기 조언은 각 에세이를 다섯 가지 다른 스타일로 쓰는 것이었습니다."
- "동급생으로부터 받은 최고의 글쓰기 조언은 각 에세이를 세 가지 다른 스타일로 쓰는 것이었고, 이것은 고등학교 때였습니다."
- "대학 동기로부터 받은 최고의 글쓰기 조언이 각 에세이를 네 가지 다른 스타일로 쓰는 것이라고 생각했지만, 더 이상은 아닙니다."
방해 요소가 있는 8개의 바늘을 모두 테스트하는 대신, 높은 바늘-질문 유사성을 가진 하나의 바늘을 사용하여 바늘을 상대적으로 쉽게 식별할 수 있는 조건을 만듭니다. 이전 결과에서 모델이 높은 바늘-질문 유사성으로 인해 입력 길이에 걸쳐 이 바늘에서 일반적으로 잘 수행된다는 것을 보았으며, 이를 통해 방해 요소만의 영향을 더 잘 격리하고 측정할 수 있습니다.
세 가지 테스트 조건을 실행합니다:
- 방해 요소 없음 (기준선): 바늘만
- 단일 방해 요소: 바늘 + 하나의 방해 요소 (무작위로 위치)
- 다중 방해 요소: 바늘 + 건초더미 전체에 무작위로 위치한 4개의 모든 방해 요소
결과
단일 방해 요소도 기준선(바늘만)에 비해 성능을 감소시키고, 4개의 방해 요소를 추가하면 이 저하가 더욱 심화됩니다.
우리는 또한 방해 요소가 균일한 영향을 미치지 않는다는 것을 볼 수 있습니다. 예를 들어, arXiv 건초더미와 PG 에세이 바늘 조합에서 방해 요소 3(빨간색)이 다른 방해 요소에 비해 더 큰 성능 저하를 일으키는 것을 볼 수 있습니다.
이 비균일한 영향을 더 조사하기 위해 4-방해 요소 조건에서 다양한 모델의 실패 시도를 분석합니다. arXiv 건초더미와 PG 에세이 바늘 조합의 경우, 방해 요소 2와 3이 모델 전반에 걸쳐 환각된 응답에서 가장 자주 나타나는 것을 봅니다.
이러한 실패는 또한 모호성을 처리하는 모델별 차이를 보여줍니다. Claude 모델은 일관되게 가장 낮은 환각 비율을 보입니다. 특히 Claude Sonnet 4와 Opus 4는 특히 보수적이며 불확실할 때 기권하는 경향이 있어 답을 찾을 수 없다고 명시적으로 말합니다. 반대로 GPT 모델은 가장 높은 환각 비율을 보이며, 방해 요소가 있을 때 종종 자신감 있지만 잘못된 응답을 생성합니다.
바늘-건초더미 유사성
긴 컨텍스트 작업에서 관련 없는 컨텍스트는 종종 입력 길이를 확장하기 위한 중립적인 자리표시자로 취급됩니다. 일반적으로 이 관련 없는 컨텍스트의 내용은 작업을 직접적으로 방해하지 않는 한 중요하지 않다고 가정됩니다.
그러나 자연스러운 질문이 발생합니다: 바늘-건초더미 유사성이 작업 난이도에 전혀 영향을 미칠까요? 직관적으로, 바늘이 건초더미의 내용과 섞이면 모델이 바늘을 추출하는 데 더 큰 어려움을 겪을 수 있습니다.
우리의 발견은 바늘-건초더미 유사성이 모델 성능에 비균일한 효과를 갖는다는 것을 보여줍니다.
실험
바늘-질문 유사성 실험의 바늘을 사용하여 바늘-건초더미 유사성의 영향을 테스트하는 실험을 설정합니다.
건초더미를 임베드하고 각 바늘에 대해 가장 유사한 상위 5개 청크를 검색한 다음 코사인 유사성 점수를 평균하여 바늘-건초더미 유사성을 측정합니다. 이 과정은 견고성을 위해 5개의 다른 임베딩 모델에 걸쳐 반복됩니다.
PG 에세이 건초더미에서 PG 에세이 바늘은 0.101의 변동으로 평균 0.529의 바늘-건초더미 유사성 점수를 갖는 반면, arXiv 바늘은 0.111의 변동으로 평균 0.368의 바늘-건초더미 유사성을 평균합니다. 반대로 arXiv 건초더미에서 arXiv 바늘은 0.0858의 변동으로 평균 0.654의 바늘-건초더미 유사성을 평균하는 반면, PG 에세이 바늘은 0.105의 변동으로 0.394의 바늘-건초더미 유사성에서 더 낮은 점수를 받습니다.
각 건초더미에서 의미적으로 유사한 바늘과 관련 없는 바늘을 테스트합니다. 예를 들어, Paul Graham 에세이 건초더미 내에 PG 에세이와 arXiv 바늘을 모두 배치하여 두 조건을 비교합니다:
결과
우리는 두 가지 건초더미 유형(Paul Graham 에세이와 arXiv 논문)에서 PG 에세이와 arXiv 바늘을 모두 테스트합니다. Paul Graham 에세이 건초더미에서 arXiv 바늘은 PG 에세이 바늘에 비해 상당히 더 나은 성능을 보입니다. 즉, 바늘이 건초더미와 의미적으로 섞이지 않을 때 모델이 더 잘 수행됩니다. 그러나 arXiv 건초더미에서는 arXiv와 PG 에세이 바늘 간의 성능 차이가 최소한으로만 관찰됩니다.
단지 두 주제에 걸쳐 테스트하는 것은 더 높은 바늘-건초더미 유사성이 이 작업에서 모델 성능을 저하시킨다는 일반화 가능한 결론을 도출하기에는 불충분합니다. 그러나 이는 긴 컨텍스트 처리의 비균일한 성격을 강조합니다. 작업 구조와 바늘-질문 유사성이 일정하게 유지될 때도 바늘과 건초더미 사이의 의미적 유사성을 변경하면 결과에 영향을 미칠 수 있습니다. 이는 긴 컨텍스트 벤치마크에서 충분히 탐구되지 않은 영역과 향후 연구를 위한 의미 있는 방향을 나타냅니다.
건초더미 구조
바늘-건초더미 유사성 외에도 건초더미의 구조적 패턴도 고려합니다.
건초더미가 일관된 에세이로 구성된 경우, 무작위로 삽입된 바늘이 아이디어의 논리적 흐름을 방해하여 더 눈에 띄게 만들 수 있습니다. 반대로 무작위로 정렬된 문장의 셔플된 건초더미에서는 전체 컨텍스트가 구조가 부족하기 때문에 바늘이 더 쉽게 섞일 수 있습니다. 이는 모델이 컨텍스트의 논리적 흐름에 민감하다는 가정을 따릅니다—구조화되고 순서에 민감한 방식으로 처리합니다.
놀랍게도, 우리는 구조적 일관성이 일관되게 모델 성능을 해친다는 것을 발견했습니다.
직관에 반하는 것처럼 보이지만, 건초더미가 아이디어의 논리적 흐름을 보존할 때 모델이 더 나쁜 성능을 보입니다. 건초더미를 셔플하고 지역적 일관성을 제거하면 일관되게 성능이 향상됩니다.
실험
건초더미 구조의 영향을 평가하기 위해 두 가지 변형을 만듭니다:
- 원본: 각 발췌문 내에서 아이디어의 자연스러운 흐름을 보존
- 셔플: 문장이 건초더미 전체에 무작위로 재정렬되어 논리적 연속성 없이 동일한 전체 주제를 유지
결과
18개의 모든 모델과 바늘-건초더미 구성에 걸쳐, 우리는 모델이 논리적으로 구조화된 것보다 셔플된 건초더미에서 더 나은 성능을 보이는 일관된 패턴을 관찰합니다.
이러한 결과는 모델의 내부 처리에 대한 몇 가지 시사점을 가질 수 있습니다: 입력의 구조적 패턴이 특히 입력 길이가 증가함에 따라 주의 메커니즘이 적용되는 방식에 영향을 미칠 수 있습니다.
이 보고서의 범위를 벗어나지만, 이는 입력 구조에 의해 주의가 어떻게 영향을 받는지에 대한 해석 가능성 연구의 잠재적 방향을 나타냅니다. 입력 길이가 증가함에 따라 발생하는 이러한 구조적 영향을 이해하면 이러한 긴 컨텍스트 실패 패턴을 설명하는 데 도움이 될 수 있습니다.
LongMemEval
더 현실적인 설정에서 이러한 모델을 평가하기 위해 대화형 질문-답변을 위한 긴 컨텍스트 벤치마크인 LongMemEval을 사용합니다.
채팅 어시스턴트에 긴 입력을 사용하는 것은 후속 채팅에 관련 이력을 유지하는 일반적인 접근 방식입니다. 채팅 어시스턴트에 "메모리"를 통합하기 위해 순진한 접근 방식은 다음 채팅을 위한 프롬프트에 전체 채팅 이력을 포함하는 것입니다. 이는 모델이 일반적으로 한 번의 호출에서 수행되는 두 가지 작업을 수행해야 합니다: 대화 이력의 관련 부분을 찾고(검색), 들어오는 쿼리에 유용한 방식으로 합성합니다(추론).
이상적인 경우에 모델은 관련 부분만 제공받아 추론에만 집중할 수 있습니다. 관련 없는 컨텍스트를 추가하면 관련성을 식별하는 추가 단계가 추가되어 모델이 두 작업을 동시에 수행하도록 강제합니다.
우리는 두 가지 조건을 통해 입력 길이가 증가함에 따라 이 추가 단계를 추가하는 효과를 체계적으로 테스트합니다:
- 집중 입력: 관련 부분만 포함하므로 모델은 간단한 추론만 수행하면 됩니다.
- 전체 입력: 관련 없는 컨텍스트를 포함하는 전체 113k 토큰 LongMemEval 입력을 활용합니다. 이 경우 모델은 추론 외에도 긴 컨텍스트에서 검색을 수행해야 합니다.
모델이 집중 입력에서 성공할 수 있는 능력이 높다는 것을 확인한 다음 전체 입력에서 일관된 성능 저하를 관찰합니다. 이 성능 저하는 관련 없는 컨텍스트를 추가하고 이에 따라 검색의 추가 단계를 추가하는 것이 안정적인 성능을 유지하는 모델의 능력에 상당한 영향을 미친다는 것을 시사합니다.
실험
사용자와 어시스턴트 간의 채팅 이력이 주어지면, 모델의 작업은 해당 채팅 이력의 일부와 관련된 질문에 답하는 것입니다.
[2]
우리는 LongMemEval_s를 사용하고 지식 업데이트, 시간적 추론 및 다중 세션 범주에 속하는 작업을 필터링합니다. 그런 다음 일부 질문이 너무 모호하거나 답할 수 없기 때문에 이 데이터셋을 수동으로 정리하여 38개의 프롬프트를 필터링하여 총 306개의 프롬프트로 끝납니다. 이러한 프롬프트는 평균 ~113k 토큰입니다.
이러한 긴 프롬프트는 대부분 질문과 관련이 없는 내용으로 구성되며 때로는 질문과 관련이 있는 것처럼 보일 수 있는 방해 요소가 포함됩니다. 우리는 이러한 긴 프롬프트에서 모델의 성능을 질문에 답하기 위한 관련 부분만 포함하는 집중 버전과 비교합니다.
집중 프롬프트는 평균 ~300 토큰이며, 원래 레이블이 지정된 데이터셋과 수동 조정에서 파생됩니다.
모델 출력은 정렬된 LLM 판단자(인간 판단과 >99% 정렬된 GPT-4.1)를 사용하여 판단되었습니다.
결과
모든 모델에서 전체 프롬프트에 비해 집중 프롬프트에서 상당히 높은 성능을 봅니다.
Claude 모델은 집중 프롬프트와 전체 프롬프트 성능 간에 가장 두드러진 격차를 보입니다. 이 불일치는 주로 모호성에서 발생하는 기권에 의해 주도되며, 모델 불확실성으로 이어지며, NIAH에서 방해 요소와 함께 이 모델 패밀리의 행동과 유사합니다. 이 행동은 Claude Opus 4와 Sonnet 4에서 가장 분명하며, 모호성 하에서 특히 보수적인 것으로 보이며, 구형 Claude 모델에 비해 전체 프롬프트에서 더 낮은 성능으로 이어집니다.
질문: "정원 가꾸기 워크숍에 참석한 날과 토마토 묘목을 심은 날 사이에 며칠이 지났습니까?"
정답: 6일. 7일(마지막 날 포함)도 허용됩니다.
모델 출력: "채팅 기록에서 이러한 이벤트에 대한 구체적인 날짜가 제공되지 않았기 때문에 정원 가꾸기 워크숍과 토마토 묘목 심기 사이의 일수를 결정할 수 없습니다."
집중 프롬프트에서 더 강한 성능의 추세는 GPT, Gemini 및 Qwen 모델 패밀리에서도 유지됩니다. thinking 모드를 지원하는 모델의 경우 활성화되면 집중 프롬프트와 전체 프롬프트 모두에서 주목할 만한 향상을 봅니다. 그러나 최신 모델에서 전체 추론 기능을 사용하더라도 두 입력 길이 간의 성능 격차는 여전히 나타납니다.
우리는 또한 특정 질문 유형 간의 패턴을 관찰합니다. non-thinking 모드에서 모델은 일반적으로 지식 업데이트에서 가장 잘 수행하고, 그 다음 다중 세션, 그 다음 시간적 추론 순입니다—집중 프롬프트와 전체 프롬프트 모두에서. 그러나 thinking이 활성화되면 이 순위는 지식 업데이트, 시간적 추론, 그 다음 다중 세션으로 변경됩니다.
반복 단어
이전 실험에서는 입력 길이만이 모델 성능에 어떤 영향을 미치는지 탐구합니다. 그러나 출력 길이가 입력에 따라 확장되면 어떻게 될까요? 이러한 모델은 자기회귀적이므로 모델의 출력도 입력에 속합니다. 각 토큰은 그 시점까지의 입력과 생성된 토큰에 조건부로 생성됩니다.
문자열을 n번 반복하는 기본 프로그램을 고려해 보십시오—매번 동일한 출력을 생성합니다. 이렇게 사소한 작업의 경우, 우리는 이러한 모델이 똑같이 신뢰할 수 있을 것으로 기대하며, 이들을 컴퓨팅 시스템으로 취급하고 싶습니다.
그러나 우리의 발견은 이러한 간단한 작업에서도 입력과 출력 길이를 모두 포함하는 컨텍스트 길이가 증가함에 따라 모델 성능이 비균일해진다는 것을 보여줍니다.
실험
우리는 모델이 특정 위치에 단일 고유 단어가 삽입된 반복 단어 시퀀스를 복제해야 하는 통제된 작업을 설계합니다. 프롬프트는 모델에게 입력 텍스트를 정확히 재현하도록 명시적으로 지시합니다.
예시 프롬프트는 다음과 같습니다:
다음 텍스트를 단순히 복제하고, 정확히 동일한 텍스트를 출력하세요: apple apple apple apple apples apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple
주어진 단어 조합에 대해 컨텍스트 길이와 고유 단어 인덱스의 1090가지 변형을 만듭니다:
- 단어 수: 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000
- 인덱스:
- num_words <= 100인 모든 가능한 위치
- 그 외: num_words // 100의 증분
다음 단어 조합에 대해 이 작업을 수행합니다:
- 공통 단어: "apple" | 고유 단어: "apples"
- 공통 단어: "apples" | 고유 단어: "apple"
- 공통 단어: "golden" | 고유 단어: "Golden"
- 공통 단어: "orange" | 고유 단어: "run"
- 공통 단어: "orange" | 고유 단어: "San Francisco"
- 공통 단어: "San Francisco" | 고유 단어: "sf"
- 공통 단어: "Golden Gate Bridge" | 고유 단어: "Golden Gate Park"
모델 구성:
- max_output_tokens = input_tokens * 2 (모델의 최대 출력 토큰 한계까지, 구형 모델의 경우 일반적으로 더 낮음)
- temperature = 0
- thinking = max(0, minimum_thinking_budget)
우리는 thinking 예산을 0 또는 최소값(예: Gemini 2.5 Pro의 경우 128 토큰)으로 설정하여 추론 모델을 고려합니다. 토큰 기반 thinking 예산을 지원하지 않고 고정 출력 길이로 구성할 수 없는 OpenAI의 o3는 제외합니다. 이는 평가 전반에서 일관성을 유지하는 데 필수적입니다.
점수는 정규화된 레벤슈타인 거리로 계산됩니다.
우리는 모델이 작업을 시도하지 않는 경우를 다음과 같이 결정합니다:
- 중지 이유가 있는 빈 출력 (예: GPT-3.5 turbo의 finish_reason='content_filter')
- 비어 있지 않은 출력이지만 유효하지 않은 출력:
- 시도 없이 순수한 관찰:
"텍스트에 불일치가 있음을 알 수 있습니다. 원본 텍스트에서 "apples"라는 단어가 ("apple" 대신) 한 번 나타나며, 텍스트 블록의 89번째 또는 90번째 줄 주변에 있는 것으로 보입니다. 정확히 동일한 텍스트를 복제하라고 요청하셨으므로 이 차이점을 지적해야 합니다. 어떻게 진행하시겠습니까:"
- 표시된 대로 정확히 복제 ("apples"의 한 인스턴스 포함)
- 패턴과 일치하도록 "apple"로 수정
- 단순히 있는 그대로 정확히 복제 진행 어떻게 진행하길 원하시는지 알려주세요.
- 답변 거부:
죄송하지만 도와드릴 수 없습니다
- 무작위 출력:
"-\n-\n--\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-..."
이러한 경우를 제외하고 결과에서 거부 비율과 일반적인 패턴을 별도로 기록합니다. 다음과 같은 시작 구문이 있는 경우를 포함하여 작업이 시도된 경우만 포함합니다:
"텍스트에 불일치가 있음을 알 수 있습니다. 한 지점에서 "apple"이 "apples"('s' 포함)로 변경됩니다. 제공된 대로 텍스트를 정확히 복제하겠습니다:"
apple apple apple apple apple apple apple apple apple...
이러한 인스턴스에서는 정확한 지시사항을 따르지 않은 것에 대해 모델에 약간의 페널티를 주기 위해 동일한 점수 프로세스를 사용합니다.
GPT-3.5 turbo는 finish_reason='content_filter'로 인해 작업의 60.29%에 대해 출력 생성을 거부했기 때문에 완전히 제외합니다.
우리는 여러 차원에서 출력을 분석합니다:
- 정규화된 레벤슈타인 거리
- 고유 단어의 존재와 위치
- 정확함: 고유 단어가 존재하고 올바른 인덱스에 나타남
- 잘못된 위치: 고유 단어가 나타나지만 잘못된 인덱스에
- 단어 수 차이 (입력의 단어 수 - 생성된 단어 수)
결과
컨텍스트 길이가 증가함에 따라 모든 모델에서 성능이 일관되게 저하됩니다. 이 실험에서는 출력 길이가 짧은 길이로 상대적으로 고정된 이전 테스트와 달리 입력 길이가 출력 길이에 직접 비례합니다. 이 설정을 통해 모델이 긴 시퀀스를 안정적으로 재현하는 능력을 평가할 수 있습니다.
우리는 또한 모든 모델 패밀리에서 나타나는 모델이 작업을 시도하지 않는 패턴을 관찰합니다.
Sonnet 3.5(빨간색)가 최대 출력 토큰 수 8192까지 새로운 Claude 모델보다 더 나은 성능을 보이는 것을 관찰합니다. Opus 4(파란색)는 가장 느린 저하 속도를 보이지만 이 패밀리에서 작업을 거부하는 유일한 모델이기도 합니다(시도의 2.89%).
Opus 4의 일반적인 패턴은 모델이 진행 여부를 결정하기 전에 관찰을 하고, 그 다음 시도하거나 시도하지 않는 것입니다. 이 행동은 일반적으로 2500 단어부터 시작됩니다.
Opus 4가 다음과 같은 이유로 작업 시도를 단순히 거부하는 경우도 있습니다:
- 저작권이 있는 자료를 생성할 위험
요청된 대로 정확한 텍스트를 복제할 수 없습니다. "San Francisco"의 반복일 뿐인 것처럼 보이지만, 그렇게 하라고 요청받았을 때 텍스트를 그대로 재현하는 것을 피해야 합니다. 이는 다른 맥락에서 저작권이 있는 자료를 재현할지 테스트하는 데 잠재적으로 사용될 수 있기 때문입니다.
대신 텍스트에 "sf" 다음에 "San Francisco"라는 구문이 24번 반복되어 있다고 말씀드릴 수 있습니다.
- 반복 시퀀스의 불일치
제공한 텍스트에 오류가 있음을 알 수 있습니다. 한 인스턴스에서 "San Francisco"가 "San Francisco sf San Francisco"로 나타납니다(중간에 추가 "sf" 포함). 정확한 텍스트를 복제하라고 요청하셨으므로 소스에 이 불일치가 포함되어 있어 완벽한 복제를 제공할 수 없습니다.
텍스트는 "San Francisco"가 여러 번 반복되지만 그 안에 하나의 오류가 포함되어 있습니다.
우리는 또한 위치 정확도를 측정합니다: 고유 단어가 올바른 위치에 나타나는지 여부. 특히 입력 길이가 증가함에 따라 고유 단어가 시퀀스 시작 부분 근처에 배치될 때 정확도가 가장 높습니다.
또한 컨텍스트 길이가 증가함에 따라 모델은 종종 출력 토큰 한계에 도달할 때까지 반복 단어를 생성합니다. 우리는 입력과 출력 단어 수의 차이를 계산하여 이를 정량화합니다:
- 양수 = 모델이 부족하게 생성
- 음수 = 모델이 과도하게 생성
GPT 모델 패밀리에서는 GPT-4.1에 대해 2.55%의 거부율을 관찰합니다. 이러한 거부는 일반적으로 약 2500 단어부터 시작되며 "죄송하지만 도와드릴 수 없습니다"와 같은 응답을 보입니다.
우리는 또한 GPT-4 turbo에 대해 약 500 단어 주변에서 지역 성능 피크를 관찰합니다. 50에서 250 단어 사이에서 모델은 과도하게 생성하는 경향이 있지만(출력 한계까지 공통 단어 반복), 500 단어에서는 단어 수에서 더 정확해집니다. 그러나 이 지점을 넘어서면 입력과 출력 단어 수 간의 양의 차이에서 볼 수 있듯이 부족하게 생성하기 시작합니다.
위치 정확도는 GPT 모델도 입력 초기에 고유 단어가 나타날 때 올바르게 배치할 가능성이 더 높다는 유사한 추세를 따릅니다.
우리는 또한 이 패밀리에서 더 많은 모델별 행동을 주목합니다.
GPT-4.1 mini는 모든 작업을 시도하지만 때때로 "Golden Gate Bridge"/"Golden Gate Park" 조합에 대해 무작위 단어를 생성합니다. 무작위 출력은 입력에 존재하지 않는 단어 또는 단어 시퀀스로 정의됩니다.
모델은 입력에 존재하지 않는 "Golden Golden" 및 "Gate Gate"와 같은 중복 단어를 출력합니다(입력에는 "Golden Gate Bridge"와 "Golden Gate Park"만 포함).
이러한 중복 단어는 고유 단어의 위치에 나타나지 않고 대신 텍스트의 나중 위치에 나타납니다.
GPT-4.1 nano는 "San Francisco" / "sf" 쌍에서 유사한 행동을 보이며 때때로 소문자 "san"을 출력합니다.
모델 출력에서 발췌: San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco san Francisco san Francisco san Francisco san Francisco
골드 레퍼런스의 해당 부분: San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco San Francisco
이러한 무작위 단어로 우리는 위치와 관련하여 구조의 힌트를 알 수 있습니다. 고유 단어의 위치와 무작위 단어가 나타나기 시작하는 위치 사이의 상관관계를 관찰하며, 이는 향후 조사를 위한 방향이 될 수 있습니다.
GPT-4 Turbo는 이 패밀리에서 가장 가변적인 출력을 가지며, 이는 모델이 무작위 출력을 생성하는 경향이 더 크고 더 다양한 세트를 생성한다는 것을 의미합니다.
일반적으로 컨텍스트 길이가 증가함에 따라 모델 전반에서 성능 저하를 봅니다. Gemini 2.5 Pro(파란색)의 경우 50 단어에서 모델이 예상보다 적은 단어를 생성하기 때문에 더 낮은 시작점을 관찰합니다.
"apples" / "apple"에 대한 Gemini 2.5 Flash를 제외하고 이 패밀리의 모든 단어 조합과 모델에서 입력에 존재하지 않는 무작위 단어가 생성되는 것을 관찰합니다. 이는 일반적으로 약 500-750 단어부터 시작되며, Gemini 2.5 Pro가 가장 큰 변동성을 보이고, 그 다음 2.0 Flash, 그 다음 2.5 Flash 순입니다.
"golden" | "Golden" (2,500 단어): "- - "I'-a-le-le-le-le-le-le-'a-le-le-le-le-le-le-le--le-le-le-le-le-le-le..."
"orange" | "run" (10,000 단어): orange orange orange--g.-g/2021/01/20/orange-county-california-sheriff-deputies-wore...
우리는 작업의 4.21%를 구성하는 Qwen3-8B에서만 비시도를 관찰합니다. 이 모델에서는 약 5000 단어부터 무작위 출력을 관찰합니다:
좋아, 잠시 쉬어야겠어. 알려줘, 기분이 안 좋아. 진정해야 해. 어딘가 가서 신선한 공기를 마셔야겠어. 아마 해변에 가거나, 어딘가에서 쉬어야겠어. 모르겠지만, 쉬어야 해. 알려줘, 기분이 안 좋아. 진정해야 해. 어딘가 가서 신선한 공기를 마셔야겠어. 아마 해변에 가거나, 어딘가에서 쉬어야겠어. 모르겠지만, 쉬어야 해. 알려줘, 기분이 안 좋아. 진정해야 해. 어딘가 가서 신선한 공기를 마셔야겠어. 아마 해변에 가거나, 어딘가에서 쉬어야겠어. 모르겠지만, 쉬어야 해. 알려줘, 기분이 안 좋아. 진정해야 해. 어딘가 가서 신선한 공기를 마셔야겠어. 아마 해변에 가거나, 어딘가에서 쉬어야겠어. 모르겠지만, 쉬어야 해. 알려줘, 기분이 안 좋아. 진정해야 해. 어딘가 가서...
한계 및 향후 작업
우리의 실험은 LLM이 간단한 작업에서도 컨텍스트 길이에 걸쳐 일관되지 않은 성능을 보인다는 것을 보여줍니다. 그러나 이 평가는 실제 사용 사례를 완전히 포괄하지는 않습니다. 실제로 긴 컨텍스트 애플리케이션은 종종 합성이나 다단계 추론을 요구하며 훨씬 더 복잡합니다. 우리의 발견에 따르면, 그러한 조건에서 성능 저하가 훨씬 더 심각할 것으로 예상됩니다.
우리의 결과는 긴 컨텍스트 평가에 대한 향후 작업에도 시사점을 갖습니다. 긴 컨텍스트 벤치마크에 대한 이전 작업에서도 언급된 일반적인 한계는 더 긴 입력이 종종 더 복잡한 추론을 도입하기 때문에 입력 길이와 작업 난이도를 혼동하는 경향입니다. 우리는 입력 길이를 요인으로 격리하고 작업 난이도를 상수로 유지하는 데 실험을 집중합니다. 향후 작업의 중요한 방향은 모델의 성능 저하가 작업 자체의 본질적인 어려움에서 비롯되는지 대 긴 컨텍스트를 효과적으로 처리하는 능력에서 비롯되는지를 구별하는 것입니다.
우리는 또한 이 성능 저하 뒤의 메커니즘을 설명하지 않습니다. 우리의 관찰은 관련 정보의 배치나 반복과 같은 컨텍스트의 구조적 속성이 모델 행동에 영향을 미칠 수 있음을 시사하지만, 왜 그런 일이 발생하는지에 대한 확실한 답은 없습니다. 이러한 효과를 조사하려면 이 보고서의 범위를 벗어나는 기계론적 해석 가능성에 대한 더 깊은 조사가 필요합니다.
더 광범위하게, 우리의 발견은 컨텍스트 엔지니어링 (context engineering)의 중요성을 나타냅니다: 모델의 컨텍스트 윈도우를 신중하게 구성하고 관리하는 것입니다. 모델의 컨텍스트에 정보가 어디에 어떻게 제시되는지는 작업 성능에 강하게 영향을 미치며, 이는 모델 성능을 최적화하기 위한 향후 작업의 의미 있는 방향이 됩니다.
결론
우리의 실험을 통해 LLM이 입력 길이에 걸쳐 일관된 성능을 유지하지 않는다는 것을 보여줍니다. 비어휘적 검색이나 텍스트 복제와 같은 간단한 작업에서도 입력 길이가 증가함에 따라 성능의 비균일성이 증가하는 것을 봅니다.
우리의 결과는 현재 벤치마크를 넘어서는 더 엄격한 긴 컨텍스트 평가의 필요성과 컨텍스트 엔지니어링의 중요성을 강조합니다. 관련 정보가 모델의 컨텍스트에 존재하는지 여부가 중요한 것이 아니라, 그 정보가 어떻게 제시되는지가 더 중요합니다. 우리는 가장 유능한 모델조차도 이에 민감하다는 것을 보여주며, 신뢰할 수 있는 성능을 위해 효과적인 컨텍스트 엔지니어링을 필수적으로 만듭니다.
각주
[1] (2025년 7월 16일) Kiran Vodrahalli (Google Deepmind)에 의해 Latent List 통찰력이 추가되고 명확화되었습니다
[2] 예시의 원본 출처: https://arxiv.org/pdf/2410.10813
참고문헌
[1] Kamradt, G. (2023). Needle In A Haystack - Pressure Testing LLMs [GitHub Repository]. Link
[2] Wu, D., Wang, H., Yu, W., Zhang, Y., Chang, K.-W., and Yu, D. (2025). LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory. arXiv preprint arXiv:2410.10813. Link
[3] Gemini Team, Georgiev, P., Lei, V. I., Burnell, R., Bai, L., Gulati, A., Tanzer, G., Vincent, D., Pan, Z., Wang, S., et al. (2024). Gemini 1.5: Unlocking multimodal understanding across millions of tokens of context. arXiv preprint arXiv:2403.05530. Link
[4] OpenAI, Kumar, A., Yu, J., Hallman, J., Pokrass, M., Goucher, A., Ganesh, A., Cheng, B., McKinzie, B., Zhang, B., Koch, C., et al. (2025). Introducing GPT-4.1 in the API. Link
[5] Meta AI, (2025). The Llama 4 herd: The beginning of a new era of natively multimodal AI innovation. Link
[6] Modarressi, A., Deilamsalehy, H., Dernoncourt, F., Bui, T., Rossi, R. A., Yoon, S., and Schütze, H. (2025). NoLiMa: Long-Context Evaluation Beyond Literal Matching. arXiv preprint arXiv:2502.05167. Link
[7] Fu, H. Y., Shrivastava, A., Moore, J., West, P., Tan, C., and Holtzman, A. (2025). AbsenceBench: Language Models Can't Tell What's Missing. arXiv preprint arXiv:2506.11440. Link
[8] Vodrahalli, K., Ontanon, S., Tripuraneni, N., Xu, K., Jain, S., Shivanna, R., Hui, J., Dikkala, N., Kazemi, M., Fatemi, B., et al. (2024). Michelangelo: Long Context Evaluations Beyond Haystacks via Latent Structure Queries. arXiv preprint arXiv:2409.12640. Link
[9] openai. (2025). mrcr [Dataset]. Hugging Face. Link
[10] openai. (2025). graphwalks [Dataset]. Hugging Face. Link
[11] Shi, F., Chen, X., Misra, K., Scales, N., Dohan, D., Chi, E., Schärli, N., and Zhou, D. (2023). Large Language Models Can Be Easily Distracted by Irrelevant Context. arXiv preprint arXiv:2302.00093. Link
[12] jamescalam. (2024). ai-arxiv2 [Dataset]. Hugging Face. Link
[13] Peng, B., Quesnelle, J., Fan, H., and Shippole, E. (2023). YaRN: Efficient Context Window Extension of Large Language Models. arXiv preprint arXiv:2309.00071. Link
[14] McInnes, L., Healy, J., and Melville, J. (2020). UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv preprint arXiv:1802.03426. Link
[15] Campello, R. J. G. B., Moulavi, D., and Sander, J. (2013). Density-Based Clustering Based on Hierarchical Density Estimates. In Pei, J., Tseng, V. S., Cao, L., Motoda, H., and Xu, G. (Eds.), Advances in Knowledge Discovery and Data Mining (PAKDD 2013), Lecture Notes in Computer Science, vol 7819. Springer, Berlin, Heidelberg. Link
부록
정리된 LongMemEval 데이터셋과 사용된 바늘/방해 요소는 여기에서 다운로드할 수 있습니다.
LLM 판단자 정렬:
우리는 NIAH 및 LongMemEval 실험에 대한 출력을 평가하기 위해 LLM 판단자를 사용합니다. 이러한 판단자는 다음 프로세스를 통해 인간 판단에 맞춰 보정됩니다:
- 모델 출력의 하위 집합이 수동으로 잘못됨/올바름으로 레이블됩니다 (NIAH의 경우 ~500개 출력, LongMemEval의 경우 ~600개 출력)
- GPT-4.1이 동일한 모델 출력 하위 집합을 잘못됨/올바름으로 레이블하는 데 사용됩니다.
- 인간-모델 정렬 판단의 비율을 측정하여 정렬 점수를 계산합니다.
- 정렬되지 않은 부분을 수동으로 검사하여 프롬프트를 반복합니다.
- 정렬 점수 > 0.99가 달성될 때까지 2-4단계를 반복합니다.
테스트된 모델
컨텍스트 윈도우 또는 thinking_budget 제약으로 인해 모든 18개 모델이 각 실험에 포함되지는 않습니다.
Anthropic
- Claude Opus 4
- Claude Sonnet 4
- Claude Sonnet 3.7
- Claude Sonnet 3.5
- Claude Haiku 3.5
OpenAI
- o3
- GPT-4.1
- GPT-4.1 mini
- GPT-4.1 nano
- GPT-4o
- GPT-4 Turbo
- GPT-3.5 Turbo
Google
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
Alibaba
- Qwen3-235B-A22B
- Qwen3-32B
- Qwen3-8B
사용된 임베딩 모델
- text-embedding-3-small
- text-embedding-3-large
- jina-embeddings-v3 (input_type='text-matching')
- voyage-3-large (input_type=None)
- all-MiniLM-L6-v2
바늘-질문 유사성
참고: 동일한 모델의 thinking/non-thinking 모드는 별도로 처리됩니다
바늘-건초더미 유사성 결과에서 언급했듯이, 우리는 다른 바늘-건초더미 조합에 비해 모델이 예외적으로 잘 수행되는 한 가지 경우를 주목합니다. 그 자체로는 고성능 모델이 균일한 성능을 갖는 것처럼 보일 수 있습니다. 그러나 이러한 모델의 이러한 균일성은 나머지 실험에서는 유지되지 않습니다.
방해 요소의 영향
반복 단어
아래 내용은 독자의 이해를 돕기 위해 공부하우가 추가한 설명입니다. 원문에는 없는 내용입니다.
주요 용어 설명
이 문서에서 사용된 주요 기술 용어들을 설명합니다:
AI 모델 관련 용어
대규모 언어 모델 (Large Language Models, LLMs)
수십억 개 이상의 매개변수를 가진 인공지능 모델로, 인간의 언어를 이해하고 생성할 수 있습니다. 이 연구에서는 긴 텍스트를 처리할 때 이러한 모델들의 성능이 어떻게 변화하는지를 조사합니다.
컨텍스트 윈도우 (Context Window)
모델이 한 번에 처리할 수 있는 최대 텍스트 길이를 의미합니다. 예를 들어, 100만 토큰의 컨텍스트 윈도우는 약 75만 단어를 한 번에 처리할 수 있다는 의미입니다.
토큰 (Token)
AI 모델이 텍스트를 처리하는 기본 단위입니다. 한국어의 경우 대략 1-2글자가 1토큰에 해당하며, 영어의 경우 평균적으로 4글자가 1토큰입니다.
평가 방법 관련 용어
건초더미에서 바늘 찾기 (Needle in a Haystack, NIAH)
긴 텍스트(건초더미) 안에 특정 정보(바늘)를 숨기고, 모델이 이를 찾아낼 수 있는지 테스트하는 방법입니다. 이 연구에서는 단순한 단어 매칭을 넘어 의미적 이해가 필요한 경우를 테스트합니다.
방해 요소 (Distractors)
정답과 비슷해 보이지만 실제로는 틀린 정보입니다. 예를 들어, "대학 동기로부터 받은 최고의 조언"을 찾는 질문에 대해 "대학 교수로부터 받은 최고의 조언"은 방해 요소가 됩니다.
임베딩 (Embedding)
텍스트를 숫자 벡터로 변환하는 과정입니다. 이를 통해 텍스트 간의 의미적 유사성을 수학적으로 계산할 수 있습니다.
성능 지표 관련 용어
코사인 유사성 (Cosine Similarity)
두 텍스트가 얼마나 의미적으로 유사한지를 0과 1 사이의 숫자로 나타내는 척도입니다. 1에 가까울수록 더 유사합니다.
레벤슈타인 거리 (Levenshtein Distance)
한 텍스트를 다른 텍스트로 변환하는 데 필요한 최소 편집 횟수입니다. 이 연구에서는 모델이 텍스트를 얼마나 정확하게 복제하는지 측정하는 데 사용됩니다.
컨텍스트 엔지니어링 (Context Engineering)
AI 모델에 정보를 제공하는 방식을 최적화하는 기술입니다. 같은 정보라도 어떻게 배치하고 구조화하느냐에 따라 모델의 성능이 크게 달라질 수 있습니다.