희우 위키

HOME ABOUT ME STUDY RSS

Lost In The Middle - How Language Models Use Long Contexts 논문 리뷰와 생각

  • AI

목차

들어가며

많은 기업들에서 AX(AI Transformation)를 시도 중이고, 빠르게 발전하며 업종을 가리지 않고 산업혁명이라고 봐도 무방할 만큼 침투하는 AI 시대에서 AI 공부를 하던 중 Stanford University와 University of California, Berkeley의 연구자들이 현대 LLM 모델에서 입력 컨텍스트 내의 정보의 길이와 위치에 따른 성능의 변화를 연구한 논문을 읽게 되었습니다.

이 논문을 읽으면서 나온 내용들을 정리/요약하고, 추가적인 저의 생각을 남겨놓기 위해 포스팅을 작성합니다. 본 포스팅은 논문의 글을 요약하여 정리하며 중간중간 글 작성자인 저의 개인적인 의견도 함께 덧붙여있음을 사전에 알려드립니다. 논문의 원본은 하단 참고 자료에서 확인하실 수 있습니다.

이 논문의 연구가 2023년도에 이루어져 빠르게 발전된 현재와는 맞지 않을 수도 있다고 생각할 수 있겠지만, 지속적으로 더 큰 Context Window를 가진 언어 모델이 등장하더라도, 트랜스포머(Transformer) 기반의 아키텍처가 다운스트림 태스크 수행 시 입력 컨텍스트를 어떻게 활용하는지에 대해서는 여전히 불분명하며 구조적인 특성으로 인한 한계가 존재한다고 생각합니다.

특히 2026년 현재 화두 되고 있는 AI 에이전틱 시스템(Agentic System) 처럼 추론(Reasoning), 행동(Action) 계획(Planning)과 실행(Execute)하는 과정에서 장기적으로 긴 컨텍스트를 계속 공유하는 시스템 또는, 검색 증강 생성(RAG)시스템 등을 구축할 때 검색 엔진 또는 Vector DB에서 가져온 수많은 문서 중 ‘배치 순서’가 모델의 성능에 어떠한 영향을 미치는지에 대한 실험과 그 결과를 제시하므로, 앞으로 우리가 설계하고 개발할 AI Agentic 시스템에서 컨텍스트를 어떻게 설계해야 하는지에 대한 어느정도 가이드라인을 제시해줄 것으로 기대합니다.


귀무가설(H₀) 설정

이 논문의 귀무가설은 다음과 같이 설정합니다.

“언어 모델이 입력된 정보를 견고하게 활용한다면, 정보의 위치에 관계없이 성능이 일정하게 유지되어야 한다.”

지금부터 언급할 모든 실험에 사용되는 두 가지 통제 가능한 독립변수는 다음과 같습니다.

  • 컨텍스트의 크기 (Context Size)
  • 정보의 위치 (Position)



다중 문서 질의응답 실험 (Multi-Document Question Answering)

실험 설정 (Experimental Setup)

  • LLM 모델이 답변해야 할 질문
  • k개의 문서, 이 중 1개는 정답이 있는 문서이고 k-1개는 답변을 방해하는 문서로 구성
    • 실제 구글 검색 결과와 위키 기반의 답변(NaturalQuestions-Open)으로 구성
    • k-1개의 방해 문서는 Contriever로 질의와 관련성이 높은 순서대로 추출했다고 합니다.

이 실험의 재미있는 포인트는, 단순하게 긴 텍스트(컨텍스트)를 입력하는 것이 아닌, RAG 시스템에서 흔히 발생하는 ‘검색된 문서 나열’ 상황을 재현하여 실험했다는 점이에요. 또한, 모델이 출력한 답변에 실제 정답이 포함되어 있는지를 측정하는 정확도(Accuracy)를 주요 지표로 삼았습니다.

Contriever로 AI가 답변을 방해하는 문서를 추출한 것도 흥미로운 포인트였습니다. 질의와 관련성이 높은 문서를 검색하여 이 중 정답이 포함되지 않은 문서를 선별하여 하드 네거티브(Hard negatives) 역할을 수행하게 함으로써 정확한 정보 추출 능력이 있는지 검증이 제대로 되겠다는 생각이 들었어요.

