https://preview.redd.it/hboxdgjh2xyh1.png?width=1230&format=png&auto=webp&s=cca6b2b7b08807a334ff5280e19d96133667fbb0 일반적으로 알려진 조언은 64GB가 로컬 LLM(Large Language Model)의 사각지대라는 것이었습니다. 즉, 실제 컨텍스트를 가진 70B 모델을 구동하기에는 너무 작고, 30B 이상의 모델은 더 많은 메모리를 필요로 한다는 것이었죠. 하지만 지난 10일 동안 64GB M4 Max에서 27B 모델을 이용해 에이전트 기반 코딩(agentic coding) 작업을 수행하면서, 제 생각은 바뀌었습니다. 컨텍스트가 쌓이기 시작하면 메모리 사용량이 약 50GB에 달합니다.
설정: LM Studio에서 Qwen3.8 27B (16 GB MLX quant)를 사용하여 256k 컨텍스트의 코딩 에이전트 세션을 진행했으며, 이 과정에서 100~200k 토큰에 달하는 작업량이 발생했습니다. 164k 토큰을 처리했을 때, LM Studio의 엔진 프로세스는 48GB를 사용하고 있으며, 그중 46GB가 GPU 메모리에 할당되었습니다. 대략적인 구성은 다음과 같습니다:
- 가중치(weights): 약 16 GB
- KV 캐시(KV cache): ~11 GB (~토큰당 64 KB, 64개 레이어 중 16개만 완전 어텐션 사용)
- 프롬프트 캐시를 위한 컨텍스트의 두 번째 사본처럼 보이는 영역과 선형 어텐션 체크포인트
- MLX가 프리필(prefill) 과정에서 남긴 스크래치 메모리
프롬프트 캐시는 이 시스템을 사용 가능하게 만드는 핵심 요소입니다. 현재 93%에 도달했기 때문에, 한 번의 턴(turn)에서는 160k 토큰 대신 약 1k개의 새로운 토큰만 처리합니다. 만약 히트율이 떨어져서 전체 프리필을 해야 할 경우, 약 20분이 소요됩니다.
사람들이 24GB 카드에서 KV 캐시를 양자화(quantize)하는 것처럼 왜 이 모델에서는 안 할까요? LM Studio의 MLX 비전 경로는 이 모델에 대해 KV 양자화를 거부합니다. 텍스트 전용 경로는 이를 허용하지만, 캐시가 양자화되면 캐시 체크포인트를 건너뛰게 되며, 하이브리드 모델에서는 이는 훨씬 더 많은 전체 재처리(full reprocessing)를 의미합니다.
따라서 48GB 환경에서는 컨텍스트를 128k로 낮추거나, q8 KV를 사용하는 llama.cpp로 옮겨야만 작동할 수 있습니다 (이 경우 256k에서 약 2530 GB가 필요하며 프리필 속도는 느려집니다). 하지만 64GB에서는 여유 공간을 두고 충분히 구동됩니다. 현재 남은 메모리는 약 150 MB입니다.
'사각지대(dead zone)' 논쟁은 가중치에 관한 것이었습니다. 에이전트의 경우, 컨텍스트 비용이 모델 크기와 비슷하게 발생하며, 이제 27B 모델만으로도 충분히 실제 작업을 수행할 수 있습니다. 이로 인해 64GB가 바로 최적의 지점(sweet spot)에 위치하게 되었습니다. 더 큰 MoE(Mixture of Experts) 모델이나 두 개의 모델을 동시에 로드하는 경우 여전히 128GB를 원합니다. 다른 분들 중에서도 64GB에서 같은 경험을 하신 분이 계신가요? 그리고 llama.cpp로 Mac에서 긴 컨텍스트 작업을 수행하면서 만족스러운 프리필 속도를 경험하신 분이 있나요?
제출자: /u/M5_Maxxx [링크] [댓글]