DeepSeek V3 lokal ausführen: Ein Leitfaden für Entwickler

DeepSeek V3 lokal ausführen: Ein Leitfaden für Entwickler

Wichtige Highlights

DeepSeek-V3 ist ein revolutionäres Open-Source-Modell, das in technischen Bereichen wie Programmierung und Mathematik hervorragende Leistungen erbringt.

Während die lokale Bereitstellung Flexibilität bietet, sind dafür fortschrittliche Hardware und Fachkenntnisse erforderlich.

Für einen einfacheren Zugang bieten API-Lösungen wie Novita AI skalierbare Alternativen.

DeepSeek V3 ist ein fortschrittliches KI-Modell, das aufgrund seiner beeindruckenden Fähigkeiten, insbesondere in technischen und mathematischen Bereichen, große Aufmerksamkeit erlangt hat. Als Open-Source-Alternative zu Modellen wie ChatGPT bietet es Entwicklern und Forschern eine überzeugende Option. Dieser Artikel enthält eine detaillierte Anleitung zum lokalen Zugriff auf DeepSeek V3 und behandelt verschiedene Bereitstellungsmethoden, Hardware-Anforderungen, Herausforderungen und Optimierungsstrategien.

Lokaler Zugriff auf DeepSeek V3

1. GitHub (DeepSeek-Infer Demo)

Anleitung

  • Repository: Das DeepSeek-V3-Modell ist auf GitHub verfügbar, wo Sie das Code-Repository finden.
  • Klonen: Klonen Sie das Repository mit LFS-Unterstützung mit:
git clone https://github.com/deepseek-ai/DeepSeek-V3.git
cd DeepSeek-V3/inference
  • Isolierte Umgebung (empfohlen): Erstellen Sie eine isolierte Umgebung mit conda:
conda create -n deepseek-v3 python=3.10 -y
conda activate deepseek-v3
  • Abhängigkeiten: Installieren Sie Abhängigkeiten mit Versionssperrung:
pip install torch==2.4.1 triton==3.0.0 transformers==4.46.3 safetensors==0.4.5
  • Modellgewichte: Laden Sie die Modellgewichte von Hugging Face herunter und platzieren Sie sie im dafür vorgesehenen Verzeichnis.
  • Erweiterte Konvertierung: Konvertieren Sie die Modellgewichte in ein bestimmtes Format, um FP8-Quantisierung zu ermöglichen:
python convert.py \
  --hf-ckpt-path ./DeepSeek-V3 \
  --save-path ./DeepSeek-V3-Demo \
  --n-experts 256 \
  --model-parallel 16 \
  --quant-mode fp8
  • Ausführungsmodi:

    • Interaktiver Chat (Multi-Node):
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
  • Batch-Verarbeitung:
torchrun --nproc-per-node 8 \
  generate.py \
  --input-file batch_queries.jsonl \
  --output-file responses.jsonl

Vorteile

  • Schnelles Prototyping: <5 Minuten Einrichtungszeit für grundlegende Inferenz
  • Speichereffizienz: 40% weniger VRAM-Verbrauch im Vergleich zur BF16-Baseline
  • Forschungsfreundlich: Direkter Zugriff auf Zwischenschichten

Nachteile

  • Begrenzte Skalierbarkeit: Maximal 16 Knoten in Modellparallelität
  • Keine Batch-Unterstützung: Einzelsequenzverarbeitung bei Verwendung des interaktiven Modus
  • Manuelle Quantisierung: Erfordert explizite FP8-Konvertierung

2. SGLang

Beschreibung

  • Framework: SGLang ist ein Framework, das DeepSeek V3 unterstützt und optimierte Leistung sowohl für NVIDIA- als auch für AMD-GPUs bietet.
  • Inferenzmodi: Vollständige Unterstützung von DeepSeek-V3 im BF16- und FP8-Inferenzmodus.
  • Parallelität: Unterstützt Multi-Node-Tensor-Parallelität, sodass Sie das Modell auf mehreren verbundenen Maschinen ausführen können.
  • Optimierung:
from sglang import runtime

# Enable hybrid parallelism
runtime.configure(
    tensor_parallel=8,
    pipeline_parallel=4,
    expert_parallel=2
)

