For the complete documentation index, see llms.txt. This page is also available as Markdown.

🐳DeepSeek-V3-0324: Anleitung zum lokalen Ausführen

So führst du DeepSeek-V3-0324 lokal mit unseren dynamischen Quants aus, die die Genauigkeit wiederherstellen

Bitte siehe https://docs.unsloth.ai/basics/deepseek-r1-0528-how-to-run-locally (Update vom 28. Mai 2025) um zu erfahren, wie man DeepSeek schneller und effizienter ausführt!

DeepSeek ist schon wieder dabei! Nach der Veröffentlichung von V3, R1 Zero und R1 im Dezember 2024 und Januar 2025 hat DeepSeek seine Checkpoints / Modelle für V3 aktualisiert und ein Update vom März veröffentlicht!

Laut DeepSeek sprang MMLU-Pro um +5,3 % auf 81,2 %. GPQA +9,3 Prozentpunkte. AIME +19,8 % und LiveCodeBench +10,0 %! Sie stellten ein Diagramm bereit, das zeigte, wie sie sich im Vergleich zum vorherigen V3-Checkpoint und anderen Modellen wie GPT 4.5 und Claude Sonnet 3.7 schlugen. Aber wie führen wir lokal ein Modell mit 671 Milliarden Parametern aus?

MoE-Bits
Typ
Festplattengröße
Genauigkeit
Link
Details

1,78 Bit

IQ1_S

173 GB

Ok

2,06/1,56 Bit

1,93 Bit

IQ1_M

183GB

Mittel

2.5/2.06/1.56

2,42 Bit

IQ2_XXS

203 GB

Empfohlen

2,5/2,06 Bit

2,71 Bit

Q2_K_XL

231 GB

Empfohlen

3,5/2,5 Bit

3,5 Bit

Q3_K_XL

320 GB

Großartig

4,5/3,5 Bit

4,5 Bit

Q4_K_XL

406 GB

Am besten

5,5/4,5 Bit

⚙️ Offizielle empfohlene Einstellungen

Laut DeepSeek, dies sind die empfohlenen Einstellungen für die Inferenz:

  • Temperatur von 0,3 (Vielleicht 0,0 für Code, da hier zu sehen)

  • Min_P von 0,00 (optional, aber 0,01 funktioniert gut; der Standardwert von llama.cpp ist 0,1)

  • Chat-Vorlage: <|User|>Erstelle ein einfaches, spielbares Flappy-Bird-Spiel in Python. Platziere das fertige Spiel in einem Markdown-Abschnitt.<|Assistant|>

  • Ein BOS-Token von <|begin▁of▁sentence|> wird während der Tokenisierung automatisch hinzugefügt (NICHT manuell hinzufügen!)

  • DeepSeek erwähnte auch die Verwendung eines System-Prompts (optional) - er ist auf Chinesisch: 该助手为DeepSeek Chat,由深度求索公司创造。\n今天是3月24日,星期一。 was übersetzt lautet: Der Assistent ist DeepSeek Chat, erstellt von DeepSeek.\nHeute ist Montag, der 24. März.

  • Für die KV-Cache-Quantisierung 8-Bit verwenden, NICHT 4-Bit - wir haben festgestellt, dass sie deutlich schlechter abschneidet.

📖 Tutorial: Wie man DeepSeek-V3 in llama.cpp ausführt

  1. Hole dir die neueste llama.cpp auf GitHub hier. Du kannst auch den untenstehenden Build-Anweisungen folgen. Ändere -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn du keine GPU hast oder nur CPU-Inferenz möchtest. Für Apple Mac / Metal-Geräte, setze -DGGML_CUDA=OFF und fahre dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.

  1. Lade das Modell herunter über (nach der Installation von pip install huggingface_hub hf_transfer ). Du kannst UD-IQ1_S(dynamische 1,78-Bit-Quantisierung) oder andere quantisierte Versionen wie Q4_K_M . Ich empfehle unsere dynamische 2,7-Bit-Quantisierung UD-Q2_K_XL zu verwenden, um Größe und Genauigkeit auszubalancieren. Weitere Versionen unter: https://huggingface.co/unsloth/DeepSeek-V3-0324-GGUF

  1. Führe Unsloths Flappy-Bird-Test wie in unserer 1,58-Bit-Dynamic-Quant für DeepSeek R1 beschrieben aus.

  2. Bearbeiten --threads 32 für die Anzahl der CPU-Threads bearbeiten, --ctx-size 16384 für die Kontextlänge, --n-gpu-layers 2 für GPU-Offloading, also für wie viele Layer. Versuchen Sie, dies anzupassen, wenn Ihrem GPU-Speicher der Platz ausgeht. Entfernen Sie es auch, wenn Sie nur CPU-Inferenz haben.

