본문 바로가기

LLM

DeepSeek V4 로컬 실행 완전분석

반응형

DeepSeek가 2026년 4월 V4 계열을 MIT 라이선스로 공개했을 때 개발자 커뮤니티가 들썩였습니다. 프론티어급 성능을 다운로드해서 내 서버에서 돌릴 수 있다는 얘기였으니까요. 근데 막상 하드웨어 요구사항을 보면 현실이 좀 다릅니다. 무엇이 가능하고 무엇이 불가능한지, 직접 정리했습니다.


핵심 요약

먼저 DeepSeek V4 계열 구조부터 파악해야 혼란이 없습니다. V4-Pro는 총 1.6조 파라미터에 추론 시 49B만 활성화하는 MoE 구조고, V4-Flash는 총 284B에 추론 시 13B가 활성화됩니다. 둘 다 MIT 라이선스로 HuggingFace에서 무료로 내려받을 수 있고 1M 토큰 컨텍스트를 지원합니다.

문제는 "MIT 라이선스라 공짜"와 "내 PC에서 돌릴 수 있다"가 완전히 다른 얘기라는 점입니다. V4-Flash의 Q4 양자화 파일이 172GB고, 안정적으로 돌리려면 실질적으로 192GB 이상의 VRAM이 필요합니다. V4-Pro는 그보다 훨씬 큽니다. 즉, 일반 개발자가 V4 전체를 로컬에서 돌리는 건 2026년 6월 기준으로 현실적이지 않습니다.

그렇다면 일반 개발자에게 현실적인 선택지는 DeepSeek R1 Distill 계열입니다. V4의 추론 패턴을 14B, 32B 같은 소형 모델에 증류한 버전으로, RTX 3090 한 장이나 Apple M2 Max에서 돌아갑니다. Ollama로 명령어 하나면 끝나고, 코딩 작업 기준으로는 GPT-4o와 충분히 비교되는 출력이 나옵니다.

서버급 GPU가 있는 팀이라면 V4-Flash를 vLLM이나 SGLang으로 돌릴 수 있습니다. H200 두 장(약 $7.18/hr)이 V4-Flash의 스윗스팟이고, RunPod 같은 클라우드 GPU 서비스를 쓰면 서버 없이도 테스트할 수 있습니다. Ollama나 llama.cpp는 아직 V4 아키텍처를 안정 지원하지 않으므로 V4 전체 모델에는 vLLM 또는 SGLang을 써야 합니다.

벤치마크 성능은 솔직히 인상적입니다. V4-Pro는 Codeforces에서 3,206 Elo를 찍어 Claude Opus 4.7과 Gemini 3.1 Pro를 앞질렀고, 장문 컨텍스트 검색(MRCR)에서도 오픈소스 모델 중 1위입니다. 단 1M 컨텍스트에서의 정확도가 66%까지 떨어지므로, 실전에서는 128K~512K 범위에서 쓰는 게 안전합니다.


실전 1: 일반 개발자용 — Ollama로 R1 Distill 실행

대부분의 개발자에게 가장 현실적인 시작점은 DeepSeek R1 14B Distill입니다. RTX 3090이나 Apple M-시리즈 맥에서 Q4 양자화로 9GB 정도 잡아먹고, 코딩 추론 품질은 크기 대비 상당히 높습니다. Ollama 설치가 돼 있으면 아래 명령어 하나로 끝납니다.

하드웨어별 추천 모델 크기를 먼저 잡아야 나중에 OOM 에러로 시간을 버리지 않습니다. RTX 3090(24GB)이나 M2 Max(32GB 통합 메모리)는 14B Q4가 딱 맞고, RTX 4090(24GB) 두 장이나 M3 Ultra(96GB 이상)라면 32B까지 올릴 수 있습니다.

# Ollama 설치 (macOS / Linux)
curl -fsSL https://ollama.com/install.sh | sh

# 하드웨어별 모델 선택
# RTX 3090 / Apple M2 Max (24~32GB) → 14B 추천
ollama run deepseek-r1:14b

