Variante 3 / 6

Gemini (API cloud)

Envoyer l’audio à Google Gemini et récupérer la traduction anglaise. Zéro entraînement local — la ligne de référence « prêt à l’emploi ».

« On envoie l’audio à Google Gemini et on récupère la traduction anglaise, sans entraînement local. »

⚙ Architecture

Le système le plus simple : un appel API. Pas de pipeline local, pas de GPU d’entraînement. La traduction est entièrement déléguée au modèle multimodal de Google.

Audio FR m-TEDx fichier .wav API Google Gemini gemini-2.5-flash · gemini-3.5-flash modèle multimodal (audio + texte) sans entraînement local 0,50–1,30 $ / run complet Texte EN traduction max 8192 tokens

Comment ça marche : l’audio est encodé et envoyé à l’API Gemini avec une consigne textuelle (voir section Consigne). Le modèle multimodal traite directement l’audio et retourne le texte traduit. Aucun entraînement, aucun checkpoint local.

Garde-fous anti-boucles : pour le run de référence run_005, un post-traitement du texte renvoyé par l’API filtre le raisonnement interne et tronque les répétitions (« and and and… »). Sans ce filtre (run_004 utterance v2 initial), 2 extraits produisent des boucles qui biaisent le score test (20,3 au lieu de 41,1). Ce n’est pas une instruction ajoutée au prompt.

Point de vigilance : le corpus m-TEDx est librement accessible sur Internet (vidéos, transcriptions, sous-titres). On ne peut pas exclure que Gemini l’ait rencontré pendant son pré-entraînement. Les scores se comparent donc avec prudence aux modèles entraînés uniquement sur m-TEDx train/dev/test.

💬 Consigne (prompt)

Texte envoyé à l’API avec chaque segment audio. Identique pour tous les runs du projet (Gemini 2.5 et 3.5 Flash, utterance et sentence_like, configs v1 et v2).

Instruction envoyée à Gemini (prompt.template)

Translate the French speech to English.

Défaut du code : gemini_common.DEFAULT_PROMPT · temperature: 0

Format de la requête : l’API reçoit, dans l’ordre, la consigne ci-dessus puis le fichier audio (WAV 16 kHz). Le modèle doit renvoyer la traduction anglaise de la parole française entendue.

Fichiers de config : 3_Gemini/configs/fr-en/gemini_flash_35_utterance_v2.yaml (runs run_004 / run_005 utterance), gemini_flash_35_sentence_v2.yaml (sentence_like), gemini_flash.yaml et gemini_flash_utterance.yaml (2.5 Flash). La formulation est volontairement proche de celle utilisée en variante 2 (speechLLM).

Post-traitement (hors prompt) : les garde-fous du run_005 sont appliqués après la réponse API dans gemini_common.sanitize_gemini_translation : exclusion des parts de raisonnement interne (thought) et troncature des boucles de mots avant calcul du BLEU.

⚡ Hyperparamètres (paramètres API)

ParamètreValeursImpactÉtat
Modèle gemini-2.5-flash · gemini-3.5-flash 3.5 Flash v2 (41) > 2.5 Flash (34) en utterance avec bons réglages ok
max_output_tokens 256 (trop bas !) → 8192 (recommandé) 256 tok → troncature → BLEU 13 au lieu de 41 corrigé en v2
thinking_level minimal (v2) Réduit le coût API tout en gardant de bonnes performances ok en v2
Consigne (prompt) Translate the French speech to English. — voir section Même texte pour tous les runs ; pas de variante « anglais uniquement » testée à ce jour ok
Garde-fous anti-boucles Post-traitement sanitize_gemini_translation Filtre les répétitions après l’API — actif à partir de run_005 utterance (pas dans le prompt) ok en run_005
Mode de segmentation utterance (41 BLEU) · sentence_like (36,8) utterance donne un meilleur BLEU en 3.5 v2 ok

📊 Résultats

RunModèleSegmentationBLEU testDuréeCoût APINotes
run_005 3.5 Flash utterance 41,1 66 min 0,94 $ v2 ; max 8192 ; thinking minimal ; post-traitement
run_004 3.5 Flash sentence_like 36,8 38 min 1,27 $ v2 ; max 8192 ; post-traitement anti-boucles
run_001 2.5 Flash utterance 33,7 1–2 h voir metrics.json temp 0 ; max 256 tok
run_001 2.5 Flash sentence_like 23 1–2 h voir metrics.json —
run_003 3.5 Flash utterance 13,4 99 min 0,60 $ non conclusif — troncature (max 256 tok)
run_003 3.5 Flash sentence_like 1,5 42 min 0,52 $ non conclusif — troncature sévère
run_004 (v2 initial) 3.5 Flash utterance 20,3 — — biaisé — 2 outliers boucles, sans post-traitement
Interprétation : Gemini 3.5 Flash v2 (run_005, 41,1 BLEU) est le meilleur score global du projet. Mais les extraits m-TEDx étant accessibles en ligne, une partie de la performance peut refléter une familiarité avec le corpus. Comparer avec prudence aux systèmes entraînés uniquement sur m-TEDx.
Alternative ouverte : la variante 6 (Whisper-ST **36,6**, SeamlessM4T v2 **38,0** BLEU test) fournit une référence reproductible sans API — proche de la cascade (**37,4**).

🔧 Pistes d’amélioration

🔗 Liens

Autres variantes : 1 · Transformer 2 · speechLLM 4 · Cascade 5 · Speech_Text 6 · Open ST