llmنُشر فـ 4 juin 20265 دقائق قراءة

Adapter Nemotron 3.5 ASR à votre langue et accent local

Un modèle ASR multilingue que vous pouvez spécialiser sur votre dialecte et votre domaine. Guide complet pour améliorer la précision en 3 étapes.

كيفاش تخصص Nemotron 3.5 ASR على اللغة ديالك والنطق المحلي

Si vous développez une application de transcription vocale (ASR — Automatic Speech Recognition), vous avez probablement rencontré les problèmes classiques :

  • Problème 1 : Pour supporter plusieurs langues, vous devez gérer 40 modèles différents ou 40 API de fournisseurs distincts. Chacun a sa latence et ses tarifs.
  • Problème 2 : Le streaming en temps réel exige de la vitesse, mais la plupart des systèmes retraitent les mêmes chunks audio plusieurs fois. Résultat : plus de latence et du calcul gaspillé.
  • Problème 3 : Le output est brut — pas de ponctuation, pas de majuscules. Vous avez besoin d'un second modèle pour corriger.
  • Problème 4 : Certaines langues se mélangent dans la phrase. Par exemple, en service client, le client parle anglais et français dans le même appel.

Nemotron 3.5 ASR a été conçu pour résoudre ces 4 problèmes dans un seul modèle.

Un modèle, 40 langues

Un seul modèle (600 millions de paramètres seulement) peut gérer :

L'anglais (américain et britannique), l'espagnol, l'allemand, le français, l'italien, l'arabe, le japonais, le coréen, le portugais, le russe, l'hindi, le turc, le vietnamien, le néerlandais, l'ukrainien, le polonais, le finnois, le mandarin, le tchèque, le bulgare, le slovaque, le suédois, le croate, le roumain, l'estonien, le danois, le hongrois, le norvégien, l'hébreu, le grec, le lituanien, le letton, le maltais, le slovène et le thaï.

Pas de changement de modèle. Un seul suffit.

Streaming réel, sans latence

Le modèle repose sur le Cache-Aware FastConformer encoder (une technique qui stocke les résultats précédents pour éviter de recalculer deux fois la même chose). Les systèmes traditionnels retraitent les mêmes chunks audio à chaque fois. Ce modèle, au lieu de cela, conserve l'état interne et le réutilise :

  • Chaque frame audio est traité une seule fois
  • Sans latence (latency très faible)
  • Sans perte de précision

Ponctuation et majuscules, intégrées au modèle

L'output est prêt pour la production : virgules, points, points d'interrogation, majuscules — tout correct du premier coup. Vous n'avez pas besoin d'un second modèle.

Détection de la langue : vous choisissez

Vous avez deux options :

  1. Dites au modèle la langue : target_lang=es-ES (si vous la connaissez déjà) — résultat plus précis
  2. Laissez-le la détecter : target_lang=auto (si vous ne la connaissez pas) — le modèle identifie la langue

Architecture interne

Le modèle a deux parties :

  • Encoder : 24 couches FastConformer, chacune conservant l'état des frames précédents
  • Decoder : RNNT (un type de réseau de neurones qui produit le texte frame par frame, idéal pour le streaming)

En plus, le modèle utilise le language conditioning — un signal de langue qui accompagne l'audio, le spécialisant sur une langue donnée.

Comment l'adapter (Fine-tuning) à votre langue ou dialecte

Le modèle est puissant dès le départ, mais certaines langues ont moins de données que d'autres. Si vous avez :

  • Un dialecte spécifique (par exemple l'arabe marocain au lieu de l'arabe classique)
  • Un domaine spécialisé (médical, juridique, technique)
  • Un accent particulier (téléphone, bureau bruyant, voiture)
  • Une langue nouvelle absente du modèle

Vous pouvez améliorer la précision avec quelques heures d'audio spécialisé.

Exemple réel : le grec et le bulgare

L'équipe a pris le modèle de base et l'a adapté à deux langues européennes (grec et bulgare) — des langues qui avaient plus d'erreurs dans le modèle de base. Les résultats :

  • Bulgare : le taux d'erreur de mot (WER) a été divisé par deux (d'environ 60 % à 25 %)
  • Grec : amélioration significative aussi

Les 5 étapes de l'adaptation :

  1. Préparez les données : audio de votre domaine, organisé en tarred shards (fichiers compressés)
  2. Adaptez le modèle : partez du modèle de base, utilisez la même architecture (FastConformer-RNNT)
  3. Testez sur des données nouvelles : utilisez des données que le modèle n'a jamais vues
  4. Ajoutez des données si faible : certaines langues nécessitent plus d'heures
  5. Exportez et déployez : le nouveau modèle s'intègre directement dans le même pipeline de déploiement

Les détails pratiques

Préparation des données

Chaque clip doit avoir un language tag (target_lang) — c'est ce qui fait la différence. Si le tag est incorrect, les résultats seront mauvais.

Les textes doivent être exactement comme le modèle les produit : ponctuation, majuscules.

Entraînement

Entraînement standard sur un modèle RNNT streaming :

  • Un GPU pour tester rapidement
  • Multi-GPU si vous voulez un meilleur entraînement
  • Une epoch peut prendre seulement quelques minutes sur un petit dataset

Évaluation

Le plus important : testez dans les mêmes conditions que le déploiement. Si vous utiliserez att_context_size=[56,0] (80 millisecond chunk, 0 lookahead), testez avec ces mêmes paramètres. N'utilisez pas les chiffres des données d'entraînement — ce sont des chiffres trompeurs.

Résultats

Quand ils ont ajouté plus de données (de 290 heures à 2 300 heures) :

  • Bulgare : descendu à high-20s (depuis 60 %+)
  • Autres langues : amélioration aussi, mais pas uniforme

La leçon : plus de données = meilleurs résultats, mais pas toutes les langues ne progressent de la même façon. Mesurez au lieu de supposer.

Conseils importants

  • Le fine-tuning donne des résultats énormes sur les langues faibles — le plus gros gain vient des cas où le modèle de base était mauvais
  • Testez avec la latence de déploiement : les données d'entraînement trompent. Testez sur des données nouvelles avec 0 lookahead
  • Le language tag doit être correct : le modèle en dépend beaucoup
  • Préservez les autres langues : si vous adaptez sur une seule langue, mélangez un peu de données des autres pour ne pas perdre leur précision
  • Les données spécialisées valent plus que la quantité : une heure d'audio médical vaut mieux que 10 heures de radio

Cas d'usage réels

  • Voice agents rapides : ASR rapide = LLM rapide = TTS rapide = conversation naturelle
  • Sous-titres de réunion multilingues : un participant anglophone, un francophone, sous-titres en temps réel pour chacun
  • Analyse de call center mondiale : un seul backend au lieu de 40 fournisseurs
  • Live streaming avec traduction : sous-titres en temps réel + traduction
  • Transcription sur appareil : matériel Jetson, confidentialité préservée

Ce que cela signifie pour vous

Les entreprises marocaines travaillant avec l'audio — call centers, service client, cabinets juridiques, cliniques — peuvent désormais construire un système de transcription unique au lieu de gérer 3 ou 4 fournisseurs différents. Même si vos clients parlent l'arabe marocain ou le français avec un accent local, vous pouvez adapter le modèle à vos données facilement — quelques heures d'audio spécialisé économisent des milliers de dollars en licences annuelles. Les développeurs marocains peuvent construire des voice agents professionnels sur Nemotron et les exporter au marché européen — le domaine de la voice AI est très demandé, surtout en remote. C'est un modèle open source, vous pouvez expérimenter sans restrictions.

مقالات ذات صلة