실험 대상 모델

위에서 언급했지만, 2023년에 진행된 연구이기 때문에 비교적 과거에서 가장 성능이 뛰어난 모델로 연구가 이루어졌습니다. 하지만, 현재 시점에서 등장한 최신 모델들은 긴 컨텍스트 처리, Attention Scaling, Retrieval 부분에서 개선점이 있었지만, 여전히 위에서 언급한 여전히 길이와 위치에 따른 편향(Positional Bias)이 완전히 해소되지는 않았기에 실험 결과는 현재에서도 여전히 유효한 통찰을 제공할 것으로 생각됩니다.

  • MPT-30B-Instruct (8,192 Tokens)
  • LongChat-13B (16K) (16,384 Tokens)
  • GPT-3.5-Turbo (4,000 / 16,000 Tokens)
  • Claude-1.3 (8,000 / 100,000 Tokens)

실험 요약 (통제변수 수정 예시)

아래에 나오는 내용들은 실험의 방법을 설명합니다. 각 실험의 입력 프롬프트에서는 “제공된 검색 결과만을 사용하라”는 지시를 통해 외부 지식 사용을 최소화하고, 컨텍스트 기반 답변을 유도하도록 했어요.

  • 문서가 가운데에 있는 경우
  • 문서의 위치가 변경된 경우
  • Context의 Length가 변경되는 경우

Experimental 1. 정답 문서가 가운데에 있는 경우

입력 프롬프트 : 제공된 검색 결과(일부 결과는 관련성이 없을 수 있음)만을 사용하여 주어진 질문에 대한 수준 높은 답변을 작성하십시오.

문서 [1](제목: 과학 및 기술 분야의 아시아계 미국인) 아원자 입자 J/ψ의 발견으로 노벨 물리학상을 수상했습니다. 수브라마니안 찬드라세카르는...

문서 [2](제목: 노벨 물리학상 수상자 목록) 첫 번째 노벨 물리학상은 1901년 독일의 빌헬름 콘라드 뢴트겐에게 수여되었습니다. 그는...

문서 [3](제목: 과학자) 독창적인 방법을 통해 연구를 진행했으며, 본질적으로 확립된 상태였습니다. 라몬 이 카할은 1906년 그의 놀라운 업적으로 노벨상을 수상했습니다...

질문: 물리학 분야에서 최초로 노벨상을 받은 사람은 누구인가요?

LLM 모델이 찾아야하는 정답은 가운데인 문서[2]에 있습니다. 나머지 문서들은 Hard Negative를 위한 유사하지만 정답이 없는 문서를 제공합니다.

여기서 LLM 모델은 다음과 같은 답변을 해야만 합니다.

답변 : 빌헬름 콘라트 뢴트겐


Experimental 2. 정답 문서가 첫번째에 있는 경우

입력 프롬프트 : 제공된 검색 결과(일부 결과는 관련성이 없을 수 있음)만을 사용하여 주어진 질문에 대한 수준 높은 답변을 작성하십시오.

문서 [1](제목: 노벨 물리학상 수상자 목록) ...
문서 [2](제목: 과학 및 기술 분야의 아시아계 미국인) ...
문서 [3](제목: 과학자) ...

질문: 물리학 분야에서 최초로 노벨상을 받은 사람은 누구인가요?

LLM 모델이 찾아야하는 정답은 첫번째인 문서[1]에 있습니다. 마찬가지로 나머지 문서들은 Hard Negative를 위한 유사하지만 정답이 없는 문서를 제공합니다.

입력 컨텍스트에서 문서 순서를 바꿔도 아래의 결과처럼 출력에는 다음 답변과 같이 우리가 원하는 기댓값이 나와야만 합니다.

답변 : 빌헬름 콘라트 뢴트겐


Experimental 3. 입력 컨텍스트의 길이를 조정

입력 프롬프트 : 제공된 검색 결과(일부 결과는 관련성이 없을 수 있음)만을 사용하여 주어진 질문에 대한 수준 높은 답변을 작성하십시오.

