Initial commit

This commit is contained in:
admin committed 2026-09-05 22:47:35 +02:00
commit 8641464a6c
44 files changed
+2192

No files matched your search

+98
View File
@@ -0,0 +1,98 @@
# Qwen auf RTX 3080 10 GB / Hyprland
Zielhardware: RTX 3080 mit 10 GiB, i9-13900KF, 64 GB RAM. Der Desktop und
llama.cpp nutzen dieselbe GPU. Das 27B-Modell in Q4_K_M passt nicht vollständig
in 10 GiB: CPU/RAM-Offload bleibt erforderlich. Mehr VRAM für Gewichte kann
helfen; weder Voll-Offload noch eine bestimmte Beschleunigung werden versprochen.
## Profile
| Profil | Kontextlimit | Fit-Zielmarge | Einsatz |
| --- | ---: | ---: | --- |
| `baseline` | 65536 | 1536 MiB | bisherige Startparameter, Referenz und Rückweg |
| `balanced` | 49152 | 1536 MiB | erster Vergleich, nur Kontext reduzieren |
| `vram-plus` | 49152 | 1280 MiB | zweiter Vergleich, kleinere Zielmarge |
| `compact` | 32768 | 1536 MiB | Alternative für kürzere Sitzungen |
Alle Profile: ein Slot, K/V-Cache q8_0, Flash Attention auto, GPU-Layer auto,
Fit an, 6 Generierungs-/16 Batch-Threads, Jinja, Reasoning auto/512/preserve,
Image-Minimum 1024 Tokens und Idle-Sleep nach 300 Sekunden. Modellalias bleibt
`qwen38-27b-local`. Es werden keine Sampling-Werte oder Hermes-Memories geändert.
Die Definitionen stehen zentral in `libexec/hermes-stack-llama-run`.
Die Konfiguration und Optionsnamen werden anhand der installierten Binary
geprüft. Nicht unterstützte Optionen führen zum Abbruch, nicht zum stillen
Weglassen. Diese Prüfung kann GPU-Laufzeitfehler oder ungültige Optionswerte
nicht ausschließen. Auf anderer Hardware die Profile nicht ungeprüft übernehmen.
**Fit-Zielmarge ist keine geschützte VRAM-Reservierung.** Sie beeinflusst die
Speicheranpassung beim Laden; später wachsende Browser-/Desktop-/Bildlast kann
trotzdem zu Speicherdruck führen. Verfügbare Layer und Puffer hängen auch von
Modellarchitektur, Kontext, Projektor und llama.cpp-Version ab. Weniger Kontext
bedeutet nicht proportional weniger Gesamtspeicher. 1024 MiB und weniger sind
hier bewusst nicht als fertiges Profil vorgesehen.
## Messung statt Auslastungsziel
1. Zuerst `baseline` mit deiner normalen Browser-/Hyprland-Nutzung messen.
2. Jobs beenden. `balanced` wählen und kontrolliert neu starten.
3. Dieselben Aufgaben erneut ausführen: kurze Textantwort, längerer Agent-Task
mit Tools und eine repräsentative Bildaufgabe. Qualität mitbewerten.
4. Kalten Start nach Idle-Sleep getrennt von warmem Prompt-Cache messen.
5. Erst bei genügend Spielraum `vram-plus` probieren. Bei Rucklern, OOM,
Grafikfehlern oder deutlich schlechterer Latenz zurück auf `baseline`.
```bash
~/.local/libexec/hermes-stack-llama-profile list
~/.local/libexec/hermes-stack-llama-report
# Nur speichern, unterbricht nichts:
~/.local/libexec/hermes-stack-llama-profile balanced
# Ausschließlich nach Abschluss aller Backend-Jobs:
~/.local/libexec/hermes-stack-llama-restart --jobs-finished
journalctl --user -u llama-qwen.service -f
```
Laufende Inferenz überlebt diesen **llama.cpp-Neustart nicht**. Ein Hermes-Update
ist davon getrennt. Die neue Healthcheck-Version startet einen laufenden
llama-server nicht allein wegen eines HTTP-Timeouts neu. Ein inaktiver Dienst
wird nur mit `LLAMA_HEALTH_AUTORESTART=1` automatisch wieder gestartet.
GPU während aller Vergleichsläufe beobachten, nicht nur nach Modellstart:
```bash
nvidia-smi --query-gpu=timestamp,memory.used,memory.free,utilization.gpu \
--format=csv --loop=1
```
Pro Profil notieren: freie VRAM-Minima, tatsächlich ausgelagerte GPU-Layer,
Prompt-tok/s, Generierungs-tok/s, Zeit bis erster Antwort, Job-Gesamtdauer,
Desktop-Verhalten und Ergebnisqualität. Nicht die höchste VRAM-Anzeige gewinnt,
sondern die beste zuverlässig nutzbare Leistung.
Bei kleinerem Kontext auch Hermes' Kontextbudget passend konfigurieren: erst
die in deiner Hermes-Version verfügbaren Modell-/Konfigurationsoptionen ansehen.
Der Alias bleibt gleich, daher erkennt Hermes eine geänderte Grenze nicht
zwingend automatisch. Lange alte Sitzungen nicht ungeprüft fortsetzen; eine
frische Sitzung für den Vergleich verwenden. Das Deployment überschreibt deine
`config.yaml` bewusst nicht.
## Rückkehr
```bash
~/.local/libexec/hermes-stack-llama-profile baseline
~/.local/libexec/hermes-stack-llama-restart --jobs-finished
```
Eine Profiländerung stellt keine anderen Konfigurationen zurück. Für alte
vollständige Startparameter siehe `WORKSTATION.md`. Browserbeschleunigung,
NVIDIA-Treiber, Hyprland und Kernelparameter werden nicht verändert.
## Quellen
Offizielle [llama.cpp-Argumentdefinitionen](https://github.com/ggml-org/llama.cpp/blob/master/common/arg.cpp)
für Fit-Marge, Kontext, Cache und Idle-Sleep; geprüft am 2026-09-05. Maßgeblich
für deinen Rechner bleibt `llama-server --help` seiner tatsächlich installierten
Version. Die Profile übernehmen die von dir gezeigten Modellparameter; sie
sind noch kein auf deiner GPU gemessener Optimalwert.