# FP8 Inference Profile
runtime.set_precision(
    weight=8,
    activation=8,
    kv_cache=8
)

Vorteile

  • Produktionsreif: 99,9% Verfügbarkeits-SLA-Unterstützung
  • Hardware-unabhängig: ROCm/HIP-Support für AMD Instinct
  • Fortschrittliche Quantisierung: Automatische FP8-Skalierung
  • Dynamisches Batching: 5-facher Durchsatz im Vergleich zur Baseline
  • Spekulative Decodierung: 2,3-fache Beschleunigung mit MTP
  • Plattformübergreifende Unterstützung: Einheitliche API für NVIDIA/AMD-GPUs

Nachteile

  • Komplexe Bereitstellung: Erfordert Kubernetes-Kenntnisse
  • Speicher-Overhead: 15% höher als native Implementierung
  • Eingeschränkte Anpassung: Undurchsichtiges Expert-Routing

3. LMDeploy

Beschreibung

  • Framework: LMDeploy ist ein weiteres Framework, das DeepSeek V3 unterstützt und für effiziente Inferenz und Bereitstellung großer Sprachmodelle entwickelt wurde.
  • Bereitstellungsoptionen: Bietet sowohl Offline- als auch Online-Bereitstellungsmöglichkeiten.
  • Integration: Integriert sich in PyTorch-basierte Workflows.
  • TurboMind-Integration:
from lmdeploy import pipeline, GenerationConfig

# Initialize 4-way tensor parallel
pipe = pipeline(
    "DeepSeek-V3",
    tp=4,
    max_batch_size=32,
    cache_max_entry_count=0.5
)

# Configure generation parameters
gen_config = GenerationConfig(
    temperature=0.8,
    top_k=50,
    repetition_penalty=1.1,
    stop_phrases=&#91;"<|EOT|>"]
)

Vorteile

  • Enterprise-Funktionen: RBAC, Ratenbegrenzung
  • Optimierte Kerne: 1536 Token/s pro H100
  • Cloud-nativ: Prometheus-Monitoring-Integration
  • Kontinuierliches Batching: Dynamische Anfragegruppierung
  • Token-Healing: Automatische Vervollständigungskorrektur
  • Multi-LoRA-Unterstützung: Adapter-Hot-Swapping

Nachteile

  • Steile Lernkurve: Komplexe Konfigurationssyntax
  • Ressourcenintensiv: Mindestens 8x H100 für alle Funktionen
  • Vendor-Lock-in: Erfordert NVIDIA-GPUs

Hardware-Anforderungen

deepseek hardware requirements

Herausforderungen und Optimierung

challenges

Alternative Option – API

Welche Probleme löst die API?

Hoher VRAM-Bedarf

  • API-Lösung: Volle Auflösung
  • Technische Implementierung: Server-seitiges Cluster-Ressourcen-Pooling

Speicherengpässe

  • API-Lösung: Vollständige Beseitigung
  • Technische Implementierung: Dynamische Speicherzuweisung auf Serverknoten

Komplexität der Multi-GPU-Skalierung

  • API-Lösung: Automatische Handhabung
  • Technische Implementierung: Cloud-native horizontale automatische Skalierung

Plattformübergreifende Kompatibilitätsprobleme

  • API-Lösung: Native Unterstützung
  • Technische Implementierung: Standardisierte HTTP/WebSocket-Schnittstellen

Inferenz-Latenz

  • API-Lösung: Teilweise Verbesserung
  • Technische Implementierung: Edge-Computing-Knoten + globale Beschleunigung

Komplexität der Bereitstellung

  • API-Lösung: Vollständige Beseitigung
  • Technische Implementierung: Vorgefertigtes SDK mit Einzeilenintegration

Quantisierungsgenauigkeitsverlust

  • API-Lösung: Optionaler Umgehungsweg
  • Technische Implementierung: Serverseitige FP16-Präzisionserhaltung

Undurchsichtiges Expert-Routing

  • API-Lösung: Volle Transparenz
  • Technische Implementierung: Echtzeit-Routing-Diagnose-API

Eine hervorragende Lösung – Novita AI