문서 [1](제목: 과학 및 기술 분야의 아시아계 미국인) ...
문서 [2](제목: 물리학 노벨상 수상자 목록) ...
문서 [3](제목: 과학자) ...
문서 [4](제목: 노르웨이계 미국인) ...
문서 [5](제목: 마리아 괴퍼트 마이어) ...

질문: 물리학 분야에서 최초로 노벨상을 받은 사람은 누구인가요?

LLM 모델이 찾아야하는 정답은 문서[2]에 있습니다. 마찬가지로 나머지 문서들은 Hard Negative를 위한 유사하지만 정답이 없는 문서를 제공합니다.

마찬가지로, 입력 컨텍스트의 길이를 바꿔도 아래의 결과처럼 출력에는 다음 답변과 같이 우리가 원하는 기댓값이 나와야만 합니다.

답변 : 빌헬름 콘라트 뢴트겐

위와 같이 어떻게 보면 단순해 보일 수 있지만, NIAH(Needle in a Haystack) 연구와 비슷하게 위에서 언급한 두 가지 변수를 Finer-grained 조정을 통해 실험하며 굉장히 디테일한 패턴을 분석하였습니다.

실험 결과

각 모델에 대해서 실험 후 Accuracy를 측정한 결과 사진은 다음과 같습니다.

실험결과

(출처: Lost In the Middle 논문 내)

요약하자면 다음과 같습니다.

‘관련(정답) 정보가 시작이나 끝부분에 있을 때 가장 높다. U자형 성능 그래프(U-Shaped Performance curve)가 그려진다.’

즉, 모델은 컨텍스트의 앞부분과 뒷부분에 위치한 정보에는 비교적 강한 반면, 중간에 위치한 정보에 대해서는 상대적으로 활용도가 떨어지는 경향을 보입니다.

중요하게 봐야 하는 부분은, 확장된 모델이라고 하더라도 Input Context를 골고루 더 잘 사용한다는 것은 아니었습니다.

Context Window 내에 들어오도록 설계할 때 성능 변화를 관찰하면 위 그래프에서 확장된 모델에서도 성능 곡선의 형태가 유사하게 나타나며, 컨텍스트 길이가 증가하더라도 위치에 따른 성능 편차는 크게 완화되지 않는 것을 확인할 수 있습니다. (위 그래프에서 CPT-3.5-Turbo CPT-3.5-Turbo-16k 모델을 비교)

더 충격적인 부분은 Closed-Book 성능과의 벤치마크 결과 GPT-3.5-Turbo의 경우에는 56.1%의 성능을 보였지만, 문서를 20~30개 주고 정답을 가운데에 배치하였더니 성능이 56.1%보다 떨어졌다는 점입니다.

다시 말하자면 컨텍스트가 길고 문서를 가운데에 배치할 경우, 문맥을 제공하는 것이 오히려 성능을 저하시킨다는 점입니다.

image
(출처: Lost In the Middle 논문 내)

모델의 발전(문맥 확장 기술(RoPE Scaling 등) 등)을 통해 처리할 수 있는 컨텍스트의 사이즈가 늘었는 것과는 별개로 입력 컨텍스트 내에서 정보를 활용하는 메커니즘이 완전히 개선되었다기보다는, 여전히 구조적인 한계나 경향이 남아있음을 보여줍니다.


입력 컨텍스트로부터의 검색 능력 평가 실험 (How Well Can Language Models Retrieve From Input Contexts?)

앞선 실험에서 모델이 Context의 가운데에 있는 정보를 검색하고 사용하는 데에 있어서 성능이 저하된다는 결과가 나왔습니다. 그렇다면, 입력 문맥에서 단순히 정보를 찾아내는 것(Retrieve)은 어느 정도의 성능을 보여주는지에 대해 검증하기 위해 synthetic key-value를 설계하여 실험을 진행했다고 합니다.

실험 설정 (Experimental Setup)

  • 무작위로 생성된 UUID(고유한 값)들로 구성된 k개의 key-value
  • 이 중 1개만 찾아야 하는 값이며, k-1개는 방해 데이터
  • 값은 자연어(Natural Language)의 의미론적 특성을 제거함

Experimental

실험한 프롬프트는 간략하게 요약하자면 다음과 같습니다.

