AI 탐구노트

Infinite Retrieval: 무한 길이 텍스트를 처리하는 새로운 LLM 방법 본문

AI 기술

Infinite Retrieval: 무한 길이 텍스트를 처리하는 새로운 LLM 방법

42morrow 2025. 4. 29. 14:57

 

최근 인공지능 기술, 특히 LLM의 발전은 자연어 처리(NLP)와 다양한 AI 분야에 혁신적인 변화를 가져오고 있습니다. 이 모델들은 문서 요약, 코드 생성, 질의응답 시스템 등 광범위한 응용에 활용되고 있습니다. 특히 대규모 데이터를 한 번에 이해하고 처리할 수 있는 능력은 중요한 성능 지표로 자리 잡았습니다. 그러나 LLM이 한 번에 다룰 수 있는 입력 길이(컨텍스트 윈도우)는 여전히 제한적이며, 이를 극복하려는 시도가 활발히 진행되고 있습니다.

최근 업계는 모델의 컨텍스트 윈도우 크기를 확장하는 데 많은 노력을 기울이고 있습니다. GPT-4, Claude-3, Gemini-Pro 등은 최대 1백만 토큰까지 확장할 수 있다고 주장하지만, 실제 성능은 기대에 못 미치는 경우가 많습니다. 또한 윈도우 크기를 단순히 늘리는 접근은 연산 비용을 급격히 증가시키며, 긴 문서를 다루는 경우에도 모든 내용이 필요하지 않은 경우가 많아 효율성이 떨어집니다. 이에 따라, 별도의 훈련 없이 LLM의 기존 능력을 활용해 무한 길이 텍스트를 다루려는 연구가 등장했고 이러한 배경에서 제안된 것이 InfiniRetri 라는 방법입니다.


 

 

Infinite Retrieval

1) 기존 방식의 문제점

  • 컨텍스트 윈도우 크기를 키우는 방식 : 윈도우 크기를 키우는 것은 연산량이 급증해 비용이 많이 소요됨
  • 외부 검색 시스템(RAG)과 LLM을 결합하는 방식 : RAG는 외부 임베딩 모델에 의존하기 때문에 연결성과 정확성이 떨어지는 문제 발생.
  • 입력 길이를 나누어 처리하는 Sliding Window 방식 : 문맥을 끊어버려 긴 텍스트의 일관된 이해에 한계

 

2) 접근 방식

 

기존의 비용 문제와 성능 문제를 해결하기 위해 InfiniRetri라는 새로운 방법이 제안되었습니다. InfiniRetri는 LLM이 가진 자체 어텐션(attention) 정보를 활용해, 추가 훈련 없이 무제한 길이의 텍스트에서도 정확하게 필요한 정보를 찾아낼 수 있도록 설계되었습니다. 즉, 별도의 외부 검색 모델 없이, 모델 내부의 어텐션 메커니즘만으로 긴 문맥을 탐색하고 이해하는 방법입니다.

 

핵심은 어텐션 분포를 분석해, 질문에 대해 모델이 자연스럽게 중요하다고 판단하는 부분을 찾아내는 것입니다. 이를 반복적으로 적용해, 긴 문서를 ‘읽고 기억하고’ 다시 이어서 읽는 과정을 인공지능이 흉내내도록 설계했습니다.

 

그림 : InfiniRetri 전체 동작 흐름도

 

 

위의 그림은 InfiniRetri 방법이 어떻게 작동하는지를 5단계로 나눠서 설명하고 있습니다. 

  1. 긴 문서를 문장 단위로 작게 나누고 (Chunk)
  2. 필요한 문장만 골라서 기억하고 (Merge)
  3. 모델이 추론하고 (Inference)
  4. 중요한 정보를 찾아 저장하고 (Retrieval)
  5. 다음 문서를 읽을 때도 기존 정보를 활용하는 (Cache) 방식입니다. 

마치 책을 한 장씩 읽고, 중요한 문장은 메모해 두고, 다음 장을 읽을 때 메모를 참고하는 것으로 사람이 평소 책읽기를 할 때와 같은 방식이라고 볼 수 있겠습니다. 

 

 

