Cohere Transcribe : un modèle ASR de 2B qui domine le classement anglais
- Bastien
- 03 Apr, 2026
Qu’est-ce que Cohere Transcribe ?
Cohere Transcribe 03-2026 est un modèle de reconnaissance automatique de la parole (ASR) publié par Cohere Labs. Avec 2 milliards de paramètres, il se classe n°1 sur le leaderboard anglais d’ASR en mars 2026, avec un taux d’erreur de mots (WER) moyen de 5,42 sur 8 benchmarks — tout en fonctionnant à 524x la vitesse réelle (RTFx), soit environ 3x plus vite que les modèles comparables.
Il supporte 14 langues, gère l’audio longue durée par découpage automatique, et est disponible sous licence Apache 2.0.
Architecture
- Encodeur Conformer — combine des couches convolutives et d’auto-attention, efficace pour capturer à la fois les caractéristiques acoustiques locales et les dépendances temporelles à longue portée.
- Décodeur Transformer — conception légère qui maintient la vitesse tout en préservant la qualité du texte.
- Entraînement — entraîné de zéro avec entropie croisée supervisée ; pas de distillation à partir de Whisper.
- Taille totale : 2B paramètres.
Langues supportées
14 langues :
| Région | Langues |
|---|---|
| Europe | Anglais, Français, Allemand, Italien, Espagnol, Portugais, Grec, Néerlandais, Polonais |
| Asie-Pacifique | Chinois (mandarin), Japonais, Coréen, Vietnamien |
| MENA | Arabe |
Note : la langue doit être spécifiée explicitement — il n’y a pas de détection automatique de langue.
Résultats des benchmarks
Leaderboard ASR anglais — n°1 global (mars 2026)
| Modèle | WER moyen ↓ | AMI | Earnings22 | Gigaspeech | LS Clean | LS Other | SPGISpeech | TedLium | VoxPopuli |
|---|---|---|---|---|---|---|---|---|---|
| Cohere Transcribe | 5,42 | 8,15 | 10,84 | 9,33 | 1,25 | 2,37 | 3,08 | 2,49 | 5,87 |
Un WER plus faible est meilleur. Le modèle est premier sur 3 des 8 benchmarks et prend la première place au classement général.
Débit :
| Métrique | Valeur |
|---|---|
| RTFx (facteur temps réel) | 524,88 |
| Vitesse vs modèles comparables | ~3x plus rapide |
Un RTFx de 524,88 signifie qu’1 seconde d’audio est transcrite en ~1,9 millisecondes.
Utilisation
Installation :
pip install transformers>=5.4.0 torch huggingface_hub soundfile librosa sentencepiece protobuf
Transcription basique :
from transformers import AutoProcessor, CohereAsrForConditionalGeneration
from transformers.audio_utils import load_audio
processor = AutoProcessor.from_pretrained("CohereLabs/cohere-transcribe-03-2026")
model = CohereAsrForConditionalGeneration.from_pretrained(
"CohereLabs/cohere-transcribe-03-2026",
device_map="auto"
)
audio = load_audio("audio.wav", sampling_rate=16000)
inputs = processor(audio, sampling_rate=16000, return_tensors="pt", language="fr")
inputs.to(model.device, dtype=model.dtype)
outputs = model.generate(**inputs, max_new_tokens=256)
text = processor.decode(outputs, skip_special_tokens=True)
print(text)
Audio longue durée (découpage automatique) :
from datasets import load_dataset
import time
ds = load_dataset("distil-whisper/earnings22", "full", split="test", streaming=True)
sample = next(iter(ds))
audio_array = sample["audio"]["array"]
sr = sample["audio"]["sampling_rate"]
duration_s = len(audio_array) / sr
inputs = processor(audio=audio_array, sampling_rate=sr, return_tensors="pt", language="fr")
audio_chunk_index = inputs.get("audio_chunk_index")
inputs.to(model.device, dtype=model.dtype)
start = time.time()
outputs = model.generate(**inputs, max_new_tokens=256)
text = processor.decode(outputs, skip_special_tokens=True, audio_chunk_index=audio_chunk_index)[0]
elapsed = time.time() - start
print(f"{duration_s:.0f}s d'audio transcrites en {elapsed:.1f}s (RTFx : {duration_s/elapsed:.0f}x)")
print(text)
Inférence par lots :
from transformers.audio_utils import load_audio
audio_court = load_audio("court.mp3", sampling_rate=16000)
audio_long = load_audio("long.mp3", sampling_rate=16000)
inputs = processor(
[audio_court, audio_long],
sampling_rate=16000,
return_tensors="pt",
language="fr"
)
audio_chunk_index = inputs.get("audio_chunk_index")
inputs.to(model.device, dtype=model.dtype)
outputs = model.generate(**inputs, max_new_tokens=256)
texts = processor.decode(outputs, skip_special_tokens=True,
audio_chunk_index=audio_chunk_index, language="fr")
print(texts)
Contrôle de la ponctuation :
# Avec ponctuation (par défaut)
inputs = processor(audio, sampling_rate=16000, return_tensors="pt",
language="fr", punctuation=True)
# Sans ponctuation (minuscules, sans marques — utile pour le NLP en aval)
inputs = processor(audio, sampling_rate=16000, return_tensors="pt",
language="fr", punctuation=False)
Débit optimisé avec compilation :
import torch
from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq
model_id = "CohereLabs/cohere-transcribe-03-2026"
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForSpeechSeq2Seq.from_pretrained(model_id, trust_remote_code=True).cuda().eval()
texts = model.transcribe(
processor=processor,
audio_arrays=[audio_array],
sample_rates=[sr],
language="fr",
compile=True, # torch.compile pour un débit plus élevé
pipeline_detokenization=True,
batch_size=16
)
print(texts[0])
Déploiement en production avec vLLM
# Installation
uv pip install -U vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly
uv pip install vllm[audio] librosa
# Démarrage du serveur
vllm serve CohereLabs/cohere-transcribe-03-2026 --trust-remote-code
# Envoi d'une requête
curl -X POST http://localhost:8000/v1/audio/transcriptions \
-H "Authorization: Bearer $VLLM_API_KEY" \
-F "file=@audio.wav" \
-F "model=CohereLabs/cohere-transcribe-03-2026"
Écosystème
| Plateforme | Statut |
|---|---|
| Hugging Face Transformers | Support natif |
| vLLM | Serving en production |
| mlx-audio | Apple Silicon |
| Rust | cohere_transcribe_rs |
| Navigateur | transformers.js + WebGPU |
| Extension Chrome | cohere_transcribe_extension |
| iOS | Whisper Memos |
18 variantes quantifiées sont également disponibles sur le Hub.
Limites
- Pas de détection automatique de langue — il faut spécifier le code langue en amont ; le modèle ne changera pas de langue en cours d’audio.
- Pas d’horodatage ni de diarisation — si vous avez besoin de timestamps au mot ou d’identifier les locuteurs, un pipeline séparé est nécessaire.
- Gestion du silence — le modèle peut tenter de transcrire des sons non-linguistiques ; un prétraitement VAD (détection d’activité vocale) est recommandé en environnement bruité.
- Code-switching — performances inégales sur l’audio qui alterne entre plusieurs langues dans le même énoncé.
Conclusion
Cohere Transcribe 03-2026 est convaincant sur les benchmarks : n°1 du classement WER anglais, 3x plus rapide que les modèles comparables, sous Apache 2.0. Pour les équipes qui construisent des pipelines de transcription — compte-rendus de réunions, analytics de centres d’appels, génération de sous-titres — c’est désormais la meilleure option open weights disponible, quelle que soit la taille.
Le découpage automatique pour l’audio longue durée, le contrôle de la ponctuation et le large support d’écosystème (vLLM, Apple Silicon, navigateur, mobile) en font une solution pratique dans un grand nombre de scénarios de déploiement.
Modèle : CohereLabs/cohere-transcribe-03-2026
Tags :
- IA
- Cohere
- ASR
- Reconnaissance vocale
- Audio
- Open Source