메모리와 모델

LLM 컨텍스트 길이·RoPE·슬라이딩 윈도

최대 토큰 수는 넣을 수 있다는 뜻이지, 끝까지 잘 기억한다는 보장은 아닙니다.

쉽게 말하면

컨텍스트 길이는 AI가 한 번에 참고할 수 있는 질문, 대화 기록과 답변의 전체 분량입니다. 숫자가 클수록 긴 문서를 넣을 수 있지만 읽는 시간과 메모리 사용량도 늘어납니다.

장비를 고를 때

광고된 최대 128K·256K보다 평소 실제로 넣을 문서 길이를 기준으로 장비를 고르세요. 긴 문맥을 드물게 쓴다면 최고 사양을 살 필요가 없습니다.

이 글에서 확인할 내용

  • 컨텍스트는 입력과 이미 생성한 출력 토큰을 함께 셉니다.
  • 길어질수록 프리필 시간과 KV 캐시 부담이 커집니다.
  • RoPE 확장과 슬라이딩 윈도는 서로 다른 해결 방법입니다.

컨텍스트 창에 들어가는 것

시스템 지침, 대화 기록, 검색 문서, 현재 질문과 생성 중인 답변이 모두 컨텍스트 토큰 예산을 사용합니다. 채팅 화면의 글자 수와 토큰 수는 언어와 토크나이저에 따라 다릅니다.

최대 128K 같은 표기는 모델 구조나 설정이 받아들일 수 있는 상한입니다. 런타임 설정, 실제 메모리와 모델이 학습된 길이에 따라 실용 범위는 더 짧을 수 있습니다.

긴 입력의 시간과 메모리

새 긴 문서를 넣으면 먼저 모든 입력 토큰을 프리필해야 하므로 첫 토큰 시간이 늘어납니다. 어텐션 구조에 따라 계산 증가 형태는 다르지만 입력이 길수록 처리할 일이 많아지는 방향은 같습니다.

처리한 토큰의 상태는 KV 캐시에 쌓입니다. 모델 가중치가 겨우 들어가는 장비에서는 컨텍스트를 늘리는 순간 메모리 부족이나 캐시 양자화, 오프로딩이 필요할 수 있습니다.

긴 입력에서 계산한 내용을 서랍에 저장하고 다음 토큰 생성 때 필요한 값을 다시 꺼내 쓰는 KV 캐시 개념 그림
KV 캐시는 앞선 입력에서 계산한 값을 보관해 다시 계산하는 일을 줄입니다. 입력이 길수록 이 보관 공간도 커집니다.

RoPE 확장은 위치 번호의 범위를 늘립니다

RoPE는 모델이 문장 속 앞뒤 위치를 구분하는 방법 중 하나입니다. 설정을 조정하면 학습 때보다 더 긴 위치까지 입력할 수 있지만, 모델이 먼 앞부분의 내용을 정확히 이해하는 능력까지 자동으로 좋아지는 것은 아닙니다.

제작자가 권장하지 않은 값을 임의로 쓰면 짧은 대화 품질까지 나빠질 수 있습니다. 모델 설명에 적힌 권장 길이와 실행 프로그램 설정을 우선하세요.

오래된 내용을 일부 버리는 방법도 있습니다

슬라이딩 윈도 방식은 각 토큰이 가까운 과거만 자세히 보게 해 계산량과 메모리 사용을 줄입니다. 일부 층만 전체 내용을 보고 나머지는 가까운 내용만 보는 모델도 있습니다.

실행 프로그램에서 캐시 길이에 제한을 걸면 오래된 대화의 계산 메모를 지울 수 있습니다. 메모리는 아끼지만 초반의 세부 내용을 나중에 다시 묻는 경우 답이 부정확해질 수 있습니다.

길이보다 검색과 구성

문서를 전부 밀어 넣는 것보다 필요한 구간을 검색해 넣고 공통 접두사는 캐시하는 편이 빠르고 정확할 수 있습니다. 긴 문맥 벤치마크에서는 원하는 정보가 어느 위치에 있는지와 답변 정확도를 함께 봐야 합니다.

장비 선택 시 광고된 최대 컨텍스트가 아니라 평소 입력 길이와 필요한 출력 여유를 기준으로 메모리와 TTFT를 계산하세요. 드물게 쓰는 최악 조건은 처리 시간을 감수할지 더 큰 장비를 살지 별도로 결정하면 됩니다.