RTX 3090 1개에서 DGX Spark 20개까지: 집안 퓨즈가 첫 번째 병목이었음
From 1x3090 to 20 DGX Sparks: my house fuses were the first bottleneck
핵심 요약
개인용 로컬 AI 환경을 구축하기 위해 엄청난 규모의 하드웨어 클러스터를 구성한 작성자의 경험담입니다.
- 하드웨어 확장 — 3090에서 시작해 DGX Spark 20개 규모의 클러스터로 발전함
- 전력 문제 — 대규모 장비 가동으로 인한 가정용 퓨즈 차단 및 발열 문제 경험
- 로컬 AI 신념 — 상용 API 대신 로컬 모델을 고집하며 직접 클러스터를 운영함
- 가족 동참 — 형제들까지 로컬 AI의 매력에 빠져 함께 클러스터를 확장 중
처음 LLaMA 33B를 써보고 나서, 이 마법 같은 지능을 내 컴퓨터에 직접 박아두고 싶다는 생각이 들었어. 누가 뺏어갈 일 없게 말이야. 그래서 집에 3090 하나를 들였지. 그러다 LLaMA 65B가 나왔는데, 와 진짜 눈 돌아가더라. 세상 모든 지식을 다 가진 것 같았거든. 혹시라도 날아갈까 봐 로컬에 하나, Synology NAS RAID에 하나, 이렇게 복사본 두 개를 만들어두고, 돌리려고 3090 하나를 더 샀어. 그땐 LLaMA랑 Qwen 모델로 간단한 코딩이나 하면서 1년 동안 아주 행복했지.
그러다 DeepSeek 671B MoE가 등장했어. 와, 집에서 프론티어급 모델을 돌리다니. 바로 Threadripper에 512GB DDR4로 업그레이드했지. 전문가 모델을 RAM으로 오프로딩해서 8 t/s로 돌리거나, 좀 빠르게 쓰고 싶을 땐 Qwen 235B를 10-12 t/s로 돌렸어. 이걸 OpenWebUI에 올려서 회사 실무 코딩에 써먹었지.
근데 에이전트 기반 코딩이 뜨기 시작하니까 이게 너무 느린 거야. 컨텍스트 100k 넘어가니까 생성 속도는 반토막 나고, 프리필(prefill)은 아름답긴 한데 아주 고통스러운 경험이었지. 그래서 결국 100Gbit 네트워크로 묶인 P620 기반 노드에 16x3090을 박아버렸어. MiniMax M2, Qwen 235B, 심지어 Qwen 397B까지 돌렸는데, 이보다 더 좋을 순 없더라. OpenCode에서 397B로 유료 프로젝트 하나를 통째로 다 만들었어. 근데 더 큰 모델들은 감당이 안 되더라고. 게다가 집 전력이 못 버텨서, 컴퓨터랑 전기 오븐을 같이 돌리면 바로 차단기가 내려갔어. 발열이랑 안정성 문제도 심각했지.
그다음엔 ASUS GB10 4개를 들였어. 연결해서 쓸 수 있다는 글을 봤거든(공식 지원은 3개까지였지만). 400W로 397B를 30 t/s로 돌리는데, 6kW 먹으면서 50-60 t/s 뽑던 때보다 훨씬 안정적이고 조용하더라. 꿈이 이루어진 기분이었지. 이걸로 프로젝트 두 개를 더 끝냈어. 그러다 MiMo 2.5 Pro랑 Kimi 2.6이 나왔는데, 훨씬 똑똑하고 생산성도 좋더라고. 8노드 클러스터 구성법은 어디에도 없었지만, 그냥 GB10 4개를 더 사서 어떻게든 되게 만들었어. 397B를 INT4 대신 FP8로 돌리니까 20% 더 빠르더라. NVIDIA 포럼 8xSparks 게시판에 MiMo 2.5 Pro랑 Kimi 2.6 솔루션을 처음으로 올렸지. 결과가 너무 만족스러워서 형까지 꼬셔서 8x GB10을 사게 만들었어. 형도 API 비용 걱정이나 서비스 중단 걱정 없이, 프라이버시 지키면서 최고의 오픈 모델을 로컬에서 돌릴 수 있게 된 거지.
형 집은 우리 집에서 걸어서 5분 거리야. 현존 최강이자 가장 똑똑한 오픈 웨이트 모델인 Kimi K3 (2.8T)가 나왔을 때, 우리는 클러스터를 합쳤어. 평소엔 8x 클러스터 두 개로 따로 쓰다가, 집에서 제일 큰 모델 돌리고 싶을 땐 16x로 합치는 거지. 며칠 고생해서 NVIDIA 포럼에 16x Sparks용 Kimi K3 솔루션을 처음으로 공개했어. 여러 번 다듬은 끝에, 처음엔 컨텍스트 100k에서 7 t/s라는 쓰레기 같은 속도였던 게, 지금은 300k에서 20 t/s까지 나와서 꽤 쓸만해졌어.
이제 Sparks 4개를 더 추가할 거야. 그럼 더 작고 빠른 모델(GLM 5.3 Flash)을 24시간 내내 돌릴 수 있거든. 큰 클러스터는 8x씩 나눠서 GLM 5.3이랑 MiMo 2.6 Pro를 동시에 돌리거나, 아니면 16x로 Kimi K3나 Qwen 3.8 2.4T를 돌리는 식으로 운영할 생각이야.
나는 항상 큰 모델 속도 튜닝하고 vLLM/SGLang 이미지 새로 빌드하느라 바빠서, 항상 켜져 있는 작은 클러스터가 필요했어. 왜냐고? 내 모든 업무 프로젝트랑 vllm/sglang 개인 프로젝트는 전부 로컬 호스팅 모델만 쓰기로 마음먹었거든. 상용 모델 구독료를 안 내는 건 돈 때문이 아니라, 로컬 모델의 미래를 강력하게 믿기 때문이야. 10월 2일에 Sparks 4개가 더 도착할 예정인데, 이건 나처럼 로컬 AI라는 병에 제대로 걸려버린 내 동생 줄 거야 :)


