본문 바로가기

AI·LLM 엔지니어링

로컬 LLM 구축 2편: GPU 서버 사양·인프라 구성 실전 가이드

반응형

요약: 사내 LLM 서버를 구성할 때 필요한 GPU, CPU, 메모리, NVMe, 네트워크 기준을 운영 관점에서 정리합니다.

대상 독자: LLM 서버 장비를 구매하거나 GPU 인프라 사양을 산정해야 하는 담당자

핵심 키워드: LLM GPU 서버, AI 서버 사양, GPU 메모리, NVMe, 사내 AI 인프라

반응형

 

로컬 LLM 구축 가이드 (2편)

고성능 서버(GPU) 환경 구축 기반 편

vLLM + GGUF + FastAPI 문서검색 AI를 위한 실제 서버 구성 전략

1편에서는 전체 구조와 RAG 시스템 구성 방법을 다뤘습니다.
2편에서는 실제로 어떤 GPU 서버를 선택하고, 어떻게 설정하며,
vLLM 성능을 극대화하는 구성법을 실무형으로 정리합니다.


 1. 사내 LLM 서버에 필요한 핵심 요구사항

로컬 LLM을 안정적으로 운영하려면 다음 세 가지를 반드시 만족해야 합니다.

✔ 1) 충분한 GPU 메모리

  • 8B 모델: 12~16GB
  • 13B 모델: 20~24GB
  • 70B 모델(GGUF): 48GB 이상 권장
  • 70B FP16(비현실적): 140GB 이상

GGUF 사용 기준:

모델 Q4_K_M 기준 메모리 요구량

Llama3.1 8B 약 4~5GB
Llama3.1 13B 약 8~10GB
Llama3.1 70B 약 38~45GB

✔ 2) PCIe Gen4 혹은 Gen5

벡터 DB 검색과 LLM 호출이 동시에 일어나면 DMA 전송량이 커지므로
PCIe 3.0 서버는 절대 추천하지 않음.


✔ 3) 충분한 CPU + NVMe 스토리지

  • CPU: 최소 16코어 이상 (embedding 서버 부하 포함)
  • NVMe: 3~4GB/s 이상

특히 embedding 서버가 같은 머신에서 돌면 CPU 병목이 자주 발생함.


 2. 실무에서 가장 많이 쓰는 GPU 조합

아래는 실제 엔터프라이즈 구축 시 가장 많이 채택된 조합입니다.

✔ 조합 A: RTX 5090 단일 서버 (추천)

  • VRAM: 32GB
  • 목적:
    • 8B~13B 모델 고속 처리
    • 70B 모델은 Q4/K_M로 겨우 로딩 가능, 여유는 부족
  • 장점: 전력비 절감 + vLLM 성능 매우 우수
  • 용도: 일반 기업의 사내 검색 LLM 구축에 가장 적합

✔ 조합 B: RTX 5080 2~4장 구성

  • VRAM: 16GB × n
  • 장점: tensor parallel로 70B 모델 안정 로딩
  • 단점: 5080 자체가 서버용 설계가 아니라 발열 관리 필요
  • 추천 상황: 예산은 적지만 70B 모델이 반드시 필요한 경우

✔ 조합 C: NVIDIA L40S × 2

  • VRAM: 48GB × 2
  • vLLM에서 가장 안정성이 높음
  • 장점:
    • 발열 안정
    • 데이터센터용
    • FP8/FP16 속도 우수
  • 단점: 고가
  • 추천 상황: 은행·공공기관 고가용성 환경

✔ 조합 D: H100/H200 (기업 R&D용)

  • 현실적으로 너무 비싸므로 일반 기업 환경에서는 비권장
  • 학습까지 고려하는 특수한 경우만 선택

 3. 사내 LLM 서버 기본 구성 예시(추천)

아래는 실제 구축 경험에서 가장 비용/성능 균형이 탁월했던 구성입니다.

🔧 서버 스펙 예시

항목 권장 사양

CPU AMD Threadripper 7960X 또는 Intel Xeon Gold
RAM 128GB
GPU RTX 5090 × 1
Storage 2TB NVMe (Gen4)
NIC 10GbE 이상
OS Ubuntu 22.04 LTS
CUDA 12.1 또는 12.4
Python 3.10 이상

 4. vLLM 성능 최적화 설정

vLLM은 GPU 자원을 최대한 활용해야 성능이 나오므로
실무에서 가장 많이 쓰는 옵션을 정리했다.

✔ 기본 실행 스크립트 (추천)

python3 -m vllm.entrypoints.openai.api_server \
 --model ./llama-3.1-70b.q4_k_m.gguf \
 --gpu-memory-utilization 0.9 \
 --tensor-parallel-size 1 \
 --max-model-len 16384 \
 --port 8000 \
 --dtype auto \
 --host 0.0.0.0

