Ollama 컨텍스트 길이 설정 방법: 4K·32K·256K가 달라지는 이유와 확인 명령어
Ollama에서 128K 컨텍스트를 지원하는 모델을 받았는데 ollama ps에는 4096만 표시될 수 있다. 오류라기보다 모델이 지원하는 최대 길이와 Ollama가 현재 할당한 길이가 다르기 때문이다. 현재 Ollama 공식 문서 기준 기본 할당값은 VRAM이 24GiB 미만이면 4K, 24~48GiB이면 32K, 48GiB 이상이면 256K다. 긴 문서나 코딩 에이전트를 쓴다면 설정을 올린 뒤 ollama ps의 CONTEXT와 PROCESSOR를 함께 확인해야 한다.
모델의 128K와 ollama ps의 4K는 서로 다른 숫자다
모델 페이지에 적힌 128K는 대개 그 모델이 처리할 수 있는 최대 컨텍스트 범위를 뜻한다. 반면 Ollama의 CONTEXT는 지금 실행 중인 모델 프로세스에 실제로 배정한 토큰 수다. 모델이 128K를 지원한다고 해서 매번 128K 메모리를 예약하는 것은 아니다.
컨텍스트에는 현재 질문만 들어가지 않는다. 시스템 프롬프트, 이전 대화, 첨부 문서에서 추출한 텍스트, 도구 호출 결과, 모델이 이미 생성한 답변도 같은 창을 차지한다. 따라서 4K 설정에서 긴 PDF를 넣으면 문서 뒷부분이 잘리거나, 대화가 길어질수록 앞부분을 잊는 것처럼 보일 수 있다.
반대 방향의 오해도 있다. 설정에 64K를 입력한다고 32K까지만 지원하는 모델이 64K 모델로 바뀌지는 않는다. Ollama의 할당값과 모델 자체의 지원 한도 중 더 낮은 쪽이 실제 사용 범위를 제한한다. 모델 카드와 Ollama 실행 상태를 둘 다 봐야 하는 이유다.
Ollama 기본 컨텍스트 길이가 VRAM에 따라 달라지는 이유
Ollama 공식 문서는 현재 기본값을 다음과 같이 안내한다.
- VRAM 24GiB 미만: 4K
- VRAM 24~48GiB: 32K
- VRAM 48GiB 이상: 256K
컨텍스트를 늘리면 모델 가중치 파일이 커지는 것은 아니지만, 실행 중 필요한 메모리는 증가한다. 특히 대화가 길어져 컨텍스트가 채워질수록 여유 메모리가 줄 수 있다. 메모리가 부족하면 모델 일부가 CPU로 넘어가 속도가 크게 떨어지거나, 모델 로딩 자체가 실패할 수 있다.
그래서 작은 GPU에서 128K 지원 모델을 실행해도 Ollama가 처음부터 128K를 배정하지 않는 것은 합리적인 기본 동작이다. 짧은 채팅에 128K를 예약하는 것보다 4K로 빠르게 시작하는 편이 낫기 때문이다. 긴 문서 분석처럼 분명한 이유가 있을 때 올리면 된다.
앱에서 컨텍스트 길이 바꾸기
Ollama 앱을 사용하는 경우 설정 화면의 context length 슬라이더에서 값을 바꿀 수 있다. 긴 문서 한두 개를 요약하려는 정도라면 무조건 최대치로 올리기보다 16K 또는 32K부터 시작해 보는 편이 안전하다. 코딩 도구, 웹 검색, 에이전트처럼 프롬프트와 도구 결과가 계속 누적되는 작업은 공식 문서에서 최소 64K를 권장한다.
값을 바꾼 뒤에는 기존에 떠 있던 모델을 종료하고 다시 실행해야 새 할당값을 확실히 확인할 수 있다. 설정 화면에 입력한 숫자만 믿지 말고 다음 절의 ollama ps 결과를 확인한다.
CLI에서는 OLLAMA_CONTEXT_LENGTH로 설정한다
터미널에서 Ollama 서버를 직접 실행한다면 환경 변수로 컨텍스트 길이를 지정할 수 있다. 예를 들어 64K로 실행하려면 다음 명령을 사용한다.
OLLAMA_CONTEXT_LENGTH=64000 ollama serve
이미 Ollama 앱이나 백그라운드 서비스가 11434 포트를 사용 중이면 새 ollama serve가 포트 충돌로 시작되지 않을 수 있다. 이 경우 실행 중인 Ollama를 먼저 종료한 뒤 위 명령으로 서버를 시작하거나, 앱 설정의 슬라이더를 사용하는 편이 간단하다.
설정 후 다른 터미널에서 모델을 실행한다.
ollama run gemma4
모델 이름은 설치한 모델로 바꾸면 된다. 컨텍스트 변경은 모델 다운로드 명령이 아니다. 같은 모델 파일을 두고 실행 시 할당량을 조정하는 작업이다.
실제 적용 여부는 ollama ps에서 확인한다
모델에 질문을 한 번 보낸 뒤 다음 명령을 실행한다.
ollama ps
공식 문서의 예시는 다음과 같은 열을 보여 준다.
NAME ID SIZE PROCESSOR CONTEXT UNTIL
gemma4:latest c6eb396dbd59 9.6 GB 100% GPU 131072 2 minutes from now
여기서 두 열을 같이 봐야 한다.
CONTEXT: 현재 모델에 할당된 컨텍스트 길이PROCESSOR: 모델이 GPU와 CPU 중 어디에서 처리되는지 보여 주는 비율
CONTEXT가 원하는 값으로 바뀌었더라도 PROCESSOR가 100% GPU가 아니고 CPU 비중이 생겼다면 속도 저하를 확인해야 한다. 컨텍스트를 크게 잡아 모델 전체가 GPU 메모리에 남지 못한 상황일 수 있다. 이때는 무조건 모델을 바꾸기 전에 컨텍스트를 한 단계 낮춰 다시 비교한다.
긴 문서 작업에서 값을 정하는 순서
예를 들어 30쪽짜리 PDF를 로컬에서 요약한다고 하자. 먼저 문서에서 추출된 텍스트의 토큰 수를 확인할 수 있다면 가장 좋다. 확인하기 어렵다면 16K 또는 32K로 시작하고, 문서 뒤쪽 질문에 답하지 못하거나 앞부분 맥락이 사라지는지 본다. 부족할 때 64K로 올린다.
코딩 에이전트는 단일 질문보다 컨텍스트를 빨리 소비한다. 저장소 파일, 명령 출력, 오류 로그, 수정 내역이 한 대화에 누적되기 때문이다. 이 용도라면 공식 권장처럼 64K 이상을 검토하되, ollama ps에서 GPU 오프로딩 상태와 응답 속도를 반드시 함께 본다.
반대로 짧은 번역, 한 문단 요약, 간단한 질의응답만 한다면 4K~8K로도 충분할 수 있다. 최대 컨텍스트를 지원한다는 이유만으로 항상 최대치로 실행하면 메모리만 더 쓰고 체감 이점은 없을 수 있다.
설정했는데도 4K로 보일 때 확인할 것
첫째, 환경 변수를 지정한 터미널과 실제 Ollama 서버 프로세스가 같은지 확인한다. 앱이 이미 서버를 실행 중인데 다른 터미널에서 환경 변수만 입력하면 기존 서버 설정은 바뀌지 않는다.
둘째, 설정 변경 전에 올라간 모델이 계속 남아 있을 수 있다. 모델을 종료한 뒤 다시 실행하고 ollama ps를 확인한다.
셋째, 모델 자체의 최대 컨텍스트를 확인한다. 할당값만 크게 잡아도 모델 지원 한도를 넘어서 안정적인 결과를 보장할 수는 없다.
넷째, 숫자만 보지 말고 PROCESSOR도 확인한다. 64K 적용에는 성공했지만 CPU 오프로딩 때문에 생성 속도가 지나치게 느려졌다면 32K가 실제 작업에는 더 나은 설정일 수 있다.
어떤 값을 선택하면 되는가
선택 기준은 모델 이름이 아니라 입력의 크기와 GPU 메모리다. 짧은 채팅은 기본값에서 시작하고, 여러 페이지 문서는 16K~32K, 저장소 단위 코딩이나 도구 결과가 누적되는 에이전트 작업은 64K 이상을 검토한다. 다만 이는 고정 사양표가 아니다. 모델 크기와 양자화, GPU 메모리가 함께 영향을 주므로 마지막 판단은 실제 실행 상태로 해야 한다.
가장 빠른 확인 절차는 세 단계다. 원하는 값으로 서버를 시작하고, 모델에 요청을 한 번 보내고, ollama ps에서 CONTEXT와 PROCESSOR를 읽는다. 컨텍스트가 충분하면서 모델이 GPU에 남아 있는 가장 작은 값을 고르면 된다.
공식 문서: Ollama Context length, Ollama Hardware support, Ollama API introduction