
상자 속의 데이터 센터 (바퀴 달린 형태): 256GB VRAM/512GB RAM AI 서버 6~8개월 운영 리뷰, 안정성 보고 및 벤치마크
요약
8개의 RTX 3090과 2개의 RTX 5090을 탑재한 256GB VRAM 규모의 고성능 AI 서버 구축 및 6~8개월 운영 리뷰입니다. IT 인프라 엔지니어의 관점에서 하드웨어 구성, 안정성, 그리고 대규모 MoE 모델 추론을 위한 최적의 시스템 사양을 공유합니다.
핵심 포인트
- 256GB VRAM을 갖춘 대규모 MoE 모델 추론용 서버 구축
- RTX 3090 스택과 5090을 조합한 하이브리드 GPU 구성
- W200 인클로저를 활용한 10개의 GPU 배치 및 냉각 솔루션
- 학습보다는 대규모 추론 및 창의적 작업 병행에 최적화
이 포럼을 떠나 있었던 지 꽤 되었지만, 어느 정도 운영 시간이 경과했기에 그동안 어떻게 진행되어 왔는지에 대한 공식적인 업데이트를 제공하고자 합니다. 관심이 있다면 정보를 공개하고 지식을 공유하기 위함입니다. 또한 기존 게시물의 품질에 만족하지 못했기 때문에, 아마도 기존 글은 삭제하고 이 글이 그 역할을 대신하게 될 것입니다. 저는 직업상 IT 인프라 엔지니어이므로, 저의 기여는 이론적인 머신러닝 (Machine Learning) 관점보다는 주로 하드웨어/시스템 관점에서의 내용이 될 것입니다. 저는 약 10년 전 대학에서 물리학 학부생이었을 때 HPC (Beowulf 클러스터)로 시작했으며, 이것이 거의 10년이 지난 지금의 경험입니다. 초기 목표/아이디어: 소규모 비즈니스를 지원하기 위한 올인원 (all-in-one) 머신 구축. 이 머신은 최첨단 MoE (Mixture of Experts) 모델을 효과적으로 추론 (inferencing) 할 수 있어야 하며, 영어가 모두에게 모국어가 아닐 수 있는 상황에서 언어/텍스트 작업, 데이터 분석, 심층 주제 연구를 통해 비즈니스를 지원해야 합니다. 또한, 그래픽 디자인 사용자를 위한 동시 이미지 생성 도구, 신속한 이미지 편집, 마케팅을 위한 프레젠테이션 증강 기능을 제공하여, 비즈니스가 API 크레딧이나 도구 사용의 엄격한 제한에 대해 걱정할 필요가 없어야 합니다. 아이디어는 하나의 5090 (대규모 입력 시 최상의 프롬프트 처리를 위함 + 추가 VRAM)이 주도하고 3090 스택 (LLM에 대해 여전히 일반적으로 "좋은" 기준 성능)이 따르는 구조로, 고급 LLM의 워크로드를 처리하는 동안 두 번째 5090은 다른 창의적인 작업을 위해 사용할 수 있도록 하는 것입니다. 최종 결과가 이 목표를 달성했음을 나타내게 될 것입니다.
개요 사양
CPU: 64 Core TR 3995WX
RAM: 512Gb DDR4-3200 ECC
VRAM: 256Gb GDDR6x/GDDR7 (8x3090's + 2x5090's)
인클로저 (Enclosure): Core W200 Thermaltake Case
메인보드 (Mobo): ASUS Pro WRX80E-SAGE/SE Wifi
PSU: 1300W+1600W (총 2900W), OCP 포함, PSU2PSU로 연결
스토리지 (Storage): 4Tb Nvme (빠름) + 4Tb HDD (느림) + 필요에 따라 USB를 통한 약 8개의 1Tb SATA SSD (중간)
OS: Ubuntu 25.10
기타: 3개의 분기 카드 (Bifurcation cards), 다양한 길이의 라이저 (risers) 10개
프론트엔드 (Front end): Open WebUI
백엔드 (Back end): llamacpp/koboldcpp
권장 용도 (추천): 대규모 MoE 추론 (inferencing), LLM + ComfyUI 동시 작동, 크레딧 제한에 자주 도달할 수 있는 파워 유저, 이러한 도구들을 활용하여 생산성을 높이고 더 짧은 시간 내에 목표를 달성할 수 있는 창의적 또는 기술적 전문가.
비권장 용도 (추천하지 않음): 학습 (Training), 다중 동시 추론 (multi-concurrent inferencing), 성능 극대화 (performance maxing), 높은 양자화 (high quants) 상태에서의 극한의 프론티어 모델 추론, 단순히 역할극 (roleplay)만을 원하는 일반 사용자.
결과 요약: 넉넉한 공간과 구성 유연성을 제공하는 W200을 플랫폼으로 사용하여, 10개의 카드와 모든 부품을 큰 양보 없이 인클로저 내에 영구적으로 배치할 수 있었습니다. 드라이브 베이 영역만이 GPU 장착을 위해 완전히 용도 변경되어야 했던 유일한 공간이었으나, 저희에게는 문제가 되지 않았습니다. 사진상으로는 내부가 다소 좁아 보일 수 있지만, 상단에 카드가 매달려 있는 챔버는 실제로는 상당히 비어 있습니다. 따라서 전면과 측면에 140mm 팬 스택을 배치하여, 공기가 전면과 측면을 통해 들어와 카드를 냉각시킨 후 후면/상단으로 빠져나가는 윈드 터널 (wind tunnel) 효과가 발생합니다. 주변 온도에 따라 다르지만, 유휴 상태 (idle)에서 온도가 가장 높은 카드는 보통 섭씨 40도 중후반을 유지하며, 가장 낮은 카드는 20도 중반을 유지합니다 (3개의 3090은 하이브리드 방식이라 온도 측면에서 환상적이지만, 라디에이터 장착이 또 다른 골칫거리를 추가합니다). 활발하게 추론 (inferencing) 중일 때, 가장 온도가 높은 카드는 지속적인 부하 상황에서 60도 중반에 도달할 수 있습니다.
ComfyUI를 실행하며 이미지나 비디오 생성 (generation) 작업을 수행할 때만 5090의 온도가 70도대에 도달하지만, 이는 간헐적인 워크로드 (workload)이므로 저희의 측정 결과 전반적인 온도는 시간이 지나도 만족스러운 수준임이 증명되었습니다. 최종 결과물에 대해 놀랍거나 인상 깊었던 점들은 다음과 같습니다: 소음. 작동할 때 제트기가 이륙하는 듯한 소리가 날 것이라고 예상했지만, 실제로는 그렇지 않았습니다. 전원이 켜질 때의 버튼 클릭 소리는 만족스러우며, 그 이후에는 낮고 부드러운 웅웅거림(hum)이 이어지는데, 이는 제가 서버실에서 듣던 팬 소음과는 거리가 멉니다. 부하가 걸린 상태에서도 (상단으로 배기하는) CPU 120mm 라디에이터 팬 소리가 거의 전부로 들리며, 전면과 측면의 140mm 팬들이 소음을 억제하는 데 도움을 주는 것으로 보입니다. 저는 수년간 많은 게이밍 PC를 조립해 왔고 최고 사양의 게이밍 PC를 소유하고 있는데, 이 장치가 게이밍 PC보다 더 시끄럽다고 느낄 수 없었으며, 특히 유휴 (idle) 상태에서는 더욱 그렇습니다. 유용성. 저는 이 장치를 주로 소규모 크리에이티브 비즈니스를 위해 사용할 계획이었으나, 제 개인적인 전문 업무 생활에서 이 장치가 얼마나 필수적인 존재가 될지는 예상하지 못했습니다. 인프라 엔지니어 (infrastructure engineer)로서 코딩은 제 주력 분야가 아닙니다. 현장에 저 혼자 IT 담당자이거나 SQL, PowerShell/Python 스크립팅, 또는 매우 구체적이고 니치(niche)한 기술에 대한 트러블슈팅 (troubleshooting)과 같은 특정 전문 지식을 갖춘 사람이 없을 때, 이 도구를 대기 상태로 두고 있다는 사실만으로도 제 커리어 내에서 이미 본전을 뽑았다고 느낍니다. 이 도구는 몇 시간이 걸렸을 프로세스를 몇 분으로, 며칠을 몇 시간으로, 심지어 몇 달을 몇 주나 며칠로 단축하는 데 도움을 주었습니다. 이 도구를 광범위하게 사용한 후, 저는 로컬 LLM (Local LLM)이 단순히 장난감이나 신기한 물건의 단계를 넘어 측정 가능한 수준으로 진보했다는 점을 인정해야 하는 지점에 도달했습니다. 지능적으로 배치된다면, 이와 같은 장치는 전문 사용자들에게 강력한 자산이 될 수 있습니다. 바퀴. 사소한 디테일처럼 들리겠지만, 각 그래픽 카드의 개별 온도가 아무리 만족스럽더라도, 여전히 10개의 고전력 GPU가 방 안으로 열을 쏟아내고 있다는 사실을 깨닫기 전까지는 그렇게 느껴질 수 있습니다.
이는 복잡한 라디에이터 솔루션(radiator solution)이나 열을 외부로 배출하기 위한 특수한 환기 장치를 사용하지 않는 한, 방이 매우 뜨거워질 것이며 보통 이에 대한 직접적인 해결책은 없다는 것을 의미합니다. 하지만 바퀴는 간접적인 해결책을 제공합니다. 그날 사무실에서 작업할 계획인가요? 손님용 침실로 밀어 넣고 Wi-Fi를 통해 실행되도록 두세요. 집 밖에서 작업할 계획인가요? 사무실로 밀어 넣고 LAN에 연결한 뒤, 개인 VPN 연결을 통해 접속하세요. 방이 뜨거워지는 것을 막을 수 없다면, 적어도 어떤 방이 열을 받을지 선택할 수는 있습니다. 컴퓨터와 오랫동안 함께 살아온 사람으로서, 이는 매우 과소평가된 장점입니다. 주의사항: 최상의 성능으로 작동하려면 공기 흐름(airflow) 개선을 위해 유리 측면 패널을 열어두는 것을 권장합니다. 전형적인 일일 활동: 오전 5:30경 부팅, ComfyUI 서버 시작, 모델 로딩 시작, 커피를 가져오는 동안 1520분 내에 사용 준비 완료. 종료는 보통 당일 오후 8시경에 이루어집니다. 총 일일 활동 시간은 약 1214시간입니다. 비용 내역: 현재 시장 상황에서는 불행히도 재현이 불가능하다는 점을 알고 있지만, 질문이 나올 것을 대비하여 정리해 둡니다. SSD와 같은 일부 부품은 RAM 및 하드웨어 가격이 급등하기 훨씬 전에 개인적으로 구입했기 때문에, 특정 부품을 확보한 타이밍이 빌드 예산 측면에서 매우 운이 좋았습니다. 일부 수치는 정확하며, 원본 영수증을 찾았는지 여부에 따라 일부는 약간 반올림되었습니다.
| 컴포넌트 | 수량 | 출처 | 단위당 비용 | 소계 |
|---|---|---|---|---|
| RTX 3090 24Gb | 8 | eBay | $750-1000 | $6,500 |
| RTX 5090 32Gb | 2 | Retail | $2,500-3000 | $5,500 |
| TR | 3 | N/A | N/A | $995 |
| WX 1 | 1 | eBay | $1,068.43 | $1,068.43 |
| WRX80E-SAGE-SE | 1 | Amazon | $949.99 | $949.99 |
| DDR4 ECC 64Gb | 8 | Amazon | $81.99 | $695.28 |
| TT Core W200 | 1 | Amazon | $499.99 | $499.99 |
| PSU | 1300/1600 | 2 | Amazon | $250-350 |
| 4Tb nvme | 1 | Amazon | $221.05 | $221.05 |
| 1Tb SSD | 8 | Personal | $60 | $600 |
| Risers (varying length) | 10 | Amazon | $40-80 | $480 |
| Bifurcation cards | 3 | Amazon | $50 | $150 |
| 총계 | ~$17k | |||
| 문제점/안정성 보고서 | ||||
| 공간 문제: 이런 종류의 것을 시도할 때 가장 큰 장애물 중 하나는, 이론적으로라도 10개의 카드를 어떤 구성으로 상자 안에 넣을 수 있을지 알아내는 것입니다. 처음에는 개조된 마이닝 리그 프레임을 고려했지만, 구조적으로 더 견고하고, 통기성이 좋으며, 어느 정도의 휴대성을 허용하는 것을 원했습니다. 아쉽게도 제가 상상했던 것과 같은 구성에 대한 옵션은 많지 않았습니다. 다양한 캐비닛과 확장형 타워 케이스를 찾아봤지만, W200의 듀얼 풀 타워 챔버 디자인만이 이 아이디어가 잠재적으로 작동할 수 있는 유일한 곳이었습니다. 다른 해결책이 존재할 것이고, 아마도 이동성을 허용하는 것일 수도 있지만, W200은 인클로저(enclosure), 공간 활용성(space real estate), 높은 공기 흐름(high air throughput), 그리고 반(半) 휴대성의 조건을 모두 충족하는 제가 찾을 수 있는 최고의 옵션이었습니다. 만약 구매 가능하다면, 공간 문제를 해결하기 위해 W200을 추천합니다. | ||||
| 분기화 문제: 이런 종류의 것을 조립할 때 마주칠 수 있는 다른 장애물 중 하나는 분기화 카드(bifurcation cards)와 관련될 수 있습니다. 이 카드는 제대로 작동하려면 특정 BIOS 설정에 의존하며, 모든 것이 연결되기 전에 이러한 설정을 갖추지 않으면 시스템이 멈춘 것처럼 아무 출력도 보이지 않거나 OS에서 카드가 인식되지 않을 수 있습니다. 슬롯에 GPU 하나만 먼저 넣고, 분기화 카드 없이 시작하세요. 그런 다음 BIOS로 들어가서 분할될 모든 슬롯을 수동으로 분기화 모드(bifurcation mode)로 설정하십시오. |
이 설정 과정에서 Above 4G Decoding이 활성화되어 있는지, Resizable BAR이 활성화되어 있는지, 그리고 SR-IOV가 활성화되어 있는지 확인하십시오. 이 설정은 Ubuntu 환경에서 여러 개의 GPU를 사용할 때 저에게 가장 안정적인 구성을 제공해 주었습니다. 만약 라이저(riser)를 사용한다면, 특히 세대가 혼합된 경우라면 시스템이 각 카드와 효과적으로 통신할 수 있도록 BIOS에서 각 PCIe 슬롯의 Gen(세대) 및 레인(lane) 속도를 수동으로 설정할 것을 강력히 권장합니다. 라이저의 Gen/속도를 대략 비슷하게 최적화하여, 특정 카드가 다른 카드들보다 느린 속도로 떨어지는 것을 방지하십시오. 이는 추론(inference) 성능에 아주 큰 영향을 미치지는 않지만, 모델 로드 시간(model load time)에는 매우 큰 영향을 미칩니다. 이 구성에서는 모든 카드가 항상 가능한 가장 빠른 Gen 대역폭으로 작동하지 않을 수도 있습니다. 하지만 200GB 이상의 모델을 평균적인 Gen 3/4 x8/x16 PCIe 속도로 로드하는 것이, 시스템이 임의로 결정하여 하나 또는 여러 개의 카드를 Gen 1 x1로 작동하게 두는 것보다 훨씬 눈에 띄게 빠를 것입니다.
전력 "문제": 전력 및 발열 우려 사항은 이 프로젝트에 대한 회의론 중 가장 큰 원인 중 하나라고 생각하기 때문에, 여기서 별도의 섹션으로 다룰 가치가 있다고 생각합니다. 공정하게 말해서, 대부분의 상황에서 그러한 우려는 이해할 수 있습니다. 만약 이 10개의 카드가 모두 지속적인 시간 동안 최대 TDP(열 설계 전력)에 근접하게 전력을 소모한다면, 부품이 녹아내릴 것입니다. 화재가 발생할 것이고, 이웃들이 난처한 질문을 던질 것입니다. 하지만 실제로 지속적인 부하 상태에서도 2900W PSU 용량 중 1400-1600W 정도만 사용되며, GPU 간 대역폭 병목 현상(inter-GPU bandwidth bottlenecks)이 이를 가능하게 합니다. 어떤 면에서는 이것이 카드의 전력을 제한하는 자연스러운 조절기 역할을 하며, 이는 그저 물리 법칙일 뿐이며 어떤 마법 같은 기술이 필요한 것이 아닙니다. MoE(Mixture of Experts) 모델이 GPU 스택에 샤딩(sharded)되어 있을 때, 각 순전파(forward pass)는 PCIe를 통한 모든 통신을 필요로 하므로, GPU들은 실제로 연산을 수행하는 시간보다 마지막 GPU로부터 정보를 기다리는 데 더 많은 시간을 소비하게 됩니다.
이는 모든 구성 요소가 최대 출력으로 작동할 때 필요한 수천 와트(Watts)를 감당하는 대신, LLM (대규모 언어 모델) 작동 시에는 1400-1600W 정도로 훨씬 관리하기 쉬운 수준이 된다는 것을 의미하며, 이는 20A/120V 회로(최대 2400W)에 안정적으로 수용될 수 있습니다. GPU 개별 단위로 보면 각 카드가 "저전력(underpowered)" 상태로 작동하므로 비효율적으로 들릴 수 있지만, 노드(node) 단위로 보면 (모든 카드가 "완전하게" 활용될 때의 4500W+ 대비 지속적인 ~1600W 사용) 매우 효율적이라고 주장할 수 있습니다. 예방 조치로서, 3090의 전력 제한(power limit)을 200W로, 메인 5090을 400W로 설정할 수도 있지만, 실제로 10장의 카드가 모두 LLM 작업에 할당되었을 때 3090은 약 100-120W만 소모하고 5090은 100W 미만을 소모하므로, 이 작업조차 필요하지 않을 수도 있습니다. 다음 섹션에서 다룰 클록 고정(clock locking) 설정은 안정성 문제를 피하기 위해 실질적으로 반드시 수행해야 하는 작업에 더 가깝습니다.
과도한 전력 스파이크 문제 (Transient Spike Problem, 안정성에 필수적): 기기를 조립한 후 바로 테스트에 뛰어들고 싶겠지만, 무시할 경우 문제를 일으킬 수 있는 간과하기 쉬운 설정이 있습니다. 기기에서 추론(inference)을 실행 중이라고 가정해 봅시다. 아마도 매우 큰 입력을 처리하거나 큰 출력을 생성하고 있을 것입니다. 그런데 생성 도중에 시스템이 갑자기 재부팅됩니다. 강제 종료(hard shut down)도 아니고, PSU(전원 공급 장치)의 OCP(과전류 보호)가 작동한 것도 아니며, 차단기가 내려간 것도 아닙니다. 또한 nvitop을 통해 확인했을 때 사고 직전 모든 카드가 TDP (열 설계 전력)의 25-33%만 사용하고 있었으므로, 겉보기에는 아무런 이유가 없어 보입니다.
설명: 10장의 고전력 GPU가 데이터 청크를 처리하기 위해 정확히 동시에 작동하기 시작할 때, (평균적으로) 카드가 풀 파워에 근접하게 전력을 소모하지 않더라도, 과도한 전력 스파이크(transient spikes)가 메인보드의 전압을 시스템 리셋을 유발할 정도로 떨어뜨릴 수 있습니다. 이에 대한 해결책은 간단합니다: 언더볼팅 (undervolt). nvidia-smi를 사용하여 3090의 클록을
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기