🐳DeepSeek-V3-0324: Wie man lokal ausführt
Wie man DeepSeek-V3-0324 lokal mit unseren dynamischen Quants ausführt, die die Genauigkeit wiederherstellen
DeepSeek legt wieder los! 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 März-Update 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 einen Plot bereit, der zeigte, wie sie im Vergleich zum vorherigen V3-Checkpoint und anderen Modellen wie GPT 4.5 und Claude Sonnet 3.7 abschnitten. Aber wie führen wir ein Modell mit 671 Milliarden Parametern lokal aus?
⚙️ Offiziell empfohlene Einstellungen
Laut DeepSeek, dies sind die empfohlenen Einstellungen für die Inferenz:
Temperatur von 0,3 (Vielleicht 0,0 für Programmierung, da hier zu sehen)
Min_P von 0,00 (optional, aber 0,01 funktioniert gut, der Standard 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 die Verwendung eines System-Prompts ebenfalls (optional) - es ist auf Chinesisch:
Dieser Assistent ist DeepSeek Chat, erschaffen von DeepSeek.\nHeute ist Montag, der 24. März.was übersetzt wird als:Der Assistent ist DeepSeek Chat, erstellt von DeepSeek.\nHeute ist Montag, der 24. März.Für die KV-Cache-Quantisierung verwende 8 Bit, NICHT 4 Bit – wir haben festgestellt, dass es deutlich schlechter abschneidet.
📖 Tutorial: So führst du DeepSeek-V3 in llama.cpp aus
Holen Sie sich die neueste
llama.cppauf hier auf GitHub. Sie können auch die folgenden Build-Anweisungen befolgen. Ändern Sie-DGGML_CUDA=ONzu-DGGML_CUDA=OFFwenn Sie keine GPU haben oder nur CPU-Inferenz möchten. Für Apple-Mac-/Metal-Geräte, setzen Sie-DGGML_CUDA=OFFund fahren Sie dann wie gewohnt fort – Metal-Unterstützung ist standardmäßig aktiviert.
Lade das Modell über (nach der Installation von
pip install huggingface_hub hf_transfer). Sie könnenUD-IQ1_S(dynamische 1,78-Bit-Quantisierung) oder andere quantisierte Versionen wieQ4_K_M. Ich empfehle die Verwendung unserer dynamischen 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 den Flappy-Bird-Test von Unsloth aus, wie in unserer 1,58-Bit-dynamischen Quantisierung für DeepSeek R1 beschrieben.
Bearbeiten
--threads 32für die Anzahl der CPU-Threads,--ctx-size 16384für die Kontextlänge,--n-gpu-layers 2für GPU-Offloading auf wie viele Layer. Versuche, ihn anzupassen, wenn deiner GPU der Speicher ausgeht. Entferne ihn auch, wenn du nur CPU-Inferenz hast.

Wie DeepSeek-R1 hat V3 61 Schichten. Zum Beispiel kannst du bei einer 24GB-GPU oder 80GB-GPU nach dem Abrunden mit folgendem Offloading rechnen (um 1 reduzieren, wenn es aus dem Speicher läuft):
1,73 Bit
173GB
5
25
56
2,22 Bit
183 GB
4
22
49
2,51 Bit
212 GB
2
19
32
Ausführung auf Mac-/Apple-Geräten
Bei Apple-Metal-Geräten sei vorsichtig mit --n-gpu-layers. Wenn du feststellst, dass die Maschine aus dem Speicher läuft, reduziere ihn. Auf einer Maschine mit 128GB Unified Memory solltest du etwa 59 Layer auslagern können.
🎱 Heptagon-Test
Wir testen unsere dynamischen Quants auch über r/Localllama das das Modell darauf testet, eine einfache Physik-Engine zu erstellen, um Bälle zu simulieren, die in einer sich bewegenden, geschlossenen Heptagonform rotieren.


Nicht-dynamisches 2-Bit. Scheitert - ANFALLWARNUNG wieder!

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

Ursprüngliches float8
Die dynamische 2,7-Bit-Quantisierung, die nur 230GB groß ist, schafft es tatsächlich, das Heptagon-Rätsel zu lösen! Die vollständige Ausgabe für alle 3 Versionen (einschließlich des vollständigen fp8) ist unten:
🕵️ Zusätzliche Erkenntnisse & Tipps
Wir haben festgestellt, dass die Verwendung einer niedrigeren KV-Cache-Quantisierung (4 Bit) die Generierungsqualität gemäß empirischen Tests zu verschlechtern scheint – es sind weitere Tests nötig, aber wir empfehlen die Verwendung von
q8_0Cache-Quantisierung. Das Ziel der Quantisierung ist es, längere Kontextlängen zu unterstützen, da der KV-Cache ziemlich viel Speicher verwendet.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, neu erstellen, und jetzt verwenden wir 3 Bit als Minimum für all diese Matrizen.Die Verwendung von
llama.cpps Flash-Attention-Backend führt zu etwas schnelleren Decodierungsgeschwindigkeiten. Verwenden Sie-DGGML_CUDA_FA_ALL_QUANTS=ONbeim Kompilieren. Beachten Sie, dass es auch am besten ist, Ihre CUDA-Architektur wie unter https://developer.nvidia.com/cuda-gpus festzulegen, um die Kompilierungszeiten zu verkürzen, und sie dann über-DCMAKE_CUDA_ARCHITECTURES="80"Die Verwendung eines
min_p=0.01reicht wahrscheinlich aus.llama.cppist standardmäßig 0,1, was wahrscheinlich nicht notwendig ist. Da ohnehin eine Temperatur von 0,3 verwendet wird, werden wir höchstwahrscheinlich sehr unwahrscheinlich Tokens mit niedriger Wahrscheinlichkeit sampeln, daher ist das Entfernen sehr unwahrscheinlicher Tokens eine gute Idee. DeepSeek empfiehlt eine Temperatur von 0,0 für Programmieraufgaben.
Zuletzt aktualisiert
War das hilfreich?


