컨텍스트 창이란 무엇인가요?

컨텍스트 창은 대규모 언어 모델이 단 한 번의 상호작용에서 처리할 수 있는 최대 텍스트 양을 토큰 단위로 나타낸 것입니다. 작동 방식과 그 중요성을 알아보세요.

컨텍스트 창은 토큰 단위로 측정되는 텍스트의 최대량으로, 대규모 언어 모델(LLM)이 단일 상호작용에서 처리할 수 있는 양을 의미합니다. 이는 사용자의 프롬프트, 첨부된 문서, 이전 대화 기록, 그리고 모델이 생성한 응답을 모두 포함하여 모델이 한 번에 참조할 수 있는 정보의 전체 범위를 정의합니다. 대화나 문서가 컨텍스트 창을 초과하면, 앞부분의 내용은 보통 잘리거나 누락되어, 모델이 잠시 전에 받은 세부 정보를 "잊어버리게" 될 수 있습니다.

컨텍스트 창의 작동 방식

텍스트가 LLM에 도달하기 전에 먼저 토큰이라는 작은 덩어리(대략 단어 또는 단어 조각)로 분할되며, 이것이 모델이 실제로 읽는 단위입니다. 컨텍스트 창은 모델이 작업 메모리에 한 번에 보관할 수 있는 고정된 토큰 예산입니다. 모델이 128,000 토큰의 컨텍스트 창을 제공한다고 광고한다면, 시스템 지시문, 검색된 문서, 전체 채팅 기록, 그리고 생성 중인 응답까지 모두 그 128,000 토큰 안에 들어맞아야 합니다.

내부적으로 모델은 어텐션이라는 메커니즘을 사용하여 그 창 안의 모든 토큰 간 관계의 가중치를 계산합니다. 모든 토큰이 서로 다른 모든 토큰에 어텐션을 적용하기 때문에, 계산 및 메모리 비용은 창 크기의 제곱에 비례하여 증가하며, 이것이 컨텍스트 창 확장이 활발한 연구 분야인 이유입니다. 실제 효과는 빠르게 드러납니다. 특정 사실이 긴 문서 안에 숨겨져 있는 200,000 토큰 "건초 더미 속 바늘" 테스트는 나중에 프롬프트에서 그 사실에 대해 물었을 때 모델이 여전히 그것을 기억할 수 있는지를 보여줍니다.

왜 중요한가

컨텍스트 창은 주어진 턴에서 LLM이 수행할 수 있는 작업을 제한하는 가장 중요한 제약 조건입니다. 작은 창은 사용자가 긴 문서를 여러 부분으로 나누고, 앞부분을 요약하거나, 가장 관련성 높은 단락만 입력하기 위해 검색 증강 생성(RAG)에 의존하도록 강제합니다. 더 큰 창은 모델이 전체 코드베이스, 긴 법적 계약서, 전체 대화록, 혹은 수 시간의 대화를 이전 세부 정보를 놓치지 않고 한꺼번에 읽어들일 수 있게 해줍니다.

개발자에게 창 크기는 아키텍처 결정에 영향을 미칩니다. 검색 파이프라인을 어떻게 구축할지, 채팅 메모리를 어떻게 관리할지, 한도를 넘지 않도록 프롬프트를 어떻게 설계할지가 그것입니다. 최종 사용자에게 이것은 챗봇에 한 챕터를 붙여 넣을 것인지, 책 전체를 붙여 넣을 것인지 — 그리고 모델이 50페이지에 도달했을 때도 여전히 3페이지에 대한 질문에 답할 수 있는지의 차이입니다.

주요 유형과 현재 크기

  • 짧은 컨텍스트(2K–8K 토큰): 초기 세대의 소비자용 LLM으로, 긴 이메일이나 여러 페이지의 산문 정도의 길이입니다.
  • 표준 컨텍스트(32K–128K 토큰): 최신 최첨단 모델에서 흔히 사용되며, 한 권의 소설 전체, 중간 규모 코드베이스, 혹은 긴 회의록을 담기에 충분합니다.
  • 긴 컨텍스트(200K–1M+ 토큰): 한 번에 책 전체, 여러 파일로 구성된 저장소, 혹은 여러 시간 분량의 대화를 읽어들일 수 있는 새로운 "긴 컨텍스트" 모델입니다.
  • 실질적 컨텍스트 vs. 광고된 컨텍스트: 광고된 창은 최대 입력 크기인 반면, 실질적 창은 모델이 안정적으로 정보를 검색하고 추론할 수 있는 범위를 나타냅니다. 독립 벤치마크에서는 실질적 창이 광고된 창보다 작게 나오는 경우가 많습니다.

컨텍스트 창은 2023년 이후로 극적으로 확장되었지만, 크기가 항상 좋은 것은 아닙니다. 창이 길어지면 메모리가 더 많이 들고 속도가 느려지며, 모델의 집중력이 분산될 수 있습니다. 대부분의 작업에서는 사양서의 가장 큰 숫자를 쫓는 것보다 입력을 여유 있게 담을 수 있는 컨텍스트 창의 모델을 선택하는 것이 더 유용합니다.

이런 글도 좋아하실 거예요

관련 포스트