🐳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?
Der ursprüngliche Upload von DeepSeek V3 liegt in float8 vor und benötigt 715 GB. Mit Q4_K_M halbiert sich die Dateigröße auf etwa 404 GB, und unsere dynamische 1,78-Bit-Quantisierung passt auf ungefähr 151 GB. Wir empfehlen unsere 2,7-Bit-Quantisierung, um Größe und Genauigkeit auszubalancieren! Die 2,4-Bit-Variante funktioniert ebenfalls gut!
⚙️ 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
Hole dir die neueste
llama.cppauf GitHub hier. Du kannst auch den untenstehenden Build-Anweisungen folgen. Ändere-DGGML_CUDA=ONzu-DGGML_CUDA=OFFwenn du keine GPU hast oder nur CPU-Inferenz möchtest. Für Apple Mac / Metal-Geräte, setze-DGGML_CUDA=OFFund fahre dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.
HINWEIS: Die Verwendung von -DGGML_CUDA=ON für GPUs kann 5 Minuten zum Kompilieren benötigen. Nur CPU benötigt 1 Minute zum Kompilieren. Vielleicht interessieren dich die vorcompilierten Binärdateien von llama.cpp.
Lade das Modell herunter über (nach der Installation von
pip install huggingface_hub hf_transfer). Du kannstUD-IQ1_S(dynamische 1,78-Bit-Quantisierung) oder andere quantisierte Versionen wieQ4_K_M. Ich empfehle unsere dynamische 2,7-Bit-QuantisierungUD-Q2_K_XLzu verwenden, um Größe und Genauigkeit auszubalancieren. Weitere Versionen unter: https://huggingface.co/unsloth/DeepSeek-V3-0324-GGUF
Führe Unsloths Flappy-Bird-Test wie in unserer 1,58-Bit-Dynamic-Quant für DeepSeek R1 beschrieben aus.
Bearbeiten
--threads 32für die Anzahl der CPU-Threads bearbeiten,--ctx-size 16384für die Kontextlänge,--n-gpu-layers 2fü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

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):
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.


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

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

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:
🕵️ Zusätzliche Erkenntnisse & Tipps
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_0Cache-Quantisierung. Das Ziel der Quantisierung ist, längere Kontextlängen zu unterstützen, da der KV-Cache recht viel Speicher benötigt.Wir haben festgestellt, dass die
down_projin diesem Modell extrem empfindlich gegenüber Quantisierung ist. Wir mussten einige unserer dynamischen Quantisierungen, die 2 Bit fürdown_projverwendeten, erneut durchführen, und verwenden jetzt 3 Bit als Minimum für all diese Matrizen.Die Verwendung von
llama.cpp's Flash-Attention-Backend führt zu etwas schnelleren Decodiergeschwindigkeiten. Verwenden Sie, undbeim 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"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?

