78 lines
2.8 KiB
Markdown
78 lines
2.8 KiB
Markdown
# GPU-Bildrestaurierung auf Athena
|
|
|
|
Stand: 7. September 2026
|
|
|
|
## Zweck
|
|
|
|
Athena stellt zusätzlich zur kreativen FLUX-Bildgenerierung eine konservative
|
|
Fotorestaurierung mit `HYPIR-SD2` bereit. HYPIR wird ausschließlich für
|
|
Referenzbilder verwendet und soll Rauschen, Unschärfe und Kompressionsschäden
|
|
reduzieren, ohne die Szene wie ein Text-zu-Bild-Modell vollständig neu zu
|
|
erfinden.
|
|
|
|
Das Produktionsprofil verwendet absichtlich eine leere HYPIR-Textkonditionierung
|
|
(`HYPIR_PROMPT_MODE=empty`). Ausführliche Beschreibungen des Bildinhalts können
|
|
bei dem Stable-Diffusion-basierten Modell sonst neue Texturen und Details
|
|
erzwingen. Hermes versteht weiterhin die Benutzeranweisung; der Restaurations-
|
|
Worker erhält für die eigentliche Rekonstruktion jedoch keinen Kreativprompt.
|
|
|
|
## Aufruf und Routing
|
|
|
|
Der OpenAI-kompatible Endpunkt bleibt `/v1/images/edits`. Das gewünschte
|
|
Backend wird über `model` gewählt:
|
|
|
|
```json
|
|
{
|
|
"model": "HYPIR-SD2",
|
|
"prompt": "Restauriere dieses Foto möglichst originalgetreu.",
|
|
"image_b64": "...",
|
|
"upscale": 1,
|
|
"patch_size": 512,
|
|
"stride": 256
|
|
}
|
|
```
|
|
|
|
Hermes zeigt dafür das zusätzliche Chatmodell `restauration` neben
|
|
`qwen-fast`, `qwen-medium`, `qwen-large` und `qwen-ultra`. Es verwendet
|
|
`qwen-fast` als kurzes Anweisungsmodell und bindet das Bildwerkzeug fest an
|
|
HYPIR. Die Formulierung des Prompts entscheidet nicht über das Backend.
|
|
In jedem normalen Chatmodell bleiben Referenzbildänderungen bei FLUX.
|
|
|
|
## Lebenszyklus
|
|
|
|
1. Der Router merkt sich das aktive Qwen-Profil und wartet laufende Chats ab.
|
|
2. Profile Controller stoppt Qwen und Qwen3-TTS.
|
|
3. Der disposable `restoration-worker` lädt HYPIR auf der RTX 5080.
|
|
4. Nach der Ausgabe wird der Worker beendet und sein CUDA-Kontext freigegeben.
|
|
5. Qwen3-TTS und das zuvor aktive Qwen-Profil werden wiederhergestellt.
|
|
|
|
FLUX- und HYPIR-Worker können durch dieselbe Docker-Label-Allowlist nie
|
|
gleichzeitig mit einem Qwen-Profil laufen. Das Originalbild wird nicht
|
|
überschrieben; Eingaben werden nur als temporäre Dateien im privaten
|
|
`router-images`-Volume abgelegt und nach dem Auftrag entfernt.
|
|
|
|
## Modelle und Lizenz
|
|
|
|
- Code: `XPixelGroup/HYPIR`, Commit
|
|
`b61d107c6cef38f01a93c7833558869731cfa8c1`
|
|
- Restaurationsgewicht: `lxq007/HYPIR/HYPIR_sd2.pth`
|
|
- Basis: `LanguageMachines/stable-diffusion-2-1-base`, nur die benötigten
|
|
Diffusers-Komponenten
|
|
- HYPIR ist ausschließlich für nichtkommerzielle Nutzung freigegeben.
|
|
|
|
## Test
|
|
|
|
Für die Produktionsprobe in Hermes zuerst `restauration` auswählen, dann ein
|
|
Foto hochladen und beispielsweise `Mach das bitte schöner und schärfer`
|
|
schreiben. Danach sind zu prüfen:
|
|
|
|
```bash
|
|
docker ps -a --filter name=mike-ai-restoration-worker \
|
|
--format '{{.Names}} {{.Status}}'
|
|
nvidia-smi
|
|
curl -fsS http://127.0.0.1:8081/status
|
|
```
|
|
|
|
Erwartet: Restaurations-Worker beendet, vorheriges Qwen-Profil und TTS gesund,
|
|
Routerphase `idle`.
|