3) 세부 적용 기술

  • Attention Allocation Pattern
    모델이 질문에 답할 때 내부 어텐션 분포를 분석해, 어디에 집중하는지 패턴을 찾아냈습니다. 마지막 레이어(Layer 27 등)에서는 중요한 답변 부분에 강한 집중이 나타난다는 사실을 확인했습니다.
  • Segment and Slide Window
    긴 문서를 작은 조각(chunk)으로 나눈 후, 순차적으로 모델에 입력합니다. 마치 사람이 책을 한 페이지씩 넘기면서 읽고 기억하는 방식과 유사합니다.
  • Retrieval In Attention
    어텐션 점수를 기반으로 중요한 토큰을 선택하고, 이 토큰들이 포함된 문장을 기억(cache)합니다. 이 과정에서 Convolution 연산을 활용해 주변 단어들의 중요도까지 함께 계산합니다.
  • Cache Sentence Token
    일반적인 캐시 방법(과거 key-value 저장) 대신, 문장 단위로 중요한 부분만 기억합니다. 이로써 모델이 더 긴 문맥에서도 필요한 정보를 효율적으로 재구성할 수 있게 합니다.

 

  • 어텐션(Attention) : 입력된 문장에서 특정 부분에 더 집중해 해석하는 기법입니다.
  • Convolution(컨볼루션) : 주변 단어들의 중요도를 합산하여 부드러운 패턴을 찾아내는 계산 방법입니다.

 

그림 : 무제한 길이 입력 처리 성능 시각화

 

위의 그림은 기존 모델들과 InfiniRetri를 적용했을 때 NIH 테스트에서 얼마나 길게 문서를 읽을 수 있는지를 보여줍니다. 기존 모델은 40,000 토큰 정도까지만 읽을 수 있는데 반해 InfiniRetri가 적용될 경우, 100만 토큰까지도 읽을 수 있게 되어 무한에 가까운 확장성을 얻을 수 있음을 직관적으로 보여줍니다. 

 

그림 : LongBenchV2(No CoT)에서의 성능 비교

 

 

 

4) 제약사항

InfiniRetri 방법은 문서 요약(summarization)처럼 전체 문맥을 종합적으로 고려해야 하는 작업에서는 성능이 상대적으로 떨어질 수 있습니다. 이는 긴 텍스트의 일부만 보고 판단하기 때문입니다. 따라서 종합적인 문서 요약을 위해서는 추가적인 최적화가 필요합니다.


 

InfiniRetri는 대규모 언어모델이 별도의 추가 훈련 없이도 무한 길이 텍스트를 효율적으로 처리할 수 있게 해주는 혁신적인 방법입니다. 이 방법은 단순히 입력 크기를 늘리는 대신, 모델 내부의 attention 능력을 활용하여 필요한 정보를 반복적으로 찾아내고 저장함으로써 문제를 해결합니다. 실험 결과, 기존 방법보다 높은 정확도와 빠른 속도를 보였으며, 특히 '바늘찾기(Needle-In-a-Haystack)' 테스트에서 뛰어난 성능을 입증했습니다.

 

향후에는 문서 요약과 같이 문맥을 폭넓게 고려해야 하는 작업에서도 InfiniRetri가 개선된다면, 긴 텍스트 처리 기술 전반에 큰 혁신을 가져올 수 있을 것입니다.


참고자료

  • 논문) Infinite Retrieval: Attention Enhanced LLMs in Long-Context Processing (링크)

Q&A

 

Q. InfiniRetri는 별도의 추가 훈련이 필요한가요?

아니요. InfiniRetri는 기존 Transformer 기반 LLM에 바로 적용할 수 있으며, 추가 훈련이 필요 없습니다.

 

Q. 이 방법은 왜 기존 RAG 시스템보다 뛰어난가요?

RAG는 외부 임베딩 모델에 의존해 검색하는 반면, InfiniRetri는 LLM 스스로 어텐션 분포를 통해 필요한 정보를 찾아내기 때문에 일관성과 정확성이 높습니다.

 

Q. 무한 길이 입력을 처리하는데 연산 비용은 어떻게 되나요?

InfiniRetri는 입력을 나누어 처리하고 중요한 부분만 기억하기 때문에 전체 텍스트를 한 번에 처리하는 방법보다 연산량과 메모리 사용량이 훨씬 적습니다.