옵션 설명

  • --gpu-memory-utilization 0.9
    → GPU 메모리를 거의 끝까지 활용
  • --tensor-parallel-size
    → GPU 여러 장 사용 시 반드시 조절
  • --max-model-len
    → 문서가 긴 RAG 시스템에서 매우 중요
  • --dtype auto
    → GGUF 모델은 자동으로 최적 dtype 선택

 5. FastAPI 서버에 필요한 운영 설정

✔ gunicorn + uvicorn Workers 구성

gunicorn app:app \
  --workers 4 \
  --worker-class uvicorn.workers.UvicornWorker \
  --bind 0.0.0.0:9000

✔ embedding 서버 분리

  • embedding 모델이 CPU 부하를 많이 먹음
  • 서버 분리만 해도 응답속도 최소 25~40% 개선

 6. 운영 중 실제 문제 & 해결 경험

✔ 문제 1: vLLM이 뜬금없이 느려짐

원인: CPU fallback 발생
해결:

  • CUDA 버전 재정렬
  • GPU 드라이버 최신화
  • --disable-log-requests 옵션 켜기

✔ 문제 2: 서버 부팅 후 첫 요청이 매우 느림

원인: 모델 warm-up이 없었음
해결:

  • 서버 시작 시 dummy 프롬프트 자동 입력

✔ 문제 3: 메모리 부족으로 vLLM 서버 다운

원인: 모델 로딩 시 다른 서비스와 메모리 충돌
해결:

  • swap 64GB 추가
  • embedding 서버 분리
  • GPU 로딩 옵션 재조정

 7. 실전 팁 3가지

💡 팁 1: GPU 메모리는 “여유 15~20%”가 있어야 한다

vLLM 모델은 압축해도 추가 버퍼 메모리를 사용하므로
정확히 맞추면 실패함.


💡 팁 2: embedding 서버는 단독 머신이 가장 좋다

CPU+RAM을 강하게 쓰기 때문에
LLM 서버와 공유하면 병목 발생.


💡 팁 3: 서버는 무조건 Ubuntu 22.04 LTS 권장

  • CUDA 호환성 최고
  • vLLM 지원 안정
  • 패키징 충돌 최소

CentOS, Rocky 리눅스는 GPU 드라이버 문제가 잦다.

 

 

반응형
좋아요공감
공유하기
URL 복사카카오톡 공유페이스북 공유엑스 공유
통계
게시글 관리

'AI·LLM 엔지니어링' 카테고리의 다른 글

〈LangChain 기반 RAG 시스템 구축〉 2편 : 임베딩 & 벡터DB 구축  (0)〈LangChain 기반 RAG 시스템 구축〉 1편: 데이터 준비 파이프라인 구축  (0)로컬 LLM 서버 구축 가이드: vLLM, GGUF, FastAPI로 사내 AI API 만들기  (0)3편 로컬 LLM 구축 가이드 – RAG 성능 최적화 + 평가 지표  (0)1편 로컬 LLM 구축 가이드 - vLLM + GGUF + FastAPI로 만드는 사내 AI 시스템  (0)
2025.11.27
2025.11.27
2025.11.27
2025.11.27
2025.11.26

실무 적용 체크리스트

점검 항목운영 기준

GPU 메모리 모델 크기와 동시 요청 수를 기준으로 VRAM 산정
스토리지 모델 파일과 벡터 인덱스 로딩을 고려해 NVMe 우선 검토
확장성 PCIe, 전원, 발열, 랙 공간을 장비 선정 단계에서 확인
운영 안정성 드라이버, CUDA, 컨테이너 런타임 버전을 고정

자주 묻는 질문

로컬 LLM 서버는 GPU가 반드시 필요한가요?

운영용 응답 속도가 필요하다면 GPU가 사실상 필수입니다. CPU만으로도 가능하지만 응답 지연이 커질 수 있습니다.

VRAM은 어느 정도가 적당한가요?

7B 양자화 모델은 낮은 VRAM에서도 가능하지만, 13B 이상 또는 동시 요청이 있다면 24GB 이상을 우선 검토하는 편이 안전합니다.

서버 구매 전에 무엇을 먼저 정해야 하나요?

모델 크기, 동시 사용자 수, 목표 응답 시간, RAG 사용 여부를 먼저 정해야 과투자와 성능 부족을 줄일 수 있습니다.

함께 읽으면 좋은 글

📗 로컬 LLM 구축 시리즈 (전 4편)
  1. 1편 — vLLM·GGUF·FastAPI로 사내 AI 서버 만들기
  2. 2편 — GPU 서버 사양과 환경 구축 (현재 글)
  3. 3편 — RAG 성능 최적화와 평가 지표
  4. 4편 — vLLM 모델 서빙 & API 구축 심화
반응형