입력 프롬프트 : 아래 JSON 객체에서 지정된 키에 해당하는 값을 추출하세요.
JSON data:
{
    "2a8d601d-1d69-4e64-9f90-8ad825a74195": "bb3ba2a5-7de8-434b-a86e-a88bb9fa7289",
    "a54e2eed-e625-4570-9f74-3624e77d6684": "d1ff29be-4e2a-4208-a182-0cea716be3d4",
    "9f4a92b9-5f69-4725-ba1e-403f08dea695": "703a7ce5-f17f-4e6d-b895-5836ba5ec71c",
    "52a9c80c-da51-4fc9-bf70-4a4901bc2ac3": "b2f8ea3d-4b1b-49e0-a141-b9823991ebeb",
    "f4eb1c53-af0a-4dc4-a3a5-c2d50851a178": "d733b0d2-6af3-44e1-8592-e5637fdb76fb"
}

Key: "9f4a92b9-5f69-4725-ba1e-403f08dea695"

위의 예시에서는 3번째 (가운데)가 정답이 됩니다.

703a7ce5-f17f-4e6d-b895-5836ba5ec71c

이 실험에서 재밌는 점은 자연어의 의미론적 특성(Semantics)를 완전히 제거했다는 점입니다. 자연어는 모델이 사전 학습된 데이터에 의존할 수 있기 때문에, Zero-Semantics 데이터에서 오직 토큰 매칭 능력만으로 답을 찾아내야 하기 때문에 훨씬 더 엄격하게 테스트할 수 있습니다. (즉, 의미 이해가 아니라 순수하게 위치 기반 검색 능력만을 평가하는 설정입니다.)

첫 번째 실험인 [다중 문서 질의응답 실험] 에서와 같이, 주어진 프롬프트 내에서 정보를 찾는 것 또한 순서와 길이에 연관이 있을까요?

실험 결과

image

(출처: Lost In the Middle 논문 내)

결과를 요약하자면 다음과 같습니다.

  • Claude 1.3과 Claude 1.3(100K)는 테스트된 모든 컨텍스트 설정에서 거의 완벽한 성능을 보였습니다.
  • 다른 모델들은 위 결과 사진에서 볼 수 있듯이 Accuracy 수치가 감소하는 것을 확인할 수 있습니다.
    • Claude를 제외한 모델에서는 문맥의 위치에 따라 다중 문서 질의응답 실험 결과와 같이 U자 형태의 그래프가 그려지는 것처럼 위치와 컨텍스트 길이에 영향을 받습니다.
    • 특히나 140 Key-Value pairs, 300 Key-Value pairs에서 크게 감소하였습니다.

한 가지 흥미로운 사실은, LongChat 모델은 값을 말하지 않고 코드를 생성했다는 점인데요, 이는 모델이 긴 데이터를 처리하는 상황을 마주했을 때 학습 데이터 속의 특정 패턴(데이터를 처리할 때 코드를 작성하는 예시)에 편향되어 반응했을 가능성도 존재합니다.

왜 이런 현상이 발생할까요?

연구팀은 모델 아키텍처 (Decoder-Only, Encoder-Decoder), 쿼리 인식 문맥화 (Query-Aware Contextualization), Instruction 파인튜닝(fine-tuning)와의 연관성을 확인하기 위해 관련된 실험을 추가적으로 진행했다고 합니다.

모델 아키텍처의 영향 (Effect of Model Architecture)

앞서 실험에 사용된 모델들은 모두 Decoder-Only 모델입니다. Encoder-Decoder 모델과 비교해서 실험을 추가적으로 진행해 봤다고 하는데요,

저는 개인적으로 처음 들어봤지만 Flan-T5-XXL, Flan-UL2 모델로 추가 실험을 해봤다고 합니다.

Decoder Only모델과 Encoder-Decoder 모델을 대략 설명하자면 다음과 같아요.

  • Decoder-Only
    • 데이터를 왼쪽에서 오른쪽으로만 읽습니다.(Causal Attention), 즉 n번째 문서를 읽을 때, n+1 문서에 대해서 알 수 없습니다.
    • GPT, Llama와 같은 모델
  • Encoder-Decoder
    • 입력 전체를 양방향으로 한꺼번에 읽습니다. 전체적인 맥락 속에서 정보의 중요도를 판단하는 능력이 더 뛰어납니다.

