Davidmg0815 commited on
Commit
cea357f
·
verified ·
1 Parent(s): 008a906

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +51 -0
README.md CHANGED
@@ -214,6 +214,57 @@ unverändert weiter) erbt `supports_mtp_export = True` über
214
  Quelle: `Qwen/Qwen3.8-27B` in **BF16** (51,3 GB, 16,00 BPW), nicht das
215
  FP8-Release — also **keine** doppelte Quantisierung.
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  ## Zwei Hinweise für Ampere-Besitzer
218
 
219
  **FP8 läuft auf Ampere nicht nativ.** SM 8.6 hat keine FP8-Tensorcores, die gibt
 
214
  Quelle: `Qwen/Qwen3.8-27B` in **BF16** (51,3 GB, 16,00 BPW), nicht das
215
  FP8-Release — also **keine** doppelte Quantisierung.
216
 
217
+ ## Kontextlänge und KV-Cache — ab 48 GB hört die Abwägung auf
218
+
219
+ Auf kleineren Karten zwingt der KV-Cache zu einer Entscheidung: weniger Bits
220
+ im Cache, dafür mehr Kontext. Gemessen auf **60 GB** (3× RTX 3080) stellt sich
221
+ diese Frage nicht mehr, weil vorher das Modell selbst deckelt:
222
+
223
+ | KV-Cache | angefordert | tatsächlich belegt |
224
+ |---|---|---|
225
+ | q8_0 | 256.000 | 256.000 — läuft |
226
+ | q8_0 | 384.000+ | läuft, aber jenseits von `n_ctx_train` |
227
+ | q5_1 | 256.000 | 256.000 — läuft |
228
+ | q5_1 | 447.488 | abgelehnt |
229
+
230
+ `n_ctx_train` liegt bei Qwen3.8-27B bei **262.144 Token**. Darüber meldet
231
+ llama.cpp:
232
+
233
+ ```
234
+ llama_context: n_ctx_seq (384000) > n_ctx_train (262144)
235
+ -- possible training context overflow
236
+ ```
237
+
238
+ **Mit q8_0 erreicht man auf 60 GB bereits den vollen trainierten Kontext.** Ein
239
+ Wechsel auf q5_1 oder q4_0 bringt hier keine Kontextlänge mehr, sondern nur
240
+ freies VRAM — nützlich für mehr parallele Sitzungen, nicht für längere Eingaben.
241
+ Auf 24 oder 32 GB sieht das anders aus, dort ist die Abwägung real.
242
+
243
+ ## Flash-Attention mit quantisiertem KV-Cache: bitte selbst nachmessen
244
+
245
+ [llama.cpp-Issue #24485](https://github.com/ggml-org/llama.cpp/issues/24485)
246
+ beschreibt einen **stillen** Rückfall auf CPU-Attention, wenn ein quantisierter
247
+ KV-Cache mit Flash-Attention kombiniert wird und der Build ohne
248
+ `GGML_CUDA_FA_ALL_QUANTS=ON` erzeugt wurde. Keine Warnung, aber 25- bis
249
+ 45-fach langsamerer Prefill. Das Issue wurde als *not planned* geschlossen —
250
+ das Verhalten bleibt also bestehen.
251
+
252
+ Unser Build ist **nicht** betroffen. Der Test dauert fünf Minuten: derselbe
253
+ Prompt (8.933 Token), einmal mit q8_0-Cache, einmal mit f16.
254
+
255
+ | KV-Cache | Prefill | Generierung |
256
+ |---|---|---|
257
+ | q8_0 | **2.111,7 Tok/s** | 22,8 Tok/s |
258
+ | f16 | **2.142,7 Tok/s** | 23,0 Tok/s |
259
+
260
+ 1,4 Prozent Abstand — kein Rückfall. **Wichtig: an der Generierungsrate sieht
261
+ man den Fehler nicht.** Die ist durch die Speicherbandbreite begrenzt und ändert
262
+ sich kaum; nur die Prefill-Rate deckt das Problem auf. Das dürfte der Grund
263
+ sein, warum der Fehler in vielen Aufbauten unbemerkt bleibt.
264
+
265
+ Nebenbefund: `--flash-attn off` mit quantisiertem KV-Cache stürzt auf diesem
266
+ Build ab (Speicherzugriffsfehler), statt sauber abzulehnen.
267
+
268
  ## Zwei Hinweise für Ampere-Besitzer
269
 
270
  **FP8 läuft auf Ampere nicht nativ.** SM 8.6 hat keine FP8-Tensorcores, die gibt