# RTX 4090 x2 / M3 Ultra (48GB+) → 32B 가능
ollama run deepseek-r1:32b

# 노트북 / 저사양 (8~16GB RAM) → 7B 또는 8B
ollama run deepseek-r1:8b

# 첫 실행 시 모델 자동 다운로드 (14B 기준 약 9GB)
# 이후 실행은 로컬 캐시에서 즉시 로드

처음 실행하면 모델 파일을 다운로드합니다. 14B 기준 약 9GB라서 5~10분 정도 걸립니다. 다운로드가 끝나면 터미널에서 바로 대화가 시작되고, 이후에는 오프라인에서도 완전히 동작합니다.


실전 2: Python으로 연동하기

Ollama는 OpenAI API와 호환되는 로컬 서버를 localhost:11434에 띄워줍니다. 기존 OpenAI 클라이언트 코드에서 base_url과 model만 바꾸면 그대로 씁니다. API 키는 아무 문자열이나 넣으면 됩니다.

DeepSeek R1의 특징은 <think> 태그로 감싼 내부 추론 과정을 출력한다는 점입니다. 최종 답변만 필요하다면 이 부분을 파싱해서 제거하는 처리가 필요합니다.

from openai import OpenAI
import re

# Ollama 로컬 서버 연결
client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # 아무 값이나 가능
)

def ask_deepseek(prompt: str, show_thinking: bool = False) -> str:
    """DeepSeek R1에 질문하고 답변을 반환합니다."""
    response = client.chat.completions.create(
        model="deepseek-r1:14b",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.6,
        max_tokens=4096
    )
    
    full_response = response.choices[0].message.content
    
    # <think> 태그 내부 추론 과정 분리
    think_pattern = re.compile(r'<think>(.*?)</think>', re.DOTALL)
    thinking = think_pattern.findall(full_response)
    final_answer = think_pattern.sub('', full_response).strip()
    
    if show_thinking and thinking:
        print("=== 추론 과정 ===")
        print(thinking[0][:500])
        print("\n=== 최종 답변 ===")
    
    return final_answer

# 코딩 테스트
result = ask_deepseek(
    "Python으로 퀵소트를 구현하고 시간복잡도를 설명해줘.",
    show_thinking=True
)
print(result)

show_thinking=True로 실행하면 DeepSeek이 어떻게 접근했는지 추론 과정을 먼저 보여주고 최종 답변을 출력합니다. 복잡한 알고리즘 문제나 디버깅 요청에서 추론 과정이 실제로 도움이 됩니다.


실전 3: 서버급 — vLLM으로 V4-Flash 실행

H200이나 A100 80GB 같은 서버급 GPU가 있다면 V4-Flash 전체 모델을 돌릴 수 있습니다. vLLM이 Day-0부터 공식 지원하므로 별도 패치 없이 안정적으로 동작합니다. V4-Flash의 스윗스팟은 H200 두 장으로, VRAM 282GB에 V4-Flash를 편하게 올릴 수 있습니다.

RunPod 같은 클라우드 GPU 서비스를 쓰면 서버 없이도 테스트할 수 있고, H200 두 장 기준 시간당 약 $7.18입니다.

# vLLM 설치 (CUDA 환경)
pip install vllm>=0.9.0

# HuggingFace에서 V4-Flash 가중치 다운로드 (약 160GB, 시간 많이 걸림)
pip install huggingface_hub
huggingface-cli download deepseek-ai/DeepSeek-V4-Flash \
  --local-dir ./models/DeepSeek-V4-Flash \
  --resume-download  # 중단 시 이어받기 필수

# vLLM으로 서버 실행 (H200 x2 기준)
vllm serve deepseek-ai/DeepSeek-V4-Flash \
  --tensor-parallel-size 2 \
  --max-model-len 131072 \
  --quantization fp4_mixed \
  --port 8000

# 단일 GPU (RTX 4090 x2, CPU 오프로딩 포함) — 속도 2~5배 느림
pip install ktransformers
python -m ktransformers.server \
  --model deepseek-ai/DeepSeek-V4-Flash \
  --offload-strategy moe-cpu \
  --gpu-memory-limit 48G \
  --port 8200

--resume-download 플래그가 중요합니다. V4-Flash가 160GB라서 다운로드 중 끊길 가능성이 높고, 이 플래그 없이 재시도하면 처음부터 다시 받아야 합니다. fp4_mixed 양자화는 experts를 FP4로, attention을 FP8로 처리하는 방식인데, 실용적인 코딩·추론 작업에서 품질 손실은 1~3% 수준으로 체감하기 어렵습니다.


실전 4: GPU 없는 환경 — KTransformers로 CPU 오프로딩

GPU가 부족할 때 쓸 수 있는 방법이 KTransformers입니다. MoE 모델의 expert 레이어를 시스템 RAM으로 오프로드하고 attention과 라우팅은 GPU에 남겨두는 방식입니다. RTX 3090(24GB VRAM) 한 장에 시스템 RAM 128GB 이상이 있으면 V4-Flash를 돌릴 수 있습니다.

속도는 2~5배 느려지지만, 수백만 원짜리 고성능 서버 없이 V4 전체 모델을 테스트할 수 있다는 점에서 의미가 있습니다.

# KTransformers 설치 후 Python으로 추론
from openai import OpenAI

# KTransformers 서버 (port 8200)
client = OpenAI(
    base_url="http://localhost:8200/v1",
    api_key="ktransformers"
)

response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V4-Flash",
    messages=[
        {
            "role": "user", 
            "content": "LangGraph와 CrewAI의 차이점을 코드 예시와 함께 설명해줘"
        }
    ],
    max_tokens=2048,
    temperature=0.7
)

print(response.choices[0].message.content)

응답 속도가 느리기 때문에 인터랙티브한 채팅보다는 배치 처리나 비동기 작업에 맞습니다. 하드웨어 투자 없이 V4의 출력 품질을 먼저 검증하고 싶을 때 유용합니다.


하드웨어별 현실 정리

직접 테스트하거나 커뮤니티 결과를 취합한 하드웨어별 현실 가이드입니다. 어떤 모델이 내 환경에서 돌아가는지 미리 파악해두면 OOM 에러로 시간을 낭비하지 않습니다.

RTX 3090 한 장(24GB)이나 Apple M2 Max(32GB 통합메모리)는 DeepSeek R1 14B Q4가 가장 실용적인 선택입니다. 토큰 생성 속도는 vLLM 기준 약 25~35 토큰/초 정도 나옵니다. RTX 4090 두 장(48GB)은 R1 32B나 KTransformers를 통한 V4-Flash CPU 오프로딩이 가능하지만 속도가 많이 떨어집니다. H200 두 장(282GB HBM3e)부터 V4-Flash 전체가 안정적으로 돌아가고, V4-Pro는 H200 여덟 장 이상이 필요합니다.


마무리

DeepSeek V4를 MIT 라이선스로 공개한 건 분명 큰 사건이지만, "무료로 다운로드 가능"과 "내 노트북에서 돌아간다"는 완전히 다른 얘기입니다. 일반 개발자라면 R1 Distill 14B를 Ollama로 돌리는 게 가장 현실적이고 즉각 생산성에 도움이 됩니다. 서버급 인프라가 있다면 V4-Flash를 vLLM으로 돌리면 토큰 비용 없이 준프론티어 성능을 자체 인프라에서 운용할 수 있습니다. Ollama의 V4 안정 지원이 아직 없다는 점, 1M 컨텍스트에서의 실질 정확도가 66%라는 점은 프로덕션 적용 전에 반드시 알고 들어가야 합니다. DeepSeek의 릴리즈 속도가 어마어마하게 빠르므로 이 글보다 더 빠르게 상황이 바뀔 수 있습니다.

 

반응형