DeepSeek V3를 로컬에서 실행하기: 개발자 가이드

DeepSeek V3를 로컬에서 실행하기: 개발자 가이드

주요 내용

DeepSeek-V3는 코딩 및 수학과 같은 기술 분야에서 뛰어난 성능을 발휘하는 혁신적인 오픈소스 모델입니다.

로컬 배포는 유연성을 제공하지만, 고급 하드웨어와 전문 지식이 필요합니다.

더 쉬운 접근을 위해 Novita AI와 같은 API 솔루션이 확장 가능한 대안을 제공합니다.

DeepSeek V3는 특히 기술 및 수학 분야에서 인상적인 성능으로 큰 주목을 받고 있는 고급 AI 모델입니다. ChatGPT와 같은 모델의 오픈소스 대안으로서 개발자와 연구자에게 매력적인 옵션을 제공합니다. 이 글에서는 DeepSeek V3에 로컬로 접근하는 방법에 대한 상세 가이드를 제공하며, 다양한 배포 방법, 하드웨어 요구 사항, 문제점 및 최적화 전략을 다룹니다.

DeepSeek V3 로컬 접근 방법

1. GitHub (DeepSeek-Infer Demo)

가이드

  • 저장소: DeepSeek-V3 모델은 GitHub에서 코드 저장소로 확인할 수 있습니다.
  • 클론: LFS 지원을 포함하여 저장소를 클론합니다:
git clone https://github.com/deepseek-ai/DeepSeek-V3.git
cd DeepSeek-V3/inference
  • 격리 환경 (권장): conda를 사용하여 격리 환경을 생성합니다:
conda create -n deepseek-v3 python=3.10 -y
conda activate deepseek-v3
  • 의존성: 버전 고정을 포함하여 의존성을 설치합니다:
pip install torch==2.4.1 triton==3.0.0 transformers==4.46.3 safetensors==0.4.5
  • 모델 가중치: Hugging Face에서 모델 가중치를 다운로드하여 지정된 디렉토리에 배치합니다.
  • 고급 변환: 모델 가중치를 특정 형식으로 변환하여 FP8 양자화를 활성화합니다:
python convert.py \
  --hf-ckpt-path ./DeepSeek-V3 \
  --save-path ./DeepSeek-V3-Demo \
  --n-experts 256 \
  --model-parallel 16 \
  --quant-mode fp8
  • 실행 모드:

    • 대화형 채팅 (멀티 노드):
torchrun --nnodes 2 --nproc-per-node 8 \
  generate.py \
  --ckpt-path ./DeepSeek-V3-Demo \
  --config configs/config_671B.json \
  --temperature 0.7 \
  --top-p 0.95 \
  --max-new-tokens 2048
  • 배치 처리:
torchrun --nproc-per-node 8 \
  generate.py \
  --input-file batch_queries.jsonl \
  --output-file responses.jsonl

장점

  • 빠른 프로토타이핑: 기본 추론까지 5분 미만 설정
  • 메모리 효율성: BF16 기준 대비 VRAM 사용량 40% 감소
  • 연구 친화적: 중간 레이어에 직접 접근 가능

단점

  • 제한된 확장성: 모델 병렬 처리에서 최대 16노드
  • 배치 미지원: 대화형 모드 사용 시 단일 시퀀스 처리
  • 수동 양자화: 명시적 FP8 변환 필요

2. SGLang

설명

  • 프레임워크: SGLang은 DeepSeek V3를 지원하는 프레임워크로, NVIDIA 및 AMD GPU 모두에 최적화된 성능을 제공합니다.
  • 추론 모드: BF16 및 FP8 추론 모드 모두에서 DeepSeek-V3를 완전히 지원합니다.
  • 병렬 처리: 멀티 노드 텐서 병렬 처리를 지원하여 여러 대의 연결된 머신에서 모델을 실행할 수 있습니다.
  • 최적화:
from sglang import runtime

# 하이브리드 병렬 처리 활성화
runtime.configure(
    tensor_parallel=8,
    pipeline_parallel=4,
    expert_parallel=2
)

# FP8 추론 프로필
runtime.set_precision(
    weight=8,
    activation=8,
    kv_cache=8
)

장점

  • 프로덕션 준비: 99.9% 가동 시간 SLA 지원
  • 하드웨어 독립적: AMD Instinct용 ROCm/HIP 지원
  • 고급 양자화: 자동 FP8 스케일링
  • 동적 배치: 기준 대비 5배 처리량
  • 추측 디코딩: MTP 사용 시 2.3배 속도 향상
  • 크로스 플랫폼 지원: NVIDIA/AMD GPU용 통합 API

단점

  • 복잡한 배포: Kubernetes 전문 지식 필요
  • 메모리 오버헤드: 네이티브 구현 대비 15% 더 높음
  • 제한된 사용자 정의: 불투명한 전문가 라우팅

3. LMDeploy

설명

  • 프레임워크: LMDeploy는 DeepSeek V3를 지원하는 또 다른 프레임워크로, 대규모 언어 모델의 효율적인 추론 및 서빙을 위해 설계되었습니다.
  • 배포 옵션: 오프라인 및 온라인 배포 기능을 모두 제공합니다.
  • 통합: PyTorch 기반 워크플로우와 통합됩니다.
  • TurboMind 통합:
from lmdeploy import pipeline, GenerationConfig

# 4-way 텐서 병렬 처리 초기화
pipe = pipeline(
    "DeepSeek-V3",
    tp=4,
    max_batch_size=32,
    cache_max_entry_count=0.5
)

# 생성 매개변수 구성
gen_config = GenerationConfig(
    temperature=0.8,
    top_k=50,
    repetition_penalty=1.1,
    stop_phrases=&#91;"<|EOT|>"]
)

장점

  • 엔터프라이즈 기능: RBAC, 속도 제한
  • 최적화된 커널: H100당 초당 1536 토큰
  • 클라우드 네이티브: Prometheus 모니터링 통합
  • 연속 배치: 동적 요청 그룹화
  • 토큰 힐링: 자동 완성 수정
  • 멀티 LoRA 지원: 어댑터 핫 스와핑

단점

  • 가파른 학습 곡선: 복잡한 구성 구문
  • 리소스 집약적: 전체 기능을 위해 최소 8x H100 필요
  • 벤더 종속: NVIDIA GPU 필요

하드웨어 요구 사항

deepseek hardware requirements

문제점 및 최적화

challenges

대안: API

API가 해결하는 문제는 무엇인가요?

높은 VRAM 요구 사항

  • API 솔루션: 전체 해상도
  • 기술 구현: 서버 측 클러스터 리소스 풀링

메모리 병목 현상

  • API 솔루션: 완전 제거
  • 기술 구현: 서버 노드의 동적 메모리 할당

멀티 GPU 확장의 복잡성

  • API 솔루션: 자동 처리
  • 기술 구현: 클라우드 네이티브 수평 자동 확장

운영체제 간 호환성 문제

  • API 솔루션: 기본 지원
  • 기술 구현: 표준화된 HTTP/WebSocket 인터페이스

추론 지연 시간

  • API 솔루션: 부분적 개선
  • 기술 구현: 엣지 컴퓨팅 노드 + 글로벌 가속

배포 복잡성

  • API 솔루션: 완전 제거
  • 기술 구현: 한 줄 통합으로 사전 빌드된 SDK

양자화 정확도 손실

  • API 솔루션: 선택적 우회
  • 기술 구현: 서버 측 FP16 정밀도 유지

불투명한 전문가 라우팅

  • API 솔루션: 완전한 투명성
  • 기술 구현: 실시간 라우팅 진단 API

훌륭한 솔루션: Novita AI

Novita AI는 개발자가 간단한 API를 통해 AI 모델을 쉽게 배포할 수 있도록 지원하는 AI 클라우드 플랫폼이며, 합리적인 가격의 안정적인 GPU 클라우드로 확장 및 구축을 지원합니다.

1단계: 로그인 및 모델 라이브러리 접속

계정에 로그인하고 Model Library 버튼을 클릭합니다.

Log In and Access the Model Library

2단계: 모델 선택

사용 가능한 옵션을 탐색하여 필요에 맞는 모델을 선택합니다.

choose models

지금 DeepSeek V3 데모 사용해보기!

3단계: 무료 체험 시작

선택한 모델의 기능을 살펴보기 위해 무료 체험을 시작합니다.

free trail

4단계: API 키 받기

API 인증을 위해 새 API 키를 제공합니다. Settings 페이지로 이동하여 이미지에 표시된 대로 API 키를 복사할 수 있습니다.

get api key

5단계: API 설치

프로그래밍 언어에 맞는 패키지 관리자를 사용하여 API를 설치합니다.

install api

설치 후 개발 환경에 필요한 라이브러리를 가져옵니다. API 키로 API를 초기화하여 Novita AI LLM과 상호 작용을 시작합니다. 다음은 Python 사용자를 위한 채팅 완성 API 예제입니다.


from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    api_key="<YOUR Novita AI API Key>",
)

model = "deepseek/deepseek_v3"
stream = True # or False
max_tokens = 2048
system_content = """Be a helpful assistant"""
temperature = 1
top_p = 1
min_p = 0
top_k = 50
presence_penalty = 0
frequency_penalty = 0
repetition_penalty = 1
response_format = { "type": "text" }

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=&#91;
        {
            "role": "system",
            "content": system_content,
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
    temperature=temperature,
    top_p=top_p,
    presence_penalty=presence_penalty,
    frequency_penalty=frequency_penalty,
    response_format=response_format,
    extra_body={
      "top_k": top_k,
      "repetition_penalty": repetition_penalty,
      "min_p": min_p
    }
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices&#91;0].delta.content or "", end="")
else:
    print(chat_completion_res.choices&#91;0].message.content)
  
  

회원가입 시 Novita AI는 시작할 수 있도록 $0.5 크레딧을 제공합니다!

무료 크레딧이 소진되면 결제 후 계속 사용할 수 있습니다.

DeepSeek V3는 오픈소스 AI의 중요한 발전을 나타내며, 다양한 작업에서 최첨단 성능을 제공합니다. 로컬 배포는 더 나은 제어와 프라이버시를 제공하지만, 상당한 하드웨어 리소스와 기술적 전문 지식이 필요합니다. 이러한 요구 사항을 충족할 수 없는 경우 Novita AI와 같은 API 기반 대안이 접근 가능하고 확장 가능한 솔루션을 제공합니다. 로컬 배포와 API 사용 간의 선택은 특정 요구 사항과 리소스에 따라 달라집니다.

자주 묻는 질문

Mixture-of-Experts (MoE) 아키텍처란 무엇이며 왜 중요한가요?

MoE는 여러 "전문가"를 사용하여 특정 입력 토큰을 처리함으로써 복잡한 작업의 효율성과 성능을 향상시킵니다. 밀집 모델보다 계산 효율이 높지만 여전히 하드웨어 집약적입니다.

DeepSeek V3와 Llama 3.3 70B를 벤치마크 및 사용 사례 측면에서 비교하면 어떻습니까?

DeepSeek V3는 코딩 및 수학 작업에서 우수하며, Llama 3.3 70B는 일반 언어 및 다국어 응용 분야에서 뛰어납니다.

DeepSeek V3의 VRAM 요구 사항은 무엇인가요?

DeepSeek V3의 VRAM 요구 사항은 정밀도에 따라 다릅니다. FP16의 경우 671B 모델은 약 1,543GB의 VRAM이 필요하며, 4비트 양자화의 경우 약 386GB의 VRAM이 필요합니다. 활성 매개변수는 37B입니다.

Novita AI는 AI 비전을 실현하는 올인원 클라우드 플랫폼입니다. 통합 API, 서버리스, GPU 인스턴스 — 비용 효율적인 도구를 제공합니다. 인프라를 제거하고 무료로 시작하여 AI 비전을 현실로 만드세요.

추천 읽을거리