실험 결과

image

(출처: Lost In the Middle 논문 내)

결과를 요악하자면 다음과 같습니다.

  • Flan-UL2는 학습 시 사용된 Context Window(2,048 Tokens) 내에서 평가했을 때, 정보의 위치에 변화에 따른 성능 차이가 크게 없었습니다. (최고-최악의 성능 차이가 약 1.9%)
  • 하지만, Context가 길어지는 경우 결국 동일한 U자형 그래프가 그려지는 모습을 확인할 수 있습니다.

쿼리 인식 문맥화(Query-Aware Contextualization)의 영향

위의 실험들에서 입력창을 예시로 보여드린 것을 다시 한번 보고 오시는 것을 추천드립니다. 모두 사용자의 질문을 문서/정보의 뒤쪽에 배치했습니다. 그 결과, GPT와 같은 Decoder-Only 모델은 문서를 읽는 동안 질문이 무엇인지 알 수 없었습니다. 디코더 모델은 앞서 설명드린 것과 같이 Causal Attention으로 다음에 나올 내용에 대해서 알지 못합니다. 반면, Encoder-Decoder 모델은 양방향으로 읽는다는 특성으로 인해 질문을 미리 인지한 상태에서 문서를 훑을 수 있어 더 나은 성능이 나왔습니다.

그렇다면, 질문을 데이터의 앞/뒤에 모두 배치함으로써 쿼리 인식 문맥화를 가능하게 하면 성능에 어떤 차이가 있을까요?

이해를 돕기 위해, 논문에서 언급한 ‘쿼리 인식 문맥화’를 적용한 프롬프트는 아래와 같이 표현할 수 있습니다. (앞/뒤로 질문을 추가)

입력 프롬프트 : 아래 JSON 객체에서 지정된 키에 해당하는 값을 추출하세요.
JSON data:
{
    "2a8d601d-1d69-4e64-9f90-8ad825a74195": "bb3ba2a5-7de8-434b-a86e-a88bb9fa7289",
    "a54e2eed-e625-4570-9f74-3624e77d6684": "d1ff29be-4e2a-4208-a182-0cea716be3d4",
    "9f4a92b9-5f69-4725-ba1e-403f08dea695": "703a7ce5-f17f-4e6d-b895-5836ba5ec71c",
    "52a9c80c-da51-4fc9-bf70-4a4901bc2ac3": "b2f8ea3d-4b1b-49e0-a141-b9823991ebeb",
    "f4eb1c53-af0a-4dc4-a3a5-c2d50851a178": "d733b0d2-6af3-44e1-8592-e5637fdb76fb"
}

위 JSON 객체에서 지정된 키에 해당하는 값을 추출하세요.
Key: "9f4a92b9-5f69-4725-ba1e-403f08dea695"

실험 결과

단순 키-값 검색(입력 컨텍스트로부터의 검색 능력 평가 실험 (How Well Can Language Models Retrieve From Input Contexts?))에 대해서는 엄청난 효과가 발생했다고 합니다. 모든 모델이 거의 완벽에 가까운 성능을 보였고, GPT-3.5-Turbo(16K)는 300개의 데이터 사이에서도 100% 정답을 기록했다고 합니다. (기존 최악의 성능은 45.6%)

하지만, 다음 실험 결과 사진과 같이 다중 문서 질의 응답 실험에서는 효과가 미미했습니다. 맨 앞 정보에 대해서는 성능이 약간 올랐지만, 다른 위치에서는 오히려 성능이 저하되는 모습도 관찰됩니다.

image
(출처: Lost In the Middle 논문 내)

역시나 U자형 그래프가 그려지며 모델이 질문을 미리 안다고 해서, 중간에 위치한 방대한 텍스트의 ‘의미적 손실’을 완전히 막기는 어려워 보이긴 합니다.

지시어 미세 조정(Instruction Fine-Tuning)의 영향

