칼럼

칼럼 › 「128K 지원」은 그 길이를 쓸 수 있다는 뜻이 아니다

「128K 지원」은 그 길이를 쓸 수 있다는 뜻이 아니다

2026.09.07 · 럭스노트 · 약 10분

매장 카운터에 자주 올라오는 질문이 있다. 이 모델은 128K 컨텍스트를 지원한다고 하는데, 내 그래픽카드에서 그대로 쓸 수 있느냐는 물음이다. 모델 소개 페이지에 적힌 숫자를 믿고 카드를 고르는 손님이 많다. 하지만 적힌 길이는 모델이 이해할 수 있는 한계이지, 내 카드에서 실제로 쓸 수 있는 길이가 아니다. 이 둘을 가르는 것이 KV 캐시다.

155종의 모델이 이 컨텍스트 길이를 표기한다. 하지만 이 숫자는 하드웨어가 아니라 소프트웨어의 처리 범위를 가리킨다. 모델이 한 번에 기억할 수 있는 토큰 수를 뜻한다. 반면 그래픽카드의 VRAM은 이 기억을 물리적으로 저장하는 공간이다. 컨텍스트가 길어질수록 KV 캐시가 차지하는 용량은 기하급수적으로 늘어난다. 128K라는 숫자는 모델이 128K 토큰까지 문맥을 유지할 수 있음을 보장할 뿐, 그 데이터를 담을 메모리가 내 카드에 있는지 말해주지 않는다.

여기서 혼동이 생긴다. 모델의 능력과 하드웨어의 한계를 같은 축으로 본 것이다. 「128K까지」라는 표기는 모델 구조가 감당하는 한계를 말한 것이다. 내 시스템이 이를 소화하려면 VRAM 용량이 충분해야 한다. 용량이 부족하면 모델은 중간에 컨텍스트를 버리거나, 아예 로딩이 실패한다. 이는 모델의 결함이 아니라, 물리적 공간의 부족이다.

그래서 카드를 고를 때 모델의 컨텍스트 길이를 그대로 VRAM 요구사항으로 환산하면 안 된다. 128K라고 적힌 모델이라도, 실제 VRAM 사용량은 모델 파라미터와 배치 크기, 그리고 컨텍스트 길이에 따라 달라진다. 같은 128K라도 모델마다 KV 캐시 효율이 다르다. 이 차이를 무시하면, 소개 페이지의 숫자는 오해의 원천이 된다.

결국 128K 지원은 그 길이를 쓸 수 있다는 뜻이 아니다. 그것은 모델이 그 길이를 이해할 수 있다는 뜻이다. 내 카드에서 실제로 쓸 수 있는 길이는 VRAM 용량과 KV 캐시 크기를 계산해 봐야 안다. 이 둘을 구별하지 못하면, 고가의 카드를 샀는데도 원하는 컨텍스트 길이를 못 쓰는 상황이 생긴다.

적힌 길이를 끝까지 쓰면 무엇이 벌어지나

Llama 4 Scout의 컨텍스트 길이는 10240K다. 이 길이를 끝까지 쓰면 KV 캐시만 1920GB가 필요하다. 토큰 하나당 192KB를 차지한다. MiMo-V2.5-Pro도 다르지 않다. 1024K를 다 쓰면 420GB가 든다.

이것은 예외가 아니다. 조사한 모델 155종 중 95종이 8GB를 넘는다. 24GB를 넘는 것도 59종이다. 반대로 8GB 안에 들어가는 모델은 60종뿐이다.

8GB 카드와 24GB 카드는 손님이 실제로 고르는 두 칸이다. 8GB 카드를 사면 155종 중 60종만 쓸 수 있다. 24GB 카드를 사면 96종이 더 늘어난다. 하지만 24GB 카드도 59종은 못 쓴다.

적힌 길이를 끝까지 쓰면 VRAM이 부족하다. 모델이 그 길이를 이해한다고 해서 내 카드에서 그 길이를 쓸 수 있는 것은 아니다. VRAM 용량과 KV 캐시 크기를 계산해야 안다.

모델 155종의 분포 — 8GB 를 넘는 것이 95종
모델 155종의 분포 — 8GB 를 넘는 것이 95종

KV 캐시는 글이 길어질수록 자란다

모델이 긴 글을 읽어 나갈 때, 앞에서 읽은 내용을 매번 처음부터 다시 계산하지는 않는다. 한 번 읽은 부분은 계산해 둔 상태로 따로 보관해 두고, 다음 글자를 낼 때 그 보관분을 꺼내 쓴다. 이 보관분이 KV 캐시다. 없으면 글자 하나를 낼 때마다 앞의 전부를 다시 계산해야 하고, 그러면 대화가 길어질수록 느려져서 쓸 수가 없다.

문제는 이 보관분이 모델 자체와 별개의 자리를 차지한다는 것이다. 카드에 올라가는 것은 모델 하나가 아니라 둘이다. 모델 가중치는 크기가 정해져 있어서 한 번 올라가면 그대로지만, KV 캐시는 읽은 글이 길어질수록 계속 자란다. 그래서 모델이 카드에 들어갔다고 끝난 것이 아니다. 짧은 질문 몇 개는 잘 돌던 조합이 긴 문서를 넣는 순간 막히는 이유가 여기 있다.

