> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/de/modelle/tutorials/deepseek-v3.1-how-to-run-locally.md).

# DeepSeek-V3.1: So wird es lokal ausgeführt

DeepSeeks V3.1 und **Terminus** Update führt hybride Reasoning-Inferenz ein und kombiniert „Think“ und „Non-Think“ in einem Modell. Das vollständige Modell mit 671B Parametern benötigt 715 GB Speicherplatz. Die quantisierte dynamische 2-Bit-Version benötigt 245 GB (75 % kleinere Größe). GGUF: [**DeepSeek-V3.1-GGUF**](https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF)

{% hint style="success" %}
**NEU:** DeepSeek-V3.1-Terminus jetzt verfügbar: [DeepSeek-V3.1-Terminus-GGUF](https://huggingface.co/unsloth/DeepSeek-V3.1-Terminus-GGUF)\
\
[**Update vom 10. Sept. 2025:**](/docs/de/grundlagen/unsloth-dynamic-2.0-ggufs/unsloth-dynamic-ggufs-on-aider-polyglot.md) Ihr habt nach härteren Benchmarks gefragt, also zeigen wir Aider-Polyglot-Ergebnisse! Unser dynamisches 3-Bit-DeepSeek-V3.1-GGUF erreicht **75.6%**, und übertrifft damit viele SOTA-LLMs in Vollpräzision. [Mehr lesen.](/docs/de/grundlagen/unsloth-dynamic-2.0-ggufs/unsloth-dynamic-ggufs-on-aider-polyglot.md)

Unsere DeepSeek-V3.1-GGUFs enthalten Unsloth [Korrekturen für Chat-Templates](#chat-template-bug-fixes) für von llama.cpp unterstützte Backends.
{% endhint %}

Alle Uploads verwenden Unsloths [Dynamic 2.0](/docs/de/grundlagen/unsloth-dynamic-2.0-ggufs.md) für SOTA-Leistung bei 5-Shot MMLU und KL-Divergenz, was bedeutet, dass du quantisierte DeepSeek-LLMs mit minimalem Genauigkeitsverlust ausführen und feinabstimmen kannst.

**Tutorials-Navigation:**

<a href="#run-in-llama.cpp" class="button secondary">In llama.cpp ausführen</a><a href="#run-in-ollama-open-webui" class="button secondary">In Ollama/Open WebUI ausführen</a>

## :gear: Empfohlene Einstellungen

Die 1-Bit-dynamische Quant TQ1\_0 (1 Bit für unwichtige MoE-Schichten, 2–4 Bit für wichtige MoE-Schichten und 6–8 Bit für den Rest) benötigt 170 GB Speicherplatz – das funktioniert gut auf einer **1x24GB-Karte und 128GB RAM** mit MoE-Offloading – es **funktioniert auch nativ in Ollama**!

{% hint style="info" %}
Du musst `--jinja` für llama.cpp-Quants verwenden – das nutzt unsere [korrigierten Chat-Templates](#chat-template-bug-fixes) und aktiviert das richtige Template! Du könntest falsche Ergebnisse erhalten, wenn du `--jinja`
{% endhint %}

Die 2-Bit-Quants passen auf eine 1x 24GB GPU (mit in den RAM ausgelagerten MoE-Schichten). Rechne mit etwa 5 Token/s mit diesem Setup, wenn du zusätzlich 128GB RAM hast. Es wird empfohlen, mindestens 226GB RAM zu haben, um dieses 2-Bit-Modell auszuführen. Für optimale Leistung benötigst du mindestens 226GB gemeinsamen Speicher oder 226GB kombinierten RAM+VRAM für 5+ Token/s. Um zu lernen, wie man die Generierungsgeschwindigkeit erhöht und längere Kontexte unterbringt, [lies hier](#improving-generation-speed).

{% hint style="success" %}
Auch wenn es nicht zwingend nötig ist: Für die beste Leistung sollten VRAM + RAM zusammen der Größe der heruntergeladenen Quantisierung entsprechen. Falls nicht, funktioniert das Auslagern auf Festplatte/SSD mit llama.cpp, nur wird die Inferenz langsamer.
{% endhint %}

## :butterfly:Korrekturen für Chat-Template-Fehler

Wir haben einige Probleme mit dem Chat-Template von DeepSeek V3.1 behoben, da es in llama.cpp und anderen Engines nicht korrekt funktionierte:

1. DeepSeek V3.1 ist ein hybrides Reasoning-Modell, das heißt, du kannst das Chat-Template ändern, um Reasoning zu aktivieren. Das eingeführte Chat-Template enthielt `thinking = True` , aber andere Modelle verwenden `enable_thinking = True` . Wir haben die Option hinzugefügt, stattdessen `enable_thinking` als Schlüsselwort zu verwenden.
2. llama.cpps Jinja-Renderer über [minja](https://github.com/google/minja) erlaubt die Verwendung zusätzlicher Argumente im `.split()` -Befehl nicht, daher funktioniert die Verwendung von `.split(text, 1)` in Python, aber nicht in minja. Wir mussten das ändern, damit llama.cpp korrekt funktioniert, ohne Fehler auszugeben.\
   \
   Beim Verwenden anderer Quants erhältst du folgenden Fehler:\
   `terminate called after throwing an instance of 'std::runtime_error' what(): split method must have between 1 and 1 positional arguments and between 0 and 0 keyword arguments at row 3, column 1908` Wir haben es in all unseren Quants behoben!

### 🐳Offizielle empfohlene Einstellungen

Laut [DeepSeek](https://huggingface.co/deepseek-ai/DeepSeek-V3.1)sind dies die empfohlenen Einstellungen für die V3.1-Inferenz:

* Setze <mark style="background-color:green;">**die Temperatur auf 0.6**</mark> um Wiederholungen und Inkohärenz zu reduzieren.
* Setze <mark style="background-color:green;">**top\_p auf 0.95**</mark> (empfohlen)
* **128K Kontextlänge** oder weniger
* Verwende `--jinja` für llama.cpp-Varianten – wir **haben ebenfalls einige Probleme mit dem Chat-Template behoben!**
* **Verwende** `enable_thinking = True` um den Reasoning-/Thinking-Modus zu verwenden. Standardmäßig ist er auf Non-Reasoning gesetzt.

#### :1234: Chat-Template/Prompt-Format

Du musst `<think>\n` nicht erzwingen, aber du kannst es trotzdem hinzufügen! Mit dem angegebenen Präfix erzeugt DeepSeek V3.1 Antworten auf Anfragen im Non-Thinking-Modus. Anders als DeepSeek V3 führt es ein zusätzliches Token ein `</think>`.

```
<｜begin▁of▁sentence｜>{system prompt}<｜User｜>{query}<｜Assistant｜></think>
```

Ein BOS wird zwangsläufig hinzugefügt, und ein EOS trennt jede Interaktion. Um doppelte BOS-Tokens während der Inferenz zu vermeiden, solltest du nur `tokenizer.encode(..., add_special_tokens = False)` aufrufen, da das Chat-Template ebenfalls automatisch ein BOS-Token hinzufügt. Für llama.cpp / GGUF-Inferenz solltest du das BOS auslassen, da es automatisch hinzugefügt wird.

#### :notebook\_with\_decorative\_cover: Non-Thinking-Modus (verwende `thinking = False`oder `enable_thinking = False` und ist standardmäßig so eingestellt)

**Erste Runde**

Präfix: `<｜begin▁of▁sentence｜>{system prompt}<｜User｜>{query}<｜Assistant｜></think>`

Mit dem angegebenen Präfix erzeugt DeepSeek V3.1 Antworten auf Anfragen im Non-Thinking-Modus. Anders als DeepSeek V3 führt es ein zusätzliches Token ein `</think>`.

**Mehrturn-**

Kontext: `<｜begin▁of▁sentence｜>{system prompt}<｜User｜>{query}<｜Assistant｜></think>{response}<｜end▁of▁sentence｜>...<｜User｜>{query}<｜Assistant｜></think>{response}<｜end▁of▁sentence｜>`

Präfix: `<｜User｜>{query}<｜Assistant｜></think>`

Durch das Zusammenfügen von Kontext und Präfix erhalten wir den korrekten Prompt für die Anfrage.

#### :books: Thinking-Modus (verwende `thinking = True`oder `enable_thinking = True` und ist standardmäßig so eingestellt)

**Erste Runde**

Präfix: `<｜begin▁of▁sentence｜>{system prompt}<｜User｜>{query}<｜Assistant｜><think>`

Das Präfix des Thinking-Modus ist ähnlich wie bei DeepSeek-R1.

**Mehrturn-**

Kontext: `<｜begin▁of▁sentence｜>{system prompt}<｜User｜>{query}<｜Assistant｜></think>{response}<｜end▁of▁sentence｜>...<｜User｜>{query}<｜Assistant｜></think>{response}<｜end▁of▁sentence｜>`

Präfix: `<｜User｜>{query}<｜Assistant｜><think>`

Das Mehrturn-Template ist dasselbe wie das Non-Thinking-Mehrturn-Chat-Template. Das bedeutet, dass das Thinking-Token in der letzten Runde entfernt wird, aber das `</think>` in jeder Runde des Kontexts beibehalten wird.

#### :bow\_and\_arrow: Tool-Aufruf

Tool-Aufrufe werden im Non-Thinking-Modus unterstützt. Das Format lautet:

`<｜begin▁of▁sentence｜>{system prompt}{tool_description}<｜User｜>{query}<｜Assistant｜></think>` wobei wir tool\_description im Bereich nach dem System-Prompt einfügen.

## :arrow\_forward:DeepSeek-V3.1-Tutorials ausführen:

### :llama: In Ollama/Open WebUI ausführen

{% stepper %}
{% step %}
Installiere `ollama` falls du es noch nicht getan hast! Um weitere Varianten des Modells auszuführen, [siehe hier](#run-in-llama.cpp).

```bash
apt-get update
apt-get install pciutils -y
curl -fsSL https://ollama.com/install.sh | sh
```

{% endstep %}

{% step %}
Führe das Modell aus! Beachte, dass du `ollama serve`in einem anderen Terminal aufrufen kannst, wenn es fehlschlägt! Wir enthalten alle unsere Korrekturen und vorgeschlagenen Parameter (Temperatur usw.) in `params` in unserem Hugging-Face-Upload!\
\&#xNAN;**(NEU) Um das DeepSeek-V3.1-Modell in Ollama zu verwenden, kannst du unsere TQ1\_0 (170GB-Quantisierung) nutzen:**

```bash
OLLAMA_MODELS=unsloth ollama serve &

OLLAMA_MODELS=unsloth ollama run hf.co/unsloth/DeepSeek-V3.1-Terminus-GGUF:TQ1_0
```

{% endstep %}

{% step %}
Um andere Quants auszuführen, musst du zuerst die GGUF-Split-Dateien zu einer einzigen zusammenführen, wie im folgenden Code. Danach musst du das Modell lokal ausführen.

```bash
./llama.cpp/llama-gguf-split --merge \
  DeepSeek-V3.1-Terminus-GGUF/DeepSeek-V3.1-Terminus-UD-Q2_K_XL/DeepSeek-V3.1-Terminus-UD-Q2_K_XL-00001-of-00006.gguf \
	merged_file.gguf
```

```bash
OLLAMA_MODELS=unsloth ollama serve &

OLLAMA_MODELS=unsloth ollama run merged_file.gguf
```

{% endstep %}

{% step %}
Open WebUI hat außerdem ein [Schritt-für-Schritt-Tutorial](https://docs.openwebui.com/tutorials/integrations/deepseekr1-dynamic/) zum Ausführen von R1 erstellt, und für V3.1 musst du lediglich R1 durch die neue V3.1-Quantisierung ersetzen.
{% endstep %}
{% endstepper %}

### ✨ In llama.cpp ausführen

{% stepper %}
{% step %}
Hole dir die neueste `llama.cpp` auf [GitHub hier](https://github.com/ggml-org/llama.cpp). Du kannst auch den folgenden Build-Anweisungen folgen. Ändere `-DGGML_CUDA=ON` zu `-DGGML_CUDA=OFF` wenn du keine GPU hast oder nur CPU-Inferenz möchtest.

```bash
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split llama-mtmd-cli llama-server
cp llama.cpp/build/bin/llama-* llama.cpp
```

{% endstep %}

{% step %}
Wenn du `llama.cpp` direkt zum Laden von Modellen verwenden möchtest, kannst du Folgendes tun: (:Q2\_K\_XL) ist der Quantisierungstyp. Du kannst auch über Hugging Face herunterladen (Punkt 3). Das ist ähnlich wie `ollama run` . Verwende `export LLAMA_CACHE="folder"` um zu erzwingen, `llama.cpp` an einem bestimmten Ort zu speichern. Denk daran, dass das Modell nur eine maximale Kontextlänge von 128K hat.

{% hint style="success" %}
Bitte probiere `-ot ".ffn_.*_exps.=CPU"` aus, um alle MoE-Schichten auf die CPU auszulagern! Dadurch können praktisch alle Nicht-MoE-Schichten auf 1 GPU passen, was die Generierungsgeschwindigkeit verbessert. Du kannst den Regex-Ausdruck anpassen, um mehr Schichten unterzubringen, wenn du mehr GPU-Kapazität hast.

Wenn du etwas mehr GPU-Speicher hast, probiere `-ot ".ffn_(up|down)_exps.=CPU"` Das lagert MoE-Schichten für Up- und Down-Projektionen aus.

Probiere `-ot ".ffn_(up)_exps.=CPU"` wenn du noch mehr GPU-Speicher hast. Das lagert nur MoE-Schichten für Up-Projektionen aus.

Und schließlich lagere alle Schichten aus über `-ot ".ffn_.*_exps.=CPU"` Das verwendet am wenigsten VRAM.

Du kannst den Regex auch anpassen, zum Beispiel `-ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU"` bedeutet, Gate-, Up- und Down-MoE-Schichten auszulagern, aber nur ab der 6. Schicht.
{% endhint %}

```bash
export LLAMA_CACHE="unsloth/DeepSeek-V3.1-GGUF"
./llama.cpp/llama-cli \
    -hf unsloth/DeepSeek-V3.1-Terminus-GGUF:UD-Q2_K_XL \
    --jinja \
    --n-gpu-layers 99 \
    --temp 0.6 \
    --top-p 0.95 \
    --min-p 0.01 \
    --ctx-size 16384 \
    --seed 3407 \
    -ot ".ffn_.*_exps.=CPU"
```

{% endstep %}

{% step %}
Lade das Modell herunter über (nach der Installation von `pip install huggingface_hub hf_transfer` ). Du kannst wählen `UD-`Q2\_K\_XL (dynamische 2-Bit-Quantisierung) oder andere quantisierte Versionen wie `Q4_K_M` . Wir <mark style="background-color:green;">**empfehlen unsere dynamische 2,7-Bit-Quantisierung**</mark><mark style="background-color:green;">**&#x20;**</mark><mark style="background-color:green;">**`UD-Q2_K_XL`**</mark><mark style="background-color:green;">**&#x20;**</mark><mark style="background-color:green;">**zu verwenden, um Größe und Genauigkeit auszubalancieren**</mark>.

```python
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0" # Kann manchmal Ratenlimits auslösen, daher auf 0 setzen, um es zu deaktivieren
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/DeepSeek-V3.1-Terminus-GGUF",
    local_dir = "unsloth/DeepSeek-V3.1-Terminus-GGUF",
    allow_patterns = ["*UD-Q2_K_XL*"], # Dynamische 2-Bit-Version Verwende "*UD-TQ1_0*" für dynamische 1-Bit-Version
)
```

{% endstep %}

{% step %}
Du kannst `--threads 32` für die Anzahl der CPU-Threads, `--ctx-size 16384` für die Kontextlänge, `--n-gpu-layers 2` für GPU-Offloading, wie viele Schichten. Passe es an, wenn deine GPU keinen Speicher mehr hat. Entferne es auch, wenn du nur CPU-Inferenz hast.

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli \
    --model unsloth/DeepSeek-V3.1-Terminus-GGUF/UD-Q2_K_XL/DeepSeek-V3.1-Terminus-UD-Q2_K_XL-00001-of-00006.gguf \
    --jinja \
    --n-gpu-layers 99 \
    --temp 0.6 \
    --top-p 0.95 \
    --min-p 0.01 \
    --ctx-size 16384 \
    --seed 3407 \
    -ot ".ffn_.*_exps.=CPU"
```

{% endcode %}
{% endstep %}

{% step %}
Hole dir die 1-Bit-Version (170GB), wenn du nicht genug kombinierten RAM und VRAM hast:

```python
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/DeepSeek-V3.1-Terminus-GGUF",
    local_dir = "unsloth/DeepSeek-V3.1-Terminus-GGUF",
    allow_patterns = ["*UD-TQ1_0*"], # Verwende "*UD-Q2_K_XL*" für dynamische 2-Bit-Version
)
```

{% endstep %}
{% endstepper %}

### ✨ Bereitstellen mit llama-server und der Completion-Bibliothek von OpenAI

Um llama-server für die Bereitstellung zu verwenden, nutze den folgenden Befehl:

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-server \
    --model unsloth/DeepSeek-V3.1-Terminus-GGUF/DeepSeek-V3.1-Terminus-UD-TQ1_0.gguf \
    --alias "unsloth/DeepSeek-V3.1-Terminus" \
    --n-gpu-layers 999 \
    -ot ".ffn_.*_exps.=CPU" \
    --prio 3 \
    --min-p 0.01 \
    --ctx-size 16384 \
    --port 8001 \
    --jinja
```

{% endcode %}

Dann verwende die Python-Bibliothek von OpenAI nach `pip install openai` :

```python
from openai import OpenAI
import json
openai_client = OpenAI(
    base_url = "http://127.0.0.1:8001/v1",
    api_key = "sk-no-key-required",
)
completion = openai_client.chat.completions.create(
    model = "unsloth/DeepSeek-V3.1-Terminus",
    messages = [{"role": "user", "content": "Was ist 2+2?"},],
)
print(completion.choices[0].message.content)
```

## :minidisc:Modell-Uploads

**ALLE unsere Uploads** - einschließlich derjenigen, die nicht auf imatrix-basierten oder dynamischen Verfahren beruhen, verwenden unseren Kalibrierungsdatensatz, der speziell für Unterhaltungs-, Coding- und Sprachaufgaben optimiert ist.

* Vollständige DeepSeek-V3.1-Modell-Uploads unten:

Wir haben auch [IQ4\_NL](https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/IQ4_NL) und [Q4\_1](https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/Q4_1) Quants hochgeladen, die jeweils speziell schneller auf ARM- bzw. Apple-Geräten laufen.

<table data-full-width="false"><thead><tr><th>MoE-Bits</th><th>Typ + Link</th><th>Festplattengröße</th><th>Details</th></tr></thead><tbody><tr><td>1,66 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF?show_file_info=DeepSeek-V3.1-UD-TQ1_0.gguf">TQ1_0</a></td><td><strong>170 GB</strong></td><td>1,92/1,56 Bit</td></tr><tr><td>1,78 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/UD-IQ1_S">IQ1_S</a></td><td><strong>185 GB</strong></td><td>2,06/1,56 Bit</td></tr><tr><td>1,93 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/UD-IQ1_M">IQ1_M</a></td><td><strong>200 GB</strong></td><td>2.5/2.06/1.56</td></tr><tr><td>2,42 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/UD-IQ2_XXS">IQ2_XXS</a></td><td><strong>216 GB</strong></td><td>2,5/2,06 Bit</td></tr><tr><td>2,71 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/UD-Q2_K_XL">Q2_K_XL</a></td><td><strong>251 GB</strong></td><td>3,5/2,5 Bit</td></tr><tr><td>3,12 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/UD-IQ3_XXS">IQ3_XXS</a></td><td><strong>273 GB</strong></td><td>3,5/2,06 Bit</td></tr><tr><td>3,5 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/UD-Q3_K_XL">Q3_K_XL</a></td><td><strong>296 GB</strong></td><td>4,5/3,5 Bit</td></tr><tr><td>4,5 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/UD-Q4_K_XL">Q4_K_XL</a></td><td><strong>384 GB</strong></td><td>5,5/4,5 Bit</td></tr><tr><td>5,5 Bit</td><td><a href="https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF/tree/main/UD-Q5_K_XL">Q5_K_XL</a></td><td><strong>481 GB</strong></td><td>6,5/5,5 Bit</td></tr></tbody></table>

Wir haben auch Versionen hochgeladen in [BF16-Format](https://huggingface.co/unsloth/DeepSeek-V3.1-BF16), und ursprüngliches [FP8- (float8-)Format](https://huggingface.co/unsloth/DeepSeek-V3.1).

## :snowboarder: Verbesserung der Generierungsgeschwindigkeit

Wenn du mehr VRAM hast, kannst du versuchen, mehr MoE-Schichten oder ganze Schichten auszulagern.

Normalerweise `-ot ".ffn_.*_exps.=CPU"` lagert alle MoE-Schichten auf die CPU aus! Dadurch können praktisch alle Nicht-MoE-Schichten auf 1 GPU passen, was die Generierungsgeschwindigkeit verbessert. Du kannst den Regex-Ausdruck anpassen, um mehr Schichten unterzubringen, wenn du mehr GPU-Kapazität hast.

Wenn du etwas mehr GPU-Speicher hast, probiere `-ot ".ffn_(up|down)_exps.=CPU"` Das lagert MoE-Schichten für Up- und Down-Projektionen aus.

Probiere `-ot ".ffn_(up)_exps.=CPU"` wenn du noch mehr GPU-Speicher hast. Das lagert nur MoE-Schichten für Up-Projektionen aus.

Du kannst den Regex auch anpassen, zum Beispiel `-ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU"` bedeutet, Gate-, Up- und Down-MoE-Schichten auszulagern, aber nur ab der 6. Schicht.

Die [neueste llama.cpp-Version](https://github.com/ggml-org/llama.cpp/pull/14363) führt außerdem den High-Throughput-Modus ein. Verwende `llama-parallel`. Lies mehr darüber [hier](https://github.com/ggml-org/llama.cpp/tree/master/examples/parallel). Du kannst auch **den KV-Cache auf 4 Bit quantisieren** zum Beispiel, um VRAM-/RAM-Bewegungen zu reduzieren, was den Generierungsprozess ebenfalls beschleunigen kann.

## 📐Wie man langen Kontext unterbringt (vollständige 128K)

Um längeren Kontext unterzubringen, kannst du **KV-Cache-Quantisierung** verwenden, um die K- und V-Caches auf niedrigere Bits zu quantisieren. Dies kann aufgrund reduzierter RAM-/VRAM-Datenbewegungen auch die Generierungsgeschwindigkeit erhöhen. Die zulässigen Optionen für die K-Quantisierung (Standard ist `f16`) umfassen die folgenden.

`--cache-type-k f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1`

Du solltest die `_1` Varianten für etwas höhere Genauigkeit verwenden, auch wenn sie etwas langsamer sind. Zum Beispiel `q4_1, q5_1`

Du kannst den V-Cache auch quantisieren, aber dann musst du **llama.cpp mit Flash-Attention-Unterstützung kompilieren** über `-DGGML_CUDA_FA_ALL_QUANTS=ON`, und `--flash-attn` verwenden, um sie zu aktivieren. Danach kannst du es zusammen mit `--cache-type-k` :

`--cache-type-v f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://unsloth.ai/docs/de/modelle/tutorials/deepseek-v3.1-how-to-run-locally.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
