일반

개인 서버로 LLM 돌리기 – Ollama + RTX 3090 실전 구축기

RTX 3090과 Ollama를 활용해 로컬 LLM 서버를 구축한 실전 경험기. 설치 방법, 성능 벤치마크, 운영 비용까지 정리했습니다.

·4 min read
#일반

왜 로컬 LLM을 돌리게 됐나

API 비용이 월 15만 원을 넘기 시작하면서 "이거 그냥 내 서버에서 돌리면 안 되나?"라는 생각이 들었습니다. 마침 중고로 RTX 3090을 55만 원에 구할 수 있었고, 기존에 놀고 있던 데스크탑에 꽂아서 로컬 LLM 서버를 만들어봤습니다.

하드웨어 구성

제가 사용한 스펙입니다:

  • CPU: AMD Ryzen 5 5600X

  • RAM: 64GB DDR4 (기존 32GB에서 증설)

  • GPU: NVIDIA RTX 3090 24GB (중고)

  • SSD: 1TB NVMe (모델 저장용)

  • OS: Ubuntu 22.04 LTS

RAM은 최소 32GB 권장합니다. 모델 로딩 시 VRAM 외에 시스템 메모리도 꽤 먹거든요. 저는 여유롭게 64GB로 갔습니다.

Ollama 설치 및 설정

Ollama 설치는 놀라울 정도로 간단합니다:

`curl -fsSL https://ollama.com/install.sh | sh

설치 확인

ollama --version

첫 모델 다운로드 (Llama 3.3 70B 양자화 버전)

ollama pull llama3.3:70b-q4_K_M

실행

ollama run llama3.3:70b-q4_K_M` 70B 모델의 Q4 양자화 버전이 RTX 3090 24GB에 딱 맞습니다. Q5로 올리면 VRAM이 부족해서 일부가 CPU로 오프로딩되고, 속도가 확 느려집니다.

API 서버로 설정하기

Ollama는 기본적으로 localhost:11434에서 API를 제공합니다. 외부 접근을 허용하려면:

`# /etc/systemd/system/ollama.service 수정 [Service] Environment="OLLAMA_HOST=0.0.0.0:11434"

서비스 재시작

sudo systemctl daemon-reload sudo systemctl restart ollama

방화벽 설정

sudo ufw allow 11434/tcp` 보안을 위해 리버스 프록시(nginx) + API 키 인증을 추가하는 걸 강력 권장합니다. 저는 Caddy로 설정했는데, 자동 HTTPS까지 되니까 편합니다.

실제 성능은?

Llama 3.3 70B Q4 기준 벤치마크입니다:

  • 첫 토큰 생성 시간(TTFT): 약 1.2초

  • 토큰 생성 속도: 약 18 토큰/초

  • 동시 요청 2개: 속도 약 40% 감소

솔직히 Claude 4 API보다는 느립니다. 하지만 개인 프로젝트나 사내 챗봇 용도로는 충분합니다. 코드 리뷰 보조 도구로 쓰고 있는데, 응답 품질도 꽤 만족스럽습니다.

한 달 운영 비용

전기세만 계산해보면 GPU 풀로드 시 약 350W, 대기 시 약 80W입니다. 하루 평균 4시간 사용 기준 월 전기세 약 1.5만 원 정도 나옵니다. API 비용 15만 원 대비 1/10이니 초기 투자비를 4개월이면 회수합니다.

삽질 포인트

가장 고생한 부분은 CUDA 드라이버 버전 호환성이었습니다. Ubuntu 22.04 기본 패키지 매니저로 설치하면 구 버전이 들어가서, NVIDIA 공식 사이트에서 직접 받아야 합니다. 그리고 RTX 3090이 2슬롯 이상 차지하는 거대한 카드라서, 케이스 호환성도 미리 확인하세요.

데이터 프라이버시가 중요한 프로젝트가 있다면 로컬 LLM은 정말 좋은 선택입니다. 직접 해보니 생각보다 진입장벽이 낮았습니다.

관련 글