자라는 속도는 모델마다 다르다. 같은 한 글자를 기억하는 데 드는 자리가 구조에 따라 크게 벌어지기 때문이다. 층이 많을수록, 기억을 나눠 담는 갈래가 많을수록, 갈래 하나가 두꺼울수록 무거워진다. 최근 모델들이 이 부분을 줄이는 쪽으로 설계를 바꿔 온 것도 그래서다. 결국 「몇 K까지 된다」는 표기는 모델이 이해할 수 있는 최대 길이를 말할 뿐, 그 길이를 내 카드에 담을 수 있느냐는 다른 질문이다.

같은 길이라도 모델마다 무게가 다르다

8기가바이트 그래픽카드에 올려놓고 보면, 모델마다 차이는 165배까지 벌어진다. 가장 가벼운 쪽은 Nemotron-3-Nano-30B-A3B 로, 토큰 하나가 6킬로바이트를 쓴다. Nemotron 3 Super 120B-A12B 와 Nemotron-3-Puzzle-75B-A9B 도 8킬로바이트다.

가장 무거운 쪽은 dots.llm1 로 992킬로바이트다. Gemma 4 31B 는 960킬로바이트, OLMo 3 7B 는 512킬로바이트를 쓴다. 같은 길이를 담는 데 드는 값이 모델 사이에서 165배 갈린다.

그래서 「몇 K 지원」만 보고 고르면 안 된다. 그 모델이 토큰당 얼마나 먹는지 봐야 한다.

8기가바이트 카드에서 적힌 길이를 못 채우는 모델이 95종 있다. 그중 차이가 가장 큰 셋을 보면, Llama 4 Scout 는 적힌 길이가 10240K 인데 실제로 쓸 수 있는 길이는 42K 다. MiniMax-Text-01 는 적힌 4000K 중 204K 만 쓸 수 있다. MiMo-V2.5-Pro 는 적힌 1024K 중 19K 만 쓸 수 있다.

적힌 숫자가 아니라, 실제로 쓸 수 있는 길이를 봐야 한다.

적힌 길이와 실제로 담기는 길이 — 차이가 가장 큰 두 모델
적힌 길이와 실제로 담기는 길이 — 차이가 가장 큰 두 모델

이 셈이 정확하지 않은 자리

이 셈은 K·V 두 벌, 층, 헤드, 차원, 토큰, 그리고 2바이트를 곱해서 낸 값이다. 여기서 2바이트라는 숫자는 f16 형식으로 데이터를 담는다고 보고 잡은 것이다. 실제로는 더 작은 정밀도로 데이터를 압축하는 방식도 있다. 그 경우 같은 공간에 더 많은 토큰을 넣을 수 있으므로, 여기 적힌 숫자보다 실제 쓸 수 있는 길이는 더 길어진다. 반대로, 모델 가중치 자체는 이 계산에 포함되지 않았다. 하지만 실제 사용 시에는 모델이 그래픽카드에 올라가야 하므로, 가중치가 차지하는 공간을 빼고 남은 자리에서만 KV 캐시를 채울 수 있다. 따라서 이 셈은 순수한 캐시 용량이 아니라, 모델이 차지한 공간을 뺀 나머지 공간에 대한 추정치에 가깝다.

엔진마다 메모리를 관리하는 방식이 다르다. 어떤 엔진은 캐시를 미리 확보해 두고, 어떤 엔진은 필요할 때마다 동적으로 할당한다. 이 차이는 실제 사용 가능한 길이에 영향을 미친다. 같은 모델, 같은 하드웨어 환경이라도 엔진에 따라 이 셈과 실제 값이 어긋날 수 있다. 그래서 이 글의 숫자는 정확한 예측이 아니라, 자릿수를 보는 잣대다.

이 셈을 믿고 그대로 적용하면 안 된다. f16이라는 전제, 가중치 제외라는 조건, 엔진별 관리 방식의 차이. 이 셋을 짚어야 이 숫자의 위치가 선다. 이 셋을 무시하면 이 셈은 단순한 추측이 된다.

그래서 무엇을 보고 고를 것인가

고를 때 볼 것은 표기된 최대 길이가 아니라 내가 실제로 넣을 길이다. 대부분은 적힌 최대치를 쓰지 않는다. 문서 하나를 통째로 넣는 일이 드물게 있을 뿐, 평소 대화는 그 근처에도 못 간다. 그러니 먼저 자기가 넣을 글이 대략 어느 정도인지부터 잡는다. 그 길이가 정해지면 그다음이 셈이 된다.

그 길이에서 이 모델이 얼마를 먹는지는 모델마다 다르고, 그 차이가 작지 않다. 같은 길이를 담는 데 드는 자리가 모델 사이에서 백 배 넘게 벌어진다. 카드 용량은 그 값과 모델 자체의 크기를 더한 뒤에 견준다. 순서를 거꾸로 잡아 카드부터 사면, 표기만 보고 고른 모델이 그 카드에서 절반도 못 채우는 일이 생긴다.

게시판에서 이 글의 댓글 보기 →

다른 칼럼