Backports brachte keinen neueren Treiber (bleibt 550/CUDA 12.4). Statt Upgrade: Voxtral-Mini-3B-2507 via Transformers mit torch 2.6.0+cu124 (F5-Trick) — laeuft auf 550, ~9 GB bf16 auf GPU 1. Chunked wie whisper mit dem adaptiven M0.1-Endpointer, RVS-Protokoll identisch (drop-in). Ersetzt den vLLM-Realtime-4B-Ansatz (der brauchte 16 GB). Compose: ein Container, GPU-1-gepinnt, Profil 'voxtral'. Transformers-API in einer Methode gekapselt (verify-on-run). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
48 lines
2.4 KiB
Markdown
48 lines
2.4 KiB
Markdown
# Voxtral-STT-3B-Satellit (Transformers)
|
|
|
|
Streaming-STT via **Voxtral-Mini-3B-2507** (Mistral, Apache 2.0) über
|
|
🤗 Transformers. Ersetzt whisper als STT — genauer, und **ohne Treiber-Upgrade**:
|
|
läuft auf dem Trixie-Standardtreiber (550/CUDA 12.4) via **torch 2.6.0+cu124**
|
|
(derselbe Trick wie bei f5tts).
|
|
|
|
- Modell ~9 GB (bf16) → **GPU 1** (die 12-GB-Karte; per Compose gepinnt).
|
|
- **F5-TTS + LLM** bleiben auf GPU 0 (8 GB).
|
|
- Arbeitsweise = chunked wie whisper: live PCM → alle ~1 s transkribieren
|
|
(Partials) → **adaptiver Endpointer** (Rausch-Boden-VAD + semantische
|
|
Stagnation, aus M0.1) feuert `stt_endpoint`. RVS-Protokoll identisch → drop-in.
|
|
|
|
## Starten (Profil `voxtral`)
|
|
|
|
```bash
|
|
cd xtts
|
|
docker compose stop whisper-bridge # sonst beantworten beide stt_*
|
|
docker compose --profile voxtral up -d --build
|
|
docker logs -f aria-voxtral-bridge # Modell laedt (mehrere GB), dann "RVS verbunden"
|
|
```
|
|
Zurück zu whisper: `docker compose --profile voxtral down && docker compose up -d whisper-bridge`.
|
|
|
|
## ⚠️ Auf echter Hardware verifizieren (blind gebaut)
|
|
|
|
1. **Transformers-API.** Die exakte Voxtral-Transkriptions-API ist in `bridge.py`
|
|
in **einer** Methode gekapselt (`VoxtralRunner._transcribe_blocking`), modelliert
|
|
nach der HF-Modelcard (`apply_transcription_request` → `generate` → `batch_decode`).
|
|
Beim ersten Lauf gegen die Modelcard prüfen und dort anpassen.
|
|
2. **HF-Gating.** Ist `Voxtral-Mini-3B-2507` gated, `HF_TOKEN` in `xtts/.env` setzen
|
|
(wird als `HUGGING_FACE_HUB_TOKEN` durchgereicht).
|
|
3. **VRAM/Tempo.** 3B in bf16 ~9 GB auf der 12-GB-Karte — Rest fürs KV-Cache. Ist die
|
|
Partial-Transkription (alle 1 s) zu schwer, `STREAM_TRANSCRIBE_INTERVAL_MS` hochsetzen.
|
|
4. **torch-Konflikt.** Falls `transformers`/`mistral-common` beim Build torch>2.6
|
|
erzwingen, meldet der Constraint einen Konflikt → dann brauchen wir doch das
|
|
Treiber-Upgrade (`bootstrap.sh --upgrade-driver` via NVIDIA-CUDA-Repo) + cu126-torch.
|
|
|
|
## Protokoll (RVS, identisch zu whisper — drop-in)
|
|
Rein: `stt_stream_start`, `stt_audio_chunk` (16 kHz mono s16le, base64), `stt_stream_end`.
|
|
Raus: `stt_partial`, `stt_endpoint`, `stt_stream_done`.
|
|
|
|
## TTS
|
|
Bleibt **F5-TTS** (klingt gut, passt auf GPU 0). Voxtral-TTS bräuchte ~24 GB — separates Thema.
|
|
|
|
## Quellen
|
|
- Modell: https://huggingface.co/mistralai/Voxtral-Mini-3B-2507
|
|
- Transformers-Nutzung: HF-Modelcard (Voxtral) + `mistral-common`
|