2 minute read

“API 비용 좀 아껴보려고 홈랩 서버 하나 맞추려고요.”
이 말은 전 세계 모든 테크 덕후들이 지갑을 파괴하기 직전에 내뱉는 가장 위험하고 달콤한 자기합리화다. 어제 r/LocalLLM에 지하실 5U 랙에 GPU 4장을 때려 박고 도합 384GB VRAM 서버를 구축한 전설적인 용자의 글이 올라왔는데, 읽는 내내 배를 잡고 웃으면서도 한편으론 남일 같지가 않았다(내 소박한 맥미니와 텅 빈 통장 잔고가 동시에 흐느꼈다).

글쓴이는 이 짓을 두고 정확하게 정의했다. 바로 “어른들의 마인크래프트”라고. 블록 하나 쌓으면 다음 블록이 필요해지고, 부품 하나 바꾸면 병목이 다른 곳으로 튀면서, 결국 지하실에 384GB 괴물 머신이 필요한 이유를 스스로에게 열심히 프레젠테이션하고 있는 자신을 발견하게 된다는 거다(진짜 지독한 취미다…).

하드웨어부터 훑어보면

스펙부터 입이 떡 벌어진다.

심장부에는 NVIDIA RTX PRO 6000 Blackwell Max-Q 네 장이 꽂혀 있다. 장당 96GB씩, 다 합치면 무려 384GB VRAM이다. 4장을 한 케이스에 욱여넣으려고 전력 300W짜리 블로워(Blower) 타입을 골랐는데, 발열과 풍량을 계산하다 보니 처음 주문했던 4U 랙 케이스를 취소하고 5U짜리 거대한 철제 케이스로 바꿨다고 한다(이런 게 진짜 빌더의 현실 디테일이다).

CPU는 AMD Threadripper PRO 9965WX (24코어 48스레드). 코어 수 욕심을 부리지 않은 이유가 기가 막힌다. 순수 연산 속도보다는 오직 ‘PCIe 레인 수’와 ‘메모리 대역폭’을 뚫기 위해 스레드리퍼 플랫폼을 택한 거다. 메모리는 DDR5-5600 ECC 32GB 8개를 꽂아 8채널 풀뱅크를 채웠고, 파워는 2200W짜리 산업용 파워서플라이 하나로 끝냈다.

다만 로컬 모델 좀 돌려본 사람이라면 알겠지만, 384GB VRAM이 마법처럼 한 덩어리로 합쳐지는 단일 메모리 풀은 아니다. 어디까지나 4장의 VRAM 합계일 뿐이라, vLLM이나 TensorRT-LLM 같은 추론 엔진이 모델 가중치를 어떻게 쪼개서 분산할지(TP/PP), 컨텍스트 윈도우와 KV 캐시가 메모리를 얼마나 잡아먹을지에 따라 굴릴 수 있는 모델 사이즈가 요동친다. 무작정 “384GB짜리 초대형 모델 풀로드 가능!”이라고 덤볐다간 OOM(Out of Memory) 에러의 매운맛을 보게 된다.

무엇을 돌리는가

도대체 이 미친 머신으로 뭘 돌릴까? 정답은 ‘개인용 AI 에이전트 군단’이다.
코딩, 심층 리서치, 웹 스크래핑, 툴 호출, 장기 메모리 관리, 서브에이전트 위임 실험까지 온갖 워크로드를 상시로 굴린다. 4장의 GPU를 묶은 덕분에 필요할 때마다 거대 모델 하나에 올인하거나, 작은 모델 서너 개를 동시에 띄워 에이전트 팀플레이를 시키는 등 유연성이 극대화됐다.

재밌는 건 이 사람이 에이전트에 본격적으로 미치게 된 계기가 OpenClaw였다는 점이다. 실제로 알아서 일하는 에이전트의 맛을 보고 나자, 역할 분담과 메모리, 모델 스위칭을 자기 입맛대로 주무르고 싶어서 somora라는 오픈소스 하니스를 직접 짜버렸다(깃허브에 MIT 라이선스로 배포 중이다). 하드웨어를 지르다 보니 소프트웨어를 직접 짜게 되고, 그 소프트웨어를 돌리려고 하드웨어를 또 지르는 완벽한 뫼비우스의 띠다.

VRAM이 늘면 생기는 일

이 글에서 가장 무릎을 쳤던 대목은 바로 이거다. “모델이 VRAM에 올라가는 건 고통의 시작일 뿐이다.”

가중치가 램에 올라갔다고 끝이 아니다. 컨텍스트 길이가 길어질수록 기하급수적으로 폭증하는 KV 캐시, 동시 요청(Concurrency) 처리, 추론 엔진 최적화, 굉음을 내며 돌아가는 쿨링팬까지 신경 써야 할 변수가 산더미다.

그리고 하드웨어에 여유 공간(VRAM)이 생기면 인간은 반드시 그 빈자리를 채울 새로운 삽질을 발명해 낸다(인간의 욕심은 끝이 없다).
그렇다면 당초 목표였던 “API 요금 아끼기”는 어떻게 됐을까? 글쓴이는 아주 쿨하게 고백한다.
“돈 아끼겠다는 원래의 논리는 하드웨어 장바구니 결제 버튼을 누르는 순간 증발했다. 손익분기점(BEI) 계산은 내 정신건강을 위해 일부러 안 하기로 했다.”(현명하다…)

왜 주목할까

이 글이 수많은 개발자들의 가슴을 울린 이유는 단순히 돈지랄 자랑이 아니기 때문이다. 로컬 AI에 발을 들인 모든 엔지니어가 겪는 전형적인 ‘테크 늪’을 완벽하게 보여주기 때문이다.

1단계: 맥북이나 윈도우 노트북에서 8B 소형 모델 돌려보며 신기해함
2단계: 게임용 데스크톱에 RTX 5090 한 장 꽂고 32B 모델 띄우며 감탄함
3단계: 메모리 부족을 핑계로 Mac Studio M3 Ultra (128GB/192GB) 장바구니에 담음
4단계: 정신 차려보니 지하실 랙에 수천만 원짜리 전용 서버를 조립하고 있음(어른의 마인크래프트 완성)

결국 각 단계의 한계를 만날 때마다 다음 퀘스트가 열린다. VRAM 갈증을 해결하고 나면 KV 캐시 최적화 퀘스트가 열리고, 그게 끝나면 멀티에이전트 오케스트레이션 퀘스트가 기다린다.

VRAM 병목을 돈으로 찍어 누른 그에게 커뮤니티가 물었다. “그래서 384GB를 채우고 나니 진짜 병목은 뭐였습니까?”
글쓴이의 대답은 명쾌했다. 컨텍스트 길이, 냉각, 그리고 이 거대한 시스템을 밤새 놀리지 않고 돌릴 창의적인 작업(Task)의 부족. 어른들의 마인크래프트에는 엔딩 크레딧이 없다. 블록을 다 쌓으면 다음 확장팩을 깔아야 하니까.