Spec : remplacer mes estimations par les mesures reelles

L'estimation annoncait 15 a 30 s pour medium sur CPU et l'ecartait d'avance. La
mesure dit 4,4 s — et ce modele est PLUS JUSTE que le moteur GPU en service.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ralph Mayola 2026-08-23 18:45:42 +02:00
parent 2ccb614649
commit d7680227db

View File

@ -67,13 +67,28 @@ sinon → faster-whisper CPU
La **décision** est une fonction pure recevant `(plateforme, processeur, cuda_disponible)` ; l'**interrogation** de la machine est séparée. Les quatre configurations sont donc testables depuis un seul Mac.
| Configuration | Moteur | Modèle | Latence |
|---|---|---|---|
| Mac Apple Silicon | MLX | `whisper-medium` | ~1,3 s (mesuré) |
| Windows + NVIDIA | faster-whisper CUDA | `medium` float16 | 12 s (**à mesurer**) |
| Mac Intel · Windows CPU | faster-whisper CPU | `small` int8 | 38 s (**à mesurer**) |
**Mesuré le 2026-08-23** — trois échantillons, amorce de vocabulaire active, sur le CPU d'un Apple Silicon :
`medium` est écarté sur CPU : 15 à 30 s tuerait l'usage.
| Moteur et modèle | Latence | Termes techniques | Taille |
|---|---|---|---|
| faster-whisper `base` int8 CPU | 0,52 s | 10/13 | 142 Mo |
| faster-whisper `small` int8 CPU | 1,42 s | 11/13 | 464 Mo |
| faster-whisper `medium` int8 CPU | 4,40 s | **13/13** | 1460 Mo |
| MLX `medium` GPU *(moteur actuel)* | 0,75 s | 11/13 | 489 Mo |
🔴 **Ces chiffres démentent l'estimation initiale de cette spec**, qui annonçait 15 à 30 s pour `medium` sur CPU et l'écartait d'avance. C'est 4,4 s. Et `faster-whisper medium` sur CPU est **plus juste que le moteur GPU en service** (13/13 contre 11/13).
Choix retenus dans `core.MODELES_PAR_MOTEUR` :
| Configuration | Moteur | Modèle |
|---|---|---|
| Mac Apple Silicon | MLX | `mlx-community/whisper-medium` |
| Windows + NVIDIA | faster-whisper CUDA | `Systran/faster-whisper-medium` |
| Mac Intel · Windows CPU | faster-whisper CPU | `Systran/faster-whisper-small` |
⚠️ **Réserve sur le CPU** : les 4,4 s de `medium` ont été mesurées sur un CPU Apple Silicon, rapide. Un CPU Intel ou Windows peut demander trois à quatre fois plus. D'où `small` par défaut — même précision (11/13) que le MLX utilisé aujourd'hui, pour 1,4 s ici. **La commande de diagnostic mesurera la machine réelle et pourra promouvoir `medium`.**
`CONFIG["model"]`, désormais à `None`, force manuellement le modèle et prime sur la table.
**Première étape de l'implémentation : mesurer réellement les deux dernières lignes.** Le 2026-08-21, une mesure analogue a renversé l'intuition — `large-v3-turbo` s'est révélé PIRE que `medium`.
@ -151,7 +166,7 @@ Le périmètre dépasse un seul plan. Quatre étapes, chacune livrable et vérif
**Étape 1 — Extraire les contrats.** Créer `moteur/`, `interface/`, `systeme/` ; y déplacer le code Cocoa **sans le modifier** ; faire passer `controller.py` par les contrats. Aucun changement de comportement : les 80 tests actuels doivent rester verts, et Zonza fonctionner à l'identique sur le Mac. C'est l'étape qui dé-risque toutes les suivantes.
**Étape 2 — Moteur interchangeable.** Ajouter `faster-whisper`, la détection pure, et **mesurer** les latences réelles CPU. Vérifiable immédiatement sur le Mac, en forçant le moteur CPU.
**Étape 2 — Moteur interchangeable.** **Fait le 2026-08-23** (`2ccb614`, 115 tests) : `moteur/faster.py`, table `MODELES_PAR_MOTEUR`, forçage manuel, et les mesures ci-dessus.
**Étape 3 — Interface Qt.** Rejouer la suite de contrat de l'overlay contre l'implémentation Qt. Vérifiable sur le Mac : Qt y tourne aussi, ce qui permet de comparer les deux overlays côte à côte.