16GB VRAM의 탈출구? LocalLLaMA가 꺼낸 “묵은 GPU 한 장” 해법

왜 이 스레드가 먹혔나

LocalLLaMA에는 늘 비싼 워크스테이션 자랑이 올라온다. 그런데 이 글은 정반대 방향의 희망을 줬다. 새 플래그십 두 장이 아니라, 이미 서랍에 있는 옛 GPU를 다시 꽂으라는 제안이었기 때문이다. 핵심 논리는 단순하다. 27B급 dense 모델이 시스템 RAM으로 새지 않고 두 장의 GPU VRAM 안에만 들어가면, 카드 조합이 불균형하더라도 긴 문맥 generation은 훨씬 덜 망가진다. 글쓴이는 5070 Ti 16GB와 예전 2060 6GB를 같이 쓰는 예를 들었다.

이게 커뮤니티에서 바로 먹힌 이유도 분명하다. 로컬 추론의 병목은 요즘 FLOPS 자랑이 아니라 "어떻게든 VRAM 안에 다 넣느냐"에 있기 때문이다.

글쓴이가 실제로 보여준 것

원글은 llama-server 설정까지 꽤 자세히 적었다. 두 장의 장치를 함께 켜고, GPU layer offload를 최대한 밀고, no-mmap, q8 KV cache, 128k context를 잡았다. 포인트는 split-mode layer 오프로딩이 대칭 GPU에서만 돌아가는 게 아니라는 점이다. 실제 예시에서는 약 71k 컨텍스트에서 prompt processing 186.76 t/s, generation 19.21 t/s 정도가 나왔고, 작성자는 단일 카드에서 CPU 메모리로 밀려날 때 체감되던 4 t/s 수준과 비교해 꽤 쓸 만하다고 설명했다.

이후 붙인 llama-bench 수치가 더 중요하다. CUDA 12.4 기준 8k context에서는 generation이 단일 카드 16.54 t/s에서 듀얼 GPU 25.40 t/s로 올랐고, 16k context에서는 12.03 t/s에서 24.31 t/s로 뛰었다. 메시지는 분명하다. 불균형한 카드 조합 자체가 이상적인 것은 아니어도, RAM으로 넘겨 버리는 것보다 VRAM 안에 가두는 편이 훨씬 낫다는 것이다.

댓글이 붙인 현실적인 단서

상위 댓글은 즉시 보정을 걸었다. NVIDIA 카드라면 Vulkan보다 CUDA를 쓰라는 지적이 먼저 나왔다. 또 다른 사용자는 모든 VRAM이 결국 RAM보다 낫다는 원칙에는 동의하지만, 보조 카드가 너무 약하면 짧은 문맥에서는 오히려 병목이 생길 수 있다고 했다. 3090 Ti와 2070을 같이 써 본 사용자는 실제로 그런 사례를 공유했다. 그럼에도 긴 문맥에서 CPU offload보다 낫다는 결론은 유지됐다.

이 반응이 중요하다. 커뮤니티는 이걸 만능 해법으로 밀지 않았다. 균형을 희생하더라도 긴 컨텍스트 generation을 살릴 수 있는 거래로 읽었다.

왜 LocalLLaMA가 올렸나

지금 LocalLLaMA의 관심사는 더 큰 모델 자체만이 아니다. 이미 가진 하드웨어로 그 모델을 얼마나 덜 고통스럽게 돌리느냐도 같은 비중으로 중요하다. 이 글의 영리한 지점은 오래된 GPU를 추가 연산 카드가 아니라 추가 모델 메모리로 다시 정의했다는 데 있다. 24GB 이상 카드로 바로 점프하기 어려운 사용자에게는 leaderboard 스크린샷보다 훨씬 실용적인 아이디어다.

출처: r/LocalLLaMA 스레드