feat(voxtral): STT-3B via Transformers (torch cu124, kein Treiber-Upgrade)
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>
This commit is contained in:
+12
-35
@@ -138,55 +138,32 @@ services:
|
||||
- LLM_TIMEOUT_SEC=${LLM_TIMEOUT_SEC:-600}
|
||||
restart: unless-stopped
|
||||
|
||||
# ─── Voxtral STT (GPU, Realtime) — PROFIL "voxtral" ───────────
|
||||
# Ersetzt whisper als STT sobald die 24-GB-Karte da ist. Startet NUR mit
|
||||
# docker compose --profile voxtral up -d
|
||||
# (sonst kollidiert es mit whisper — beide wuerden stt_* beantworten).
|
||||
#
|
||||
# ⚠️ VRAM: Voxtral-Mini-4B-Realtime-2602 braucht >=16 GB (BF16, laut vLLM-
|
||||
# Rezept keine Quant). Laeuft NICHT auf der 3060 (12 GB) — erst 24-GB-Karte.
|
||||
# ⚠️ vLLM: Version >=0.20.0 noetig. Entrypoint/Serve-Form beim ersten Lauf
|
||||
# gegen das offizielle Rezept pruefen (siehe voxtral/README.md).
|
||||
voxtral-vllm:
|
||||
image: vllm/vllm-openai:latest
|
||||
container_name: aria-voxtral-vllm
|
||||
# ─── Voxtral STT-3B (Transformers, GPU) — PROFIL "voxtral" ─────
|
||||
# Ersetzt whisper als STT. Laeuft auf Treiber 550/CUDA 12.4 (torch cu124, KEIN
|
||||
# Treiber-Upgrade noetig). Modell Voxtral-Mini-3B-2507 (~9 GB bf16) → GPU 1.
|
||||
# Startet NUR mit: docker compose --profile voxtral up -d --build
|
||||
# Vorher whisper stoppen, sonst beantworten beide stt_* (Kollision):
|
||||
# docker compose stop whisper-bridge
|
||||
voxtral-bridge:
|
||||
build: ./voxtral
|
||||
container_name: aria-voxtral-bridge
|
||||
profiles: ["voxtral"]
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
device_ids: ["1"] # 12-GB-Karte (STT-3B ~9 GB); GPU 0 (8 GB) bleibt fuer F5/LLM
|
||||
capabilities: [gpu]
|
||||
volumes:
|
||||
- ./hf-cache:/root/.cache/huggingface # gleicher Modell-Cache wie whisper/f5
|
||||
environment:
|
||||
- VLLM_DISABLE_COMPILE_CACHE=1
|
||||
- HUGGING_FACE_HUB_TOKEN=${HF_TOKEN:-}
|
||||
# Serve-Command aus dem vLLM-Rezept (Voxtral-Mini-4B-Realtime-2602).
|
||||
command:
|
||||
- --model
|
||||
- mistralai/Voxtral-Mini-4B-Realtime-2602
|
||||
- --tokenizer-mode
|
||||
- mistral
|
||||
- --compilation_config
|
||||
- '{"cudagraph_mode":"PIECEWISE"}'
|
||||
restart: unless-stopped
|
||||
|
||||
# ─── Voxtral-Bridge — RVS <-> vLLM-Realtime-WS (CPU-Glue) ─────
|
||||
voxtral-bridge:
|
||||
build: ./voxtral
|
||||
container_name: aria-voxtral-bridge
|
||||
profiles: ["voxtral"]
|
||||
depends_on:
|
||||
- voxtral-vllm
|
||||
environment:
|
||||
- RVS_HOST=${RVS_HOST}
|
||||
- RVS_PORT=${RVS_PORT:-443}
|
||||
- RVS_TLS=${RVS_TLS:-true}
|
||||
- RVS_TLS_FALLBACK=${RVS_TLS_FALLBACK:-true}
|
||||
- RVS_TOKEN=${RVS_TOKEN}
|
||||
- VOXTRAL_VLLM_URL=ws://voxtral-vllm:8000/v1/realtime
|
||||
- VOXTRAL_MODEL=mistralai/Voxtral-Mini-4B-Realtime-2602
|
||||
- VOXTRAL_MODEL=mistralai/Voxtral-Mini-3B-2507
|
||||
- VOXTRAL_LANGUAGE=${WHISPER_LANGUAGE:-de}
|
||||
- HUGGING_FACE_HUB_TOKEN=${HF_TOKEN:-} # falls das Modell HF-gated ist
|
||||
restart: unless-stopped
|
||||
|
||||
Reference in New Issue
Block a user