Wenn wir das Obige ausführen, erhalten wir 2 sehr unterschiedliche Ergebnisse. Standard-2-Bit-Version: Zum Anzeigen des Ergebnisses klicken (Anfallswarnung!) Dynamische 2-Bit-Version: Sieh dir das Ergebnis unten an:

Standard-2-Bit. Scheitert mit Hintergrund, scheitert bei Kollision

Dynamische 2-Bit. Schafft es, ein spielbares Spiel zu erzeugen.
  1. Wie DeepSeek-R1 hat V3 61 Schichten. Zum Beispiel kannst du bei einer 24-GB- oder 80-GB-GPU nach dem Abrunden mit einem Offload rechnen (um 1 verringern, wenn der Speicher nicht ausreicht):

Quant
Dateigröße
24GB GPU
80GB GPU
2x80GB GPU

1.73bit

173 GB

5

25

56

2.22bit

183GB

4

22

49

2.51bit

212GB

2

19

32

Ausführung auf Mac / Apple-Geräten

Für Apple-Metal-Geräte sei vorsichtig bei --n-gpu-layers. Wenn das Gerät in den Speichermangel läuft, verringere den Wert. Bei einer Maschine mit 128 GB Unified Memory solltest du etwa 59 Schichten auslagern können.

🎱 Heptagon-Test

Wir testen unsere dynamischen Quants auch über r/Localllama der das Modell beim Erstellen einer einfachen Physik-Engine testet, um Bälle zu simulieren, die in einer sich bewegenden, geschlossenen Heptagon-Form rotieren.

Das Ziel ist es, das Heptagon zum Drehen zu bringen, und die Bälle im Heptagon sollten sich bewegen.
Cover

Nicht-dynamische 2-Bit-Version. Scheitert - ANFALLWARNUNG wieder!

Cover

Dynamische 2-Bit-Version. Löst das Heptagon-Rätsel tatsächlich korrekt!!

Cover

Ursprüngliches float8

Die dynamische 2,7-Bit-Quantisierung, die nur 230 GB groß ist, schafft es tatsächlich, das Heptagon-Rätsel zu lösen! Die vollständige Ausgabe für alle 3 Versionen (einschließlich vollem fp8) ist unten:

Dynamischer 2-Bit-Heptagon-Code
Nicht-dynamischer 2-Bit-Heptagon-Code
Float8-Heptagon-Code

🕵️ Zusätzliche Erkenntnisse & Tipps

  1. Unsere empirischen Tests zeigen, dass eine niedrigere KV-Cache-Quantisierung (4 Bit) die Generierungsqualität zu verschlechtern scheint – weitere Tests sind nötig, aber wir empfehlen q8_0 Cache-Quantisierung. Das Ziel der Quantisierung ist, längere Kontextlängen zu unterstützen, da der KV-Cache recht viel Speicher benötigt.

  2. Wir haben festgestellt, dass die down_proj in diesem Modell extrem empfindlich gegenüber Quantisierung ist. Wir mussten einige unserer dynamischen Quantisierungen, die 2 Bit für down_proj verwendeten, erneut durchführen, und verwenden jetzt 3 Bit als Minimum für all diese Matrizen.

  3. Die Verwendung von llama.cpp 's Flash-Attention-Backend führt zu etwas schnelleren Decodiergeschwindigkeiten. Verwenden Sie , und beim Kompilieren. Beachten Sie, dass es auch am besten ist, Ihre CUDA-Architektur wie in https://developer.nvidia.com/cuda-gpus angegeben zu setzen, um die Kompilierzeiten zu reduzieren, und sie dann über -DCMAKE_CUDA_ARCHITECTURES="80"

  4. zu setzen. Die Verwendung eines min_p=0.01ist wahrscheinlich ausreichend. llama.cppist standardmäßig auf 0.1 eingestellt, was wahrscheinlich nicht notwendig ist. Da ohnehin eine Temperatur von 0.3 verwendet wird, werden wir mit großer Wahrscheinlichkeit sehr unwahrscheinlich Token mit niedriger Wahrscheinlichkeit sampeln, daher ist es eine gute Idee, sehr unwahrscheinliche Token zu entfernen. DeepSeek empfiehlt für Coding-Aufgaben eine Temperatur von 0.0.

Zuletzt aktualisiert

War das hilfreich?