보통 지시 사항(Instruction)이 입력 컨텍스트의 맨 처음에 위치하기 때문에, 모델이 앞부분에 더 많은 가중치를 두도록 학습되진 않았을까? 라는 가능성을 전제했습니다. 이를 실험해 보기 위해 Fine-Tuning 전의 MPT-30B(Base) 모델과 조정 후의 MPT-30B-Instruct를 비교해 봤다고 해요.

실험 결과

image
(출처: Lost In the Middle 논문 내)

실험을 요약하자면 다음과 같습니다.

  • 두 모델 모두 U자형 그래프가 나오는 것을 볼 수 있습니다.
  • 파인튜닝 이후의 MPT-30B-Instruct 모델이 전반적인 성능이 더 높게 나오긴 하지만, 여전히 위치에 따른 (특히나 가운데에 정보가 있을 경우) 성능 저하는 동일하게 발견됩니다.

연구팀은 다음과 같이 스택 오버플로우 사례를 통해 가설을 내세웠습니다.

‘많은 문서들이 [제목/질문 > 본문 > 요약/답변] 의 구조를 띄고 있기 때문에, 모델은 앞과 뒤에 중요한 정보가 있다는 것을 Pre-Training 단계에서 깨우쳤을 가능성이 있다.’

즉, 학습 방식(RLHF 등)의 문제라기보다, 모델이 거대한 인터넷 데이터를 학습하며 스스로 습득한 ‘구조적 특징’에 가까울 수 있을 것 같아요.

모델의 크기와 추가 학습(RLHF)의 영향을 보기 위해 Llama-2(7B, 13B, 70B)로도 추가적인 실험을 진행했다고 하는데요, 여전히 비슷한 결과가 나왔다고 합니다.

재밌는 점은 Llama-2에서는 다음과 같은 추가적인 현상이 관찰되었다고 해요.

  • 7B : Recency Bias 현상 관찰, 맨 뒷부분 정보만 잘 기억하고 앞부분은 놓침
  • 13B & 70B : U자형 그래프가 동일하게 나옴
  • RLHF의 영향 : 13B 모델에서는 위치에 따른 편향이 약간 감소하긴 했지만, 70B에서는 여전히 동일

위의 내용으로 보자면 Llama-2 모델로 실험한 결과로 다음과 같은 추측을 할 수 있을 것 같습니다.

‘모델의 크기가 증가하면서 단순한 최신 효과(recency bias)에서 벗어나 U자형 성능 분포가 보다 뚜렷하게 나타나는 경향을 보입니다.’

컨텍스트가 길수록(많을수록) 항상 좋을까요? (Is More Context Is Always Better?)

위의 모든 실험 과정에서 살펴볼 수 있듯이, 긴 컨텍스트를 사용하는 것은 트레이드오프(Trade-off) 관계임을 보여줍니다. 더 많은 컨텍스트(정보)를 제공할 경우 정답이 포함될 확률은 높아지지만, 모델이 추론해야 할 양이 늘어나면서 오히려 정확도가 떨어질 수 있기 때문이에요.

만약, 16K 토큰을 지원하는 모델을 사용한다고 해서, 16K를 모두 다 채워서 사용하는 것이 과연 더 나은 결과가 나올까요?

연구팀은 NaturalQuestions-Open 데이터를 활용해 문서 수를 늘려가며 추가적인 실험을 진행했다고 합니다.

image
(출처: Lost In the Middle 논문 내)

위 사진과 같이 문서 수를 20개 이상으로 늘려도 GPT-3.5-Turbo는 약 1.5%, Claude-1.3은 약 1%의 성능 향상만 보입니다. 반면에 컨텍스트의 양으로 인해 추론에 소요되는 지연시간(Latency)와 비용(Cost)는 기하급수적으로 증가합니다.

무작정 많은 컨텍스트를 제공하는 것이 오히려 성능을 떨어트린다는 결론이 내려집니다.

Long-Context Language Models

아래의 연구 사례들과 같이 Context의 길이를 늘리면서도 연산 비용을 줄이려는 최적화 연구는 이미 활발하게 진행되어왔다고 합니다.

  • FlashAttention과 같이 입출력(I/O)를 고려한 CUDA 커널을 통해 정확한 어텐션 연산 가속화
  • Recurrence 구조를 도입하거나, 연산량이 적은 방식으로 언텐션을 근사화하거나 저차원 근사를 사용하는 연구의 언텐션 변형
  • O(n^2) 복잡도를 줄이기 위한 노력들

하지만, 긴 컨텍스트를 처리하는 능력과 긴 컨텍스트에서 정확한 정보를 찾아 접근하여 결과를 도출하는 능력은 또 다른 연구 주제임을 이 논문을 통해서 증명했습니다.

언어 모델은 Context를 어떻게 활용하는가? (How Do Language Models Use Context?)

2018년부터 LSTM 언어 모델이 긴 컨텍스트 환경에서 엉성하게(Coarse라고 표현) 사용한다는 것이 밝혀졌다고 합니다.

Transformer 모델의 시대에서도 상황은 비슷합니다. 모델이 컨텍스트 전체를 정교하게 읽는다기보다는, 특정 패턴에 의존하고 있을 수 있다고 합니다. 최근의 효율적인 트랜스포머 기반의 모델들 역시 비슷한 현상이 관찰되고 있기도 합니다.

서열 위치 효과 (The Serial-Position Effect)

심리학에는 서열 위치 효과(Serial-Position Effect)라는 연구 결과가 있습니다.

사람은 목록에 있는 항목들에 대해 처음과 마지막 항목을 제일 잘 기억하는 경향이 있다는 내용인데요, 위의 모든 실험의 결과들도 U자형 그래프를 그리는 것(초두 효과,최신 효과)과 같이 나타나는 것이 굉장히 흥미로운 지점입니다.

  • 초두 효과(Primary) : 처음 입력된 정보가 장기 기억으로 전이될 확률이 높음
  • 최신 효과(Recency) : 가장 마지막 정보가 작업 기억에 남음

모델이 마치 인간처럼 중간은 대충 읽고 앞뒤에만 집중하는 모습이 단순히 텍스트를 처리하는 기계가 아니라, 인간이 만들어낸 방대한 데이터를 학습하며 인간의 사고방식, 심지어는 망각의 패턴까지 그대로 흡수했을 수도 있을 것 같습니다.

정리하며

현대 트랜스포머 기반의 LLM 모델들은 위 논문과 같이 입력 컨텍스트의 길이와 정보의 위치에 따라 처리 성능이 달라지는 현상이 있습니다.

논문에서 읽은 인사이트를 기반으로 우리는 실무에서 AI를 적용함에 있어서 다음과 같은 설계 디자인 아이디어를 얻을 수 있습니다.

  • 입력 컨텍스트의 크기가 크다고 무조건 좋은 모델이 아닐 수도 있다.
  • 처리 비용(연산 비용)과 응답 시간을 고려해서 컨텍스트를 줄이는 것이 오히려 더 효율적인 설계일 수 있다.
  • 한 번에 처리할 수 있는 컨텍스트 윈도우 내에서 정보를 어떻게 배치할 것인지(Re-Ranking 등을 적용)에 대한 배치 전략
  • 어떤 컨텍스트를 유지하고, 어떤 불필요한 컨텍스트를 제거할 것인지
  • 모델의 내부 컨텍스트 메모리 관리를 어떻게 효율적으로 사용할 것인지 (때로는 외부 스토리지 자원을 활용하여 캐싱 등 전략)
  • 단순한 정보 찾기에는 질문을 앞/뒤로 배치해서 성능을 향상시키기

이 논문의 가장 큰 공헌은 컨텍스트 처리 크기와 처리 능력을 구분하여 컨텍스트의 처리 능력이 더욱더 발전해야 하는 과제로 남아있다는 것을 증명했다는 점이라고 생각합니다.

개인적으로 굉장히 흥미롭게 읽었던 부분은 서열 위치 효과(The Serial-Position Effect)인데요, 의도한 것인지 의도하지 않았을지 모르지만, AI 모델들이 사람의 학습/기억 패턴을 모방한 부분이 충격적이었습니다.

빠르게 발전하는 AI 분야에서, 앞으로 5년 뒤, 10년 뒤에는 어떻게 발전되어 있을까 기대가 되는 부분이기도 합니다.

읽어주셔서 감사합니다.

참고 자료