Novita AI ist eine KI-Cloud-Plattform, die Entwicklern eine einfache Möglichkeit bietet, KI-Modelle über unsere einfache API bereitzustellen und gleichzeitig eine kostengünstige und zuverlässige GPU-Cloud für den Aufbau und die Skalierung bereitstellt.

Schritt 1: Einloggen und auf die Modellbibliothek zugreifen

Melden Sie sich in Ihrem Konto an und klicken Sie auf die Schaltfläche Model Library.

Log In and Access the Model Library

Schritt 2: Wählen Sie Ihr Modell

Durchsuchen Sie die verfügbaren Optionen und wählen Sie das Modell aus, das Ihren Anforderungen entspricht.

choose models

Probieren Sie jetzt die DeepSeek V3 Demo aus!

Schritt 3: Starten Sie Ihre kostenlose Testversion

Beginnen Sie Ihre kostenlose Testversion, um die Fähigkeiten des ausgewählten Modells zu erkunden.

free trail

Schritt 4: Holen Sie sich Ihren API-Schlüssel

Zur Authentifizierung mit der API erhalten Sie einen neuen API-Schlüssel. Gehen Sie auf die Seite „Settings“ und kopieren Sie den API-Schlüssel wie im Bild gezeigt.

get api key

Schritt 5: Installieren Sie die API

Installieren Sie die API mit dem für Ihre Programmiersprache spezifischen Paketmanager.

install api

Importieren Sie nach der Installation die erforderlichen Bibliotheken in Ihre Entwicklungsumgebung. Initialisieren Sie die API mit Ihrem API-Schlüssel, um mit dem LLM von Novita AI zu interagieren. Dies ist ein Beispiel für die Verwendung der Chat-Completions-API für Python-Benutzer.

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)

Bei der Registrierung stellt Novita AI ein Guthaben von 0,50 $ zur Verfügung, damit Sie loslegen können!

Wenn das kostenlose Guthaben aufgebraucht ist, können Sie bezahlen, um es weiter zu nutzen.

DeepSeek V3 stellt einen bedeutenden Fortschritt im Bereich Open-Source-KI dar und bietet hochmoderne Leistung in verschiedenen Aufgabenbereichen. Während die lokale Bereitstellung mehr Kontrolle und Privatsphäre bietet, erfordert sie erhebliche Hardwareressourcen und technisches Fachwissen. Für diejenigen, die diese Anforderungen nicht erfüllen können, bieten API-basierte Alternativen wie Novita AI eine zugängliche und skalierbare Lösung. Die Wahl zwischen lokaler Bereitstellung und API-Nutzung hängt von den spezifischen Anforderungen und Ressourcen ab.

Häufig gestellte Fragen

Was ist die Mixture-of-Experts (MoE)-Architektur und warum ist sie wichtig?

MoE verwendet mehrere „Experten“, um bestimmte Eingabe-Token zu verarbeiten, was die Effizienz und Leistung bei komplexen Aufgaben verbessert. Es ist recheneffizienter als dichte Modelle, aber dennoch hardwareintensiv.

Wie schneiden DeepSeek V3 und Llama 3.3 70B in Bezug auf Benchmarks und Anwendungsfälle ab?

DeepSeek V3 ist überlegen bei Programmier- und Mathematikaufgaben, während Llama 3.3 70B bei allgemeinen Sprach- und mehrsprachigen Anwendungen glänzt.

Was sind die VRAM-Anforderungen für DeepSeek V3?

Die VRAM-Anforderungen für DeepSeek V3 variieren je nach Genauigkeit. Für FP16 benötigt das 671B-Modell etwa 1.543 GB VRAM, während es bei 4-Bit-Quantisierung etwa 386 GB VRAM benötigt. Die aktiven Parameter betragen 37B.

Novita AI ist die All-in-One-Cloud-Plattform, die Ihre KI-Ambitionen unterstützt. Integrierte APIs, serverlose Funktionen, GPU-Instanzen – die kostengünstigen Tools, die Sie brauchen. Verzichten Sie auf Infrastruktur, starten Sie kostenlos und verwirklichen Sie Ihre KI-Vision.

Empfohlene Lektüre