컨텍스트 윈도우 (Context Window)

컴퓨터과학·AI
한 줄 정의: 언어모델이 답을 생성할 때 한 번에 참고할 수 있는 입력 텍스트의 최대 길이입니다.

쉽게 풀면

사람에게 "책 한 권을 다 읽고 요약해줘"라고 하면 앞부분 내용을 기억하며 뒤까지 읽어야 하듯이, 언어모델도 대화나 문서를 이해하려면 앞서 나온 단어들을 계속 붙들고 있어야 합니다. 컨텍스트 윈도우는 이 모델이 "한 번에 눈에 담아둘 수 있는 책상 크기"라고 생각하면 됩니다. 책상이 작으면(윈도우가 짧으면) 앞쪽 페이지는 책상 밖으로 밀려나 잊혀지고, 책상이 크면(윈도우가 길면) 훨씬 많은 내용을 동시에 펼쳐놓고 참고할 수 있습니다. 이 길이는 보통 토큰화 개수로 표시되며, 대화가 길어지거나 문서가 커지면 이 한계를 넘지 않도록 관리해야 합니다.

왜 중요한가

컨텍스트 윈도우의 길이는 언어모델이 어떤 작업을 감당할 수 있는지를 사실상 결정짓기 때문에, 관련 연구에서 핵심 설계 변수로 다뤄집니다. 긴 문서 요약, 다중 문서 자연어처리, 여러 차례 이어지는 대화형 대규모 언어 모델 작업 등은 모두 한 번에 참고 가능한 텍스트 양에 직접적인 영향을 받습니다. 그래서 컨텍스트 윈도우를 늘리는 구조적 개선(효율적인 어텐션 계산, 위치 인코딩 확장 등)과, 늘어난 윈도우를 실제로 잘 활용하는지 검증하는 연구가 함께 활발히 이루어지고 있습니다. 이 개념을 이해하면 논문이 제시하는 모델의 활용 범위와 한계를 가늠하는 데 도움이 됩니다.

논문에서는 이렇게 쓰입니다

"본 실험에 사용한 모델은 최대 32,000 토큰의 컨텍스트 윈도우를 지원하며, 이는 긴 문서 전체를 한 번에 입력하기에 충분한 길이이다."

이 문장은 "이 모델은 한 번에 최대 32,000개의 토큰(대략 책 한 챕터 분량)까지 기억하며 처리할 수 있다"는 뜻입니다.

"코드 저장소 전체를 분석하는 과제에서는 함수 간 참조 관계를 추적해야 하므로, 컨텍스트 윈도우 확장이 성능 향상에 직접적으로 기여하였다."

이 문장은 "여러 파일에 흩어진 코드를 함께 이해해야 하는 작업에서는, 모델이 한 번에 참고할 수 있는 범위를 넓혔더니 실제로 결과가 더 좋아졌다"는 뜻입니다.

"장기간 이어지는 대화형 상담 시나리오에서 컨텍스트 윈도우를 초과한 이전 발화는 요약 후 재삽입하는 방식으로 처리하였다."

이 문장은 "대화가 너무 길어져 윈도우를 넘어서는 부분은 통째로 버리지 않고, 짧게 요약한 뒤 다시 넣어주는 방식으로 이어갔다"는 뜻입니다.

조금 더 깊게 보면

컨텍스트 윈도우를 늘리는 연구는 대체로 어텐션 메커니즘의 계산·메모리 비용을 줄이는 방향(예: 희소 어텐션, 근사 계산 기법)과, 학습 시 보지 못한 길이에도 위치 정보를 일반화하는 방향(위치 인코딩 관련 기법)으로 나뉘어 진행됩니다. 다만 윈도우가 얼마나 긴지와, 그 안의 정보를 실제로 얼마나 잘 활용하는지는 별개의 문제로 취급되며, 이를 확인하기 위해 긴 입력의 여러 위치에 정답 정보를 배치해두고 모델이 이를 얼마나 잘 찾아내는지 평가하는 방식의 벤치마크가 흔히 쓰입니다. 논문을 읽을 때는 "최대 지원 길이"와 "실효적으로 활용 가능한 길이"를 구분해서 보는 것이 중요합니다.

주의할 점

컨텍스트 윈도우가 길다고 해서 그 안의 모든 내용을 똑같이 잘 활용하는 것은 아닙니다. 실제로는 윈도우 중간에 위치한 정보를 놓치는 경향이 보고되기도 하며, 이는 단순히 트랜스포머 구조의 어텐션 메커니즘 계산량이 늘어나는 문제와는 별개의 한계입니다.

관련 용어