3 minute read

RTX 5090 가격표 보고 심장마비 올 뻔했던 내 통장에 한 줄기 빛이 내렸다… (이게 바로 헝그리 정신 가성비의 맛이지!)

로컬 LLM 좀 돌려보겠다고 커뮤니티 기웃거리면 “5090 한 장 사세요”, “아니면 Mac Studio M3 Ultra 가셔야죠” 같은 소리만 들린다. 수백만 원짜리 견적서를 보며 한숨 쉬던 중, 어제 r/LocalLLM에서 내 눈을 번쩍 뜨이게 만든 미친 세팅 글을 하나 발견했다.

RTX 5060 Ti 16GB 두 장(합계 VRAM 32GB)으로 최신 Qwen 3.8 27B 모델을 돌렸다는 거다. 그것도 컨텍스트를 무려 256k 풀로 꽉 채워서 말이다!

작성자의 레시피는 생각보다 깔끔하다. Qwen 3.8 27B 모델을 최신 NVFP4 양자화로 깎고, 서빙 프레임워크는 마개조 패치 하나 없는 순정 vLLM 0.30.0을 썼다. 데스크톱 GUI 따윈 과감히 버린 헤드리스(Headless) 우분투 환경이라 VRAM 낭비가 0에 수렴한다. 게다가 두 GPU 모두 전력 제한(Power Limit)을 150W로 꽁꽁 묶어뒀단다. 성능은 아주 살짝 양보했지만, 발열과 비행기 이륙 소음을 완벽하게 잡아냈다는 게 포인트다(원룸에서 홈랩 돌릴 땐 소음이 생존 문제다).

숫자부터 보자

가장 궁금한 건 역시 속도(토큰 처리량)다. MTP(Multi-Token Prediction)를 활성화했을 때 찍힌 벤치마크 수치가 꽤나 아름답다.

  • Prefill: 초당 약 4,000 토큰 (대용량 컨텍스트 한 번에 채울 땐 초당 1,000 토큰)
  • Decode: 일반 텍스트 기준 72 tok/s, JSON 같은 구조화된 출력은 무려 132 tok/s

KV 캐시를 FP8로 묶어두니 262,144(256k) 토큰 전체를 메모리에 올리고도 10k 토큰 정도의 여유 공간이 남았다. 비디오 영상 입력 기능만 꺼두면 텍스트 기반 에이전트 코딩에 필요한 모든 기능이 온전히 살아 숨 쉰다.

물론 저 최고 속도만 보고 혹하면 곤란하다. 컨텍스트가 길어질수록 속도가 떨어지는 건 물리 법칙이니까(작성자 본인도 “절반은 영업용 숫자”라며 쿨하게 인정했다). 실제 실측치 테이블을 보자.

컨텍스트 일반 텍스트 구조화 출력
0k 74.2 tok/s 130.5 tok/s
32k 67.7 tok/s 127.0 tok/s
132k 56.0 tok/s 103.2 tok/s

재미있는 건 구조화 출력(Structured Output)이 일반 줄글보다 훨씬 빠르다는 점이다. 다음 나올 토큰이 예측 가능할수록(JSON 문법이나 키값 등) MTP의 추측 성공률이 떡상하기 때문이다. 조건만 맞으면 160 tok/s까지 치솟는다고 하니, 함수 호출(Tool Calling)이나 JSON 파싱 위주의 에이전트 작업에선 그야말로 날아다닌다는 뜻이다.

llama.cpp와의 차이

댓글 창에서는 “나도 듀얼 5060 Ti 쓰는데 llama.cpp 돌리거든? 근데 왜 난 느리지?”라는 질문이 나왔다.

비교해 보니 차이가 확연했다. llama.cpp로 돌리면 초반엔 70 tok/s 언저리로 비슷하게 뽑아주지만, 컨텍스트가 100k를 넘어가기 시작하면 속도가 30 tok/s 밑으로 수직 낙하한다는 거다.

반면 vLLM 세팅이 롱 컨텍스트에서 압도적인 우위를 점하는 이유는 명확하다:

  • FP8 KV 캐시와 MTP의 찰떡궁합: 긴 문서를 잔뜩 밀어 넣어도 메모리 효율이 압도적이다.
  • 완만한 속도 저하: 132k 컨텍스트가 차도 56 tok/s를 방어해 준다.
  • 단점: 세팅 난이도가 llama.cpp보다 한두 단계 위다(초보자에겐 눈물 나는 리눅스 삽질이 기다린다…).

짧은 단타 대화 위주라면 llama.cpp의 편리함과 접근성을 따라올 도구가 없다. 하지만 전체 코드베이스를 통째로 들이붓고 디버깅하는 에이전트용이라면 롱 컨텍스트 방어력이 뛰어난 vLLM이 확실히 압승이다.

작성자는 친절하게도 세팅 스크립트와 레시피 전체를 깃허브(skrodahl/qwen38-27B-dual-rtx5060)에 통째로 공개해 줬다(이런 오픈소스 정신, 아주 칭찬한다).

왜 이 이야기가 흥미로운가

최신 27B급 고지능 모델을 쾌적하게 굴리려면 천만 원짜리 플래그십 GPU나 서버실이 필수라는 게 지금까지의 상식이었다.

하지만 이 글은 중급형 그래픽카드 두 장을 묶어서 그 두꺼운 벽을 부숴버렸다. RTX 5060 Ti 16GB 두 장 가격을 다 합쳐도 5090 한 장 가격의 절반에도 못 미친다. 남은 돈으로 치킨을 몇 백 마리는 뜯을 수 있다(내 지갑은 소중하니까).

진짜 핵심은 단순히 싼 카드를 썼다는 게 아니라, 256k라는 광활한 컨텍스트를 방구석에서 프라이빗하게 쓸 수 있게 됐다는 점이다. API 비용 걱정 없이, 사내 기밀 코드나 개인 프로젝트를 통째로 부어 넣고 분석할 수 있는 환경이 드디어 서민(?) 예산 범위 안으로 들어왔다.

게다가 150W 전력 제한 세팅 덕분에 방 안이 사우나가 되거나 쿨러 팬이 굉음을 내며 폭주하지 않는다. 책상 밑에 두고 일상적으로 쓸 수 있는 머신이 되었다는 건 실사용 측면에서 엄청난 메리트다.

정리하면

이제 Qwen 3.8 27B는 32GB VRAM이라는 현실적인 예산 세팅으로도 실무에서 충분히 굴릴 수 있는 모델이 됐다.

비결은 vLLM + NVFP4 양자화 + FP8 KV 캐시 + MTP의 조합이다. 컨텍스트가 꽉 차도 50~60 tok/s 이상을 뽑아주니, 체감 속도 면에서도 클라우드 API 부럽지 않다.

로컬 LLM의 진입 장벽이 무식한 ‘하드웨어 돈 지랄’에서 영리한 ‘소프트웨어 세팅과 최적화’의 영역으로 넘어가고 있다는 신호다. 5090 살 돈 없다고 로컬 AI 포기했던 분들이라면, 중고 장터에서 16GB 그래픽카드 두 장 구해서 묶어보는 빌드를 진지하게 고민해 볼 때다.