블로그 이미지
LanSaid

calendar

1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Recent Post

Recent Comment

Recent Trackback

Archive

2026. 1. 25. 02:16 Study/AI Orchestration

[마스터 매뉴얼] 5950X AI Hub & Build Factory 구축 가이드

이 매뉴얼은 5950X 노드가 AI 추론뿐만 아니라 GPU 가속 기반 유니티 빌드, C# 컴파일 검증, AI 리소스 생성, GitHub 자동 Push를 수행할 수 있도록 최적화된 설정값을 기록합니다.

Step 1. 하드웨어 구성 및 물리적 배치

듀얼 GPU 환경에서는 데이터 전송 병목을 줄이기 위한 슬롯 배치가 성능의 핵심입니다. 특히 GPU 0(5060 Ti)이 전체 추론 속도의 기준점이 됨을 명시합니다.

  • Main CPU: AMD Ryzen 9 5950X (16 Cores / 32 Threads)
  • Memory: 64GB DDR4
  • GPU 구성 (Total 32GB VRAM):
    • Slot 0 (Bottom/Primary): NVIDIA GeForce RTX 5070 Ti 16GB (메인 추론 분산 담당)
    • Slot 1 (Top/Secondary): NVIDIA GeForce RTX 5070 Ti 16GB (메인 추론 분산 담당)
  • Storage: 1TB NVMe SSD (vLLM 엔진 및 모델 웨이트), 8TB HDD (AI 학습 데이터, 생성 리소스, 빌드 아카이브)
  • OS: Native Ubuntu 24.04 (가속 성능 극대화)
  • Network: 2.5G LAN (1Gbps 스위치 허브 연결)

Step 2. 허깅페이스(Hugging Face) 및 GitHub 인증 설정

자동화된 모델 다운로드와 외부 코드 전송(Push)을 위한 필수 인증 단계입니다.

  1. Hugging Face 설정:
    • Token 생성: Settings > Access Tokens > New Token (Type: Read)
    • Name: 5950X-vLLM-Server
  2. GitHub CLI 설정:
    • 9950X3D 부재 시 자동 Push를 위해 Personal Access Token (PAT) 발급 필요.
    • gh auth login 명령어를 통해 5950X 노드에 권한 부여.

Step 3. OS 및 인프라 환경 (WSL2 Ubuntu & 개발 도구)

GPU 가속 추론과 C# 컴파일 검증을 위한 환경 설정입니다.

Bash
 
# 1. NVIDIA Container Toolkit 설치 (Docker GPU 연결)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

# 2. Docker 및 GitHub CLI 설치
sudo apt-get install -y docker.io github-cli
sudo systemctl start docker && sudo systemctl enable docker

# 3. Windows 호스트 측 설정 (추가)
# - Visual Studio 2026 Build Tools 설치 (MSBuild 및 C# 컴파일러 확보)
# - Unity CLI 설치 (GPU 가속 빌드 테스트용)

Step 4. vLLM 서버 구동 (최적화 커맨드)

32B 모델을 듀얼 GPU에 분산하여 16K 컨텍스트를 유지하는 최적의 설정입니다.

Bash
 
docker run -d --name vllm-server \
  --runtime nvidia \
  --gpus all \
  -e HUGGING_FACE_HUB_TOKEN="hf_your_token_here" \
  -p 8000:8000 \
  --ipc=host \
  -v /usr/lib/wsl:/usr/lib/wsl \
  -e LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH \
  vllm/vllm-openai:latest \
  --model Qwen/Qwen3-32B-AWQ \
  --tensor-parallel-size 2 \
  --max-model-len 16384 \
  --gpu-memory-utilization 0.90 \
  --trust-remote-code \
  --disable-log-requests

주의: gpu-memory-utilization 0.90은 WSL2 환경에서 다른 그래픽 작업(ComfyUI 등)과 충돌을 방지하고 VRAM 부족(OOM) 오류를 막는 가장 안정적인 수치입니다.




Step 5. 유지보수 및 자율 운영 모니터링

  • 성능 확인: nvidia-smi를 통해 두 GPU의 VRAM이 각각 약 15.6~15.9GB씩 균등하게 점유되었는지 확인.
  • 추론 속도: docker logs -f vllm-server에서 Avg generation throughput이 23.3 tokens/s 수준이면 정상.
  • 리소스 생성 관리: ComfyUI API를 통해 생성된 리소스가 8TB HDD에 정상적으로 적재되는지 확인.
  • GitHub 연동: 9950X3D가 꺼진 상태에서 5950X가 git push를 성공적으로 수행하는지 테스트.

[벤치마킹 리포트] 5950X AI Hub 성능 검증

1. 벤치마킹 수행 절차

  1. 연결성 테스트: 9950X3D 및 5600G(n8n) 노드와의 API 호출 성공 여부 확인.
  2. 부하/컴파일 테스트: 1,700토큰 분량의 C# 코드를 생성하고, 5950X 내 MSBuild를 통해 컴파일 성공 여부 확인.
  3. 리소스 생성 병행 테스트: vLLM 추론 중 ComfyUI를 통한 이미지 생성 시 간섭 여부 측정.

2. 벤치마킹 결과 (Qwen3-32B-AWQ 기준)

항목 측정치 평가
첫 토큰 지연 시간 (TTFT) 약 1.5초 사용자가 엔터를 친 후 반응까지 매우 신속함
평균 생성 속도 (TPS) 23.3 tokens/s 32B 모델 기준 로컬 최상위권 성능
최대 컨텍스트 길이 16,384 tokens 대규모 유니티 소스 코드 전체 분석 가능
VRAM 점유율 (GPU 0 / 1) 15.6GB / 15.6GB Tensor Parallel=2를 통해 정밀하게 분산됨
전력 소모 및 온도 Peak 202W / 57°C 듀얼 GPU 부하 상황에서도 안정적인 온도 유지

3. 타 시스템과의 비교 및 가치 분석

  • vs 단일 RTX 4090: 4090은 속도가 빠르나 VRAM(24GB) 한계로 32B 모델의 16K 컨텍스트 유지가 어렵습니다. 본 시스템은 32GB VRAM 확보를 통해 '지능의 깊이' 면에서 우위에 있습니다.
  • 23.3 TPS의 실전 의미: 1,758 토큰의 복잡한 로직을 약 75초 만에 작성하며, 이는 사람이 수동으로 작성하고 검토하는 시간을 95% 이상 단축합니다.

[향후 재검증 방법 (Check-list)]

시스템 재구축 후 성능 저하가 의심될 때 다음을 확인하십시오.

  1. 로그 확인: docker logs에서 TPS가 20.0 미만으로 떨어지는가?
  2. 슬롯 대역폭: GPU가 물리적으로 재배치되어 PCIe 레인 수가 제한(x4 등)되지 않았는가?
  3. 컴파일 환경: MSBuild(Visual Studio 2026) 경로가 환경 변수에 올바르게 등록되어 있는가?
  4. GitHub 권한: PAT(Personal Access Token)가 만료되어 자동 Push가 실패하고 있지 않은가?

 

* 2026.1.25 수정

지능보다는 프로젝트 코드를 최대한 많이 전달하기 위해 컨텍스트 크기를 늘리는 방향으로 결정.
모델을 2.5로 교체하고 컨텍스트 크기를 28k로 늘림. (32k 시도했으나 모델로드 성공 후 kv캐시 구축 등에서 실패했었음)
결론 : 코더로서의 성능은 좋은데 언어(한국어, 중국어 등이 문제가 됨) 문제로 원래 모델로 돌림.

docker run -d --name vllm-server \
  --runtime nvidia \
  --gpus all \
  -e CUDA_DEVICE_ORDER=PCI_BUS_ID \
  -e VLLM_USE_V1=0 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  -v /usr/lib/wsl:/usr/lib/wsl \
  -e LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH \
  -p 8000:8000 \
  --ipc=host \
  vllm/vllm-openai:latest \
  --model Qwen/Qwen2.5-Coder-32B-Instruct-AWQ \
  --tensor-parallel-size 2 \
  --max-model-len 28000 \
  --gpu-memory-utilization 0.90 \
  --trust-remote-code \
  --disable-log-requests


 

posted by LanSaid