Variante 2 / 6

speechLLM

Connecter l’encodeur PantagruelModèle de traitement audio développé au LIG-GETALP. Il convertit le signal audio en vecteurs numériques représentant le contenu de la parole. → glossaire à un grand modèle de langue (LLM)Grand modèle de langue pré-entraîné sur des milliards de mots. Ici, il reçoit les vecteurs audio et génère la traduction en anglais. → glossaire via un projecteurPetit adaptateur (quelques couches linéaires) qui « traduit » les vecteurs audio dans le format attendu par le LLM. C’est le seul composant entraîné. → glossaire minimal. Seul le projecteur est entraîné — le LLM reste geléGelé = ses paramètres internes sont bloqués pendant l’entraînement : il traite les données mais n’apprend pas. → glossaire.

« On ne réentraîne presque rien, seulement un petit adaptateur entre l’oreille et un modèle de texte déjà très capable. »

Survolez les termes soulignés en pointillésExplication courte affichée au survol de la souris. pour une définition en langage courant. Si la bulle contient un lien, cliquez d’abord sur le terme pour la maintenir affichée, puis sur le lien — sinon elle disparaît dès que la souris s’éloigne.

Architecture

Inspirée de SLAM-ASR (Ma et al., 2024) : l’encodeur acoustique et le LLM restent gelés ; seul le projecteur (quelques couches linéaires) est entraîné pour aligner les deux espaces.

Audio FR m-TEDx 16 kHz mono Encodeur Pantagruel B-1k · L-14k · L-114k gelé par défaut (expérience : dégelé) Projecteur couches linéaires aligne audio → LLM seul élément entraîné LLM Phi-2 / Qwen / Llama… format USER/ASSISTANT gelé génération en anglais Texte EN max 48 tok (recommandé) beam ≤ 3

Projecteur : quelques couches linéaires qui projettent les vecteurs acoustiques de l’encodeur dans l’espace d’entrée du LLMGrand modèle de langue (Large Language Model) : pré-entraîné sur des milliards de mots, il génère ici la traduction anglaise. → glossaire. C’est le seul composant entraîné (mode B1). L’entraînement est rapide (20k updates, 1–6 h).

Format dialogue : le modèle est entraîné avec une consigne (prompt)Texte d’instruction passé au LLM avant l’audio pour guider sa réponse : traduire en anglais, ne pas commenter, etc. → glossaire côté USER et la traduction attendue côté ASSISTANT. Le LLM génère l’anglais comme dans une conversation. La consigne est un hyperparamètre important.

Contrainte de longueur : max_new_tokensNombre maximal de sous-mots (tokens) que le modèle peut générer. Trop élevé → traduction trop longue → score BLEU chute malgré une traduction correcte. → glossaire: 48 est le réglage qui donne 15 BLEUScore standard mesurant la qualité d’une traduction (0–100, plus c’est élevé, mieux c’est). → glossaire utterance (run_012, run_013). Les configs à 128 tokens produisent des hypothèses 3× trop longues et chutent à 5–6 BLEU (run_017, run_021).

Hyperparamètres

Paramètre Explication simple Valeurs / options Impact sur les résultats État
max_new_tokensNombre maximal de sous-mots (tokens) que le modèle peut générer par traduction. → glossaire Limite la longueur de la traduction produite. Trop haute → le modèle « déborde » et génère du texte inutile, ce qui fait chuter le score. 48 (recommandé) / 128 (à éviter) 128 tok → hypothèses 3× trop longues → BLEU 5–6 au lieu de 15 configs v2/v3 à 128 tok — utiliser 48
Taille de l’encodeurModèle audio qui convertit le signal sonore en vecteurs numériques. Plus il est grand, meilleure est la représentation — mais plus lent. → glossaire Quelle version du modèle audio utiliser. Les versions plus grandes capturent plus de détails de la parole mais consomment plus de mémoire et de temps de calcul. B-1k / L-14k / L-114k B-1k 7,5 → L-14k/L-114k 15 BLEU utterance ok
Gel / dégelGelé = poids du modèle figés pendant l’entraînement (il ne modifie pas ses paramètres). Dégelé = il peut s’adapter. → glossaire de l’encodeur Pendant l’entraînement du projecteur, autorise-t-on le modèle audio à modifier ses paramètres internes ? Geler stabilise l’entraînement ; dégeler peut améliorer les performances mais est risqué. frozen (défaut) / unfrozen Dégel risqué en utterance (3,7 test) ; meilleur résultat gelé (15) ok
Choix du LLMGrand modèle de langue (Large Language Model) qui génère la traduction en anglais à partir des vecteurs audio. → glossaire Quel modèle de texte génératif utiliser pour produire la traduction. Chacun a ses forces et ses faiblesses selon la tâche. Phi-2 (défaut) · Qwen2.5-3B · Llama-3.2-3B · Mistral Qwen2.5-3B 13 test (run_018) ; Llama-3.2-3B 16,3 test (run_052) — au-dessus de Phi-2 (run_012 15 test) Llama ok
Beam searchLors de la génération, nombre de pistes de traduction explorées en parallèle avant de choisir la meilleure. Beam trop grand → répétitions. → glossaire Combien d’hypothèses de traduction le modèle explore-t-il simultanément ? Un beam plus grand est plus lent et peut créer des boucles de répétition avec ce modèle. beam ≤ 3 (beam ≥ 4 → boucles de répétition) Attention aux boucles ; greedy ou beam 1–3 recommandé sensible au réglage
Consigne (prompt)Texte d’instruction donné au LLM pour guider sa réponse : « traduis en anglais », « ne commente pas », etc. → glossaire Texte d’instruction qu’on place avant l’audio pour dire au modèle ce qu’on attend de lui. Une mauvaise consigne peut faire produire du français ou du texte hors-sujet. Format USER/ASSISTANT — texte libre Qualité de la consigne influe sur la langue de sortie et la verbosité à affiner
Warmup LRLe taux d’apprentissage monte progressivement en début d’entraînement pour éviter des mises à jour trop brusques. → glossaire La « vitesse d’apprentissage » monte doucement au début de l’entraînement pour éviter des ajustements trop violents qui déstabiliseraient le modèle. Déjà implémenté dans 2_speechLLM/train.py Conforme au PRD ok
Durée d’entraînement Nombre total de mini-lots de données traités avant d’arrêter l’entraînement. 20 000 ici, ce qui représente plusieurs passages sur l’ensemble du corpus. 20k updates Convergence rapide par rapport à la variante 1 ok

📊 Résultats

RunIdentifiant d’une expérience. Chaque run teste une combinaison précise de paramètres (encodeur, segmentation, LLM…). → glossaire EncodeurModèle audio utilisé (B-1k / L-14k / L-114k) et si ses poids étaient gelés ou dégelés pendant l’entraînement. → glossaire SegmentationComment l’audio de test a été découpé : par énoncé (utterance) ou en pseudo-phrases (sentence_like). Les deux modes ne se comparent pas directement. → glossaire BLEU testScore BLEU mesuré sur le jeu de test. 0–100 ; plus c’est élevé, meilleure est la traduction. → glossaire Durée GPUTemps de calcul sur carte graphique (entraînement + évaluation). → glossaire Notes
run_005 B-1k (dégeléL’encodeur a pu modifier ses paramètres pendant l’entraînement. → glossaire) sentence_likeSegmentation qui regroupe plusieurs énoncés en pseudo-phrases plus longues. Les scores ne se comparent pas directement aux scores utterance. → glossaire 19 2 h Meilleur global B1 ; encodeur dégelé
run_013 L-114k (geléL’encodeur n’a pas modifié ses paramètres : seul le projecteur a été entraîné. → glossaire) utteranceSegmentation par énoncé : chaque segment correspond à une phrase parlée complète. → glossaire 15,2 4–6 h 48 tok ; meilleur utterance
run_012 L-14k (gelé) utterance 15,0 1,4 h 48 tok
run_018 L-14k + Qwen2.5-3B utterance 13,0 ~2,7 h Sous Phi-2 (run_012)
run_047 L-14k couche 9 (gelé) utterance 14,0 ~2,5 h Piste J — sous run_012
run_050 L-14k (gelé, seed 2) utterance 14,0 ~3,5 h Réplicabilité — sous run_012
run_051 L-14k contrôle couche -1 utterance 13,6 ~2,9 h Piste J clos — sous run_012
run_052 L-14k + Llama-3.2-3B utterance 16,3 ~2,7 h Meilleur speechLLM — au-dessus run_013 (15,2)
run_054 L-14k + Mistral-7B 4-bit utterance 14,2 ~14 h Sous Phi-2 (15,0) et Llama — ablation B2bis clos
run_002 B-1k (gelé) sentence_like 16 2 h Encodeur gelé
run_003 B-1k utterance 7,5 2 h B-1k ; bas
run_015 L-14k (dégelé) utterance 3,7 2–3 h Dégel encodeur en utterance — sous run_012 gelé
run_017 L-114k utterance 5,6 15 h échec 128 tok — hypothèses 3× trop longues
run_021 L-14k utterance 5,5 4 h échec 128 tok — même problème que run_017
Règle empirique : utiliser max_new_tokens: 48 (comme run_012 et run_013). Les configs à 128 tokens produisent des hypothèses beaucoup trop longues et font chuter le BLEUScore de qualité de traduction (0–100). Une hypothèse trop longue est pénalisée même si le début est correct. → glossaire à 5–6. Les scores utterance et sentence_like ne sont pas directement comparables.

🔧 Pistes d’amélioration

🔗 Liens

Autres variantes : 1 · Transformer 3 · Gemini 4 · Cascade 5 · Speech_Text 6 · Open ST