Elastic
Jina AI
Modèles
API
keyboard_arrow_down
Lecteur
Lisez les URL et effectuez des recherches sur le Web pour de meilleurs LLM de base.
Intégrations
Intégrations multimodales et multilingues.
Reclasseur
Outil de reclassement pour optimiser la pertinence des résultats de recherche.
Elastic Inference Service
Exécutez les modèles Jina nativement au sein d'Elasticsearch.
MCP
terminal
CLI
article
llms.txt
smart_toy
Agents
data_object
Schéma
menu_book
Documents
Se connecter
login
Blog technique
mars 11, 2026

Bootstrapping d'embeddings audio à partir de LLM multimodaux

Transformez n'importe quel LLM multimodal en un petit modèle de plongements audio qui surpasse CLAP avec 25 fois moins de données.
Han Xiao • 7 minutes lues
jina-ai/audio-embedding-kickstarter
GitHubjina-ai

Google a récemment publié Gemini Embedding 2, son premier modèle d'embeddings nativement multimodal. Texte, images, vidéo, audio, documents, tous sont mappés dans un seul espace vectoriel de 3072 dimensions. Cela s'inscrit dans une tendance plus large vers les **modèles d'embeddings omni** : des modèles unifiés qui gèrent toutes les modalités dans une seule architecture, de jina-embeddings-v4 à Omni-Embed-Nemotron en passant par Omni-5.

Han Xiao presenting at EMNLP 2025 BoF session
Lors de la session BoF de l'EMNLP de l'année dernière, j'ai présenté les modèles omni comme l'une des directions clés pour la recherche dense en 2026.

Ce qui a attiré notre attention, c'est l'audio. La plupart des gens entendent « embedding multimodal » et pensent aux images, voire à la vidéo. L'audio est la modalité oubliée : plus difficile à collecter, plus difficile à étiqueter, avec moins de personnes travaillant dessus. Chez Jina AI, nous avons exploré précisément ce problème, en construisant de petits modèles d'embeddings audio (moins de 1,2 milliard de paramètres) dans le cadre de nos travaux sur les modèles omni. La sortie de Gemini Embedding 2 est le moment idéal pour partager ce que nous avons appris en chemin.

向量模型 audio (Embeddings audio)

Un embedding audio est une représentation vectorielle de longueur fixe d'un clip audio. À partir d'une forme d'onde brute, le modèle produit un vecteur dense (généralement de 768 à 3072 dimensions) qui capture le contenu sémantique du son. Deux clips ayant une signification similaire produisent des embeddings similaires, et un clip audio se situe à proximité de sa description textuelle dans l'espace d'embedding partagé. C'est une pièce du puzzle des modèles omni : une fois que vous pouvez intégrer l'audio aux côtés du texte et des images dans le même espace vectoriel, vous débloquez la recherche cross-modale sur toutes les modalités.

L'approche dominante depuis 2022 est le Contrastive Language-Audio Pretraining (CLAP), qui étend CLIP à l'audio. LAION-CLAP a mis cela à l'échelle avec 630 000 paires et une fusion de caractéristiques. La variante la plus performante (Elizalde et al., 2023) a été entraînée sur 4,6 millions de paires en utilisant un encodeur audio sur 22 tâches audio diverses associées à un décodeur autorégressif, atteignant 42,0 cvR@5 sur AudioCaps avec 250 millions de paramètres.

Nous avons pris une route différente : transformer les LLM multimodaux qui comprennent déjà l'audio en modèles d'embeddings.

Architecture

Tout d'abord, ce qui entre et ce qui sort. L'entrée est de l'audio brut : une forme d'onde décodée à partir de n'importe quel format standard (WAV, MP3, FLAC) et rééchantillonnée en mono à 16 kHz. L'encodeur audio convertit cette forme d'onde en un spectrogramme log-mel à 128 bandes, puis le traite en une séquence de tokens de caractéristiques à un rythme d'environ 150 tokens par seconde. Un clip de 10 secondes devient environ 1 500 tokens. La longueur d'entrée maximale est de 30 secondes ; l'audio plus long doit être découpé en segments. La sortie est un vecteur dense unique (l'embedding), généralement de 896 à 3584 dimensions selon la taille de l'architecture du LLM.

Nous partons de Qwen2.5-Omni, un LLM multimodal doté d'une compréhension audio native. Trois composants : un encodeur audio (~0,6-0,8 milliard de paramètres) qui convertit les formes d'onde en vecteurs de caractéristiques via une projection linéaire de ~4,5 millions, une architecture LLM (0,5-7 milliards de paramètres) qui traite à la fois les caractéristiques audio et les tokens textuels, chaque couche de transformer ajoutant environ 0,2 milliard de paramètres, et une couche de pooling qui effectue un pooling moyen du dernier état caché en un seul vecteur d'embedding. Les deux modalités partagent la même architecture LLM, elles sont donc déjà approximativement alignées dès le pré-entraînement.

Architecture comparison
À gauche : approche standard, ajustement fin (finetuning) complet du MLLM de bout en bout (3-7 milliards de paramètres). À droite : combinaison de modules, associant un encodeur audio pré-entraîné avec une architecture LLM plus petite. L'architecture partagée traite à la fois les caractéristiques audio et les tokens textuels, produisant des embeddings dans le même espace vectoriel.

L'objectif d'entraînement est la perte contrastive InfoNCE. Chaque modalité est encodée indépendamment, la perte est calculée dans les deux sens et moyennée :

def training_step(audio_batch, text_batch):
    audio_embeds = model.encode_audio(audio_batch)  # [B, D]
    text_embeds = model.encode_text(text_batch)      # [B, D]
    
    audio_embeds = F.normalize(audio_embeds, dim=-1)
    text_embeds = F.normalize(text_embeds, dim=-1)
    
    sim = audio_embeds @ text_embeds.T / temperature  # [B, B]
    labels = torch.arange(len(sim), device=sim.device)
    loss = (F.cross_entropy(sim, labels) + 
            F.cross_entropy(sim.T, labels)) / 2
    return loss

Données d'entraînement

Cinq jeux de données de paires audio-texte, soit 181 000 échantillons au total :

Jeu de donnéesÉchantillonsDescription
AudioSetStrong108KÉvénements étiquetés temporellement, légendes générées par GPT (sous-ensemble d'AudioSet)
FSD50K41KÉvénements sonores étiquetés par des humains, 200 classes
Clotho19KLégendage audio, descriptions détaillées
UrbanSound8K9KClassification des sons urbains
MACS4KScènes acoustiques urbaines

CLAP a utilisé l'intégralité d'AudioSet (plus de 2 millions d'audios) ainsi que d'autres sources totalisant 4,6 millions de paires. Nous n'utilisons qu'AudioSetStrong (~100 000). Partir d'un MLLM pré-entraîné réduit considérablement la quantité de données nécessaires.

def load_sample(audio_path, caption):
    waveform, sr = torchaudio.load(audio_path)
    waveform = torchaudio.transforms.Resample(sr, 16000)(waveform)
    audio_inputs = processor.feature_extractor(
        waveform, sampling_rate=16000, return_tensors="pt"
    )
    text_inputs = processor.tokenizer(caption, padding=True, return_tensors="pt")
    return audio_inputs, text_inputs

Quatre approches

Objectif : un modèle d'embedding audio de moins de 1,2 milliard de paramètres qui surpasse CLAP.

**Ajustement fin complet du modèle.** Qwen2.5-Omni-7B sur des paires audio-texte : AudioCaps T2A cvR@5 = 63,2, Clotho T2A = 39,2. C'est la limite supérieure, mais 7B n'est pas déployable. Tevatron 2.0 a également été ajusté sur AudioCaps seul (61,2 mais seulement 11,9 sur Clotho, montrant une faible généralisation à partir d'un entraînement sur un seul jeu de données). ColQwen-Omni a été ajusté sur des tâches visuelles-documents sans aucune donnée audio, atteignant 37,4 grâce au transfert cross-modal.

**Élagage de couches (Layer pruning).** Suppression de couches transformer du modèle 7B. Chaque couche fait environ 0,2 milliard de paramètres, donc un modèle à 10 couches compte environ 3,5 milliards de paramètres au total.

Layer pruning effect
Performance en fonction de la taille du modèle à mesure que les couches transformer sont supprimées. AudioCaps (en rouge) passe de 63,2 à 56,0 cvR@5 en passant de 20 à 5 couches. Toutes les configurations surpassent encore la ligne de base CLAP (en pointillés). Même à 5 couches (2,3 milliards de paramètres), le modèle ne peut pas atteindre la cible de 1 milliard.
CouchesParamètresAudioCaps T2A cvR@5Clotho T2A cvR@5
205.8B63.239.2
103.5B58.236.5
52.3B56.036.0

La taille des lots (32, 64, 128) n'a pas fait de différence significative. Des lots plus grands aident initialement mais peuvent dégrader les performances plus tard : un lot de 128 a atteint 31,3 NDCG à 2 000 étapes sur Clotho mais est retombé à 29,3 à 10 000 étapes.

**Transfert de modalité text-only.** Ajustement fin uniquement sur des paires de textes (MultiNLI, SNLI, FEVER, SciFact), en s'appuyant sur l'alignement cross-modal pré-entraîné. Cela a fonctionné sur le modèle 7B complet (AudioCaps 46,1, battant les 42,0 de CLAP) mais a complètement échoué sur le modèle élagué à 10 couches (cvR@5 = 5,9). Les connexions cross-modales sont distribuées sur l'ensemble du réseau et ne survivent pas à l'élagage.

**Combinaison de modules.** La percée : prendre un encodeur audio d'un modèle et un SLM d'un autre, même entre différentes familles de modèles. Qwen2.5-Omni s'entraîne en trois étapes : (1) encodeurs audio/vision avec LLM gelé, (2) tous les paramètres dégelés, (3) contexte de 32K. Nous combinons des modules de différentes étapes :

ConfigurationEncodeur AudioLLMParamètres
M1Qwen3-Omni (0.6B, pré-étape-1)Qwen2.5-0.5B1.1B
M2Qwen3-Omni (0.6B, pré-étape-1)Qwen2.5-3B3.6B
M3Qwen2.5-Omni-3B (0.8B, post-étape-3)Qwen2.5-3B3.8B
M4Qwen2.5-Omni-3B (complet)3B complet3.8B

Détail d'implémentation : Qwen3-Omni utilise Qwen3OmniMoePreTrainedModel tandis que le modèle Qwen3 autonome utilise Qwen3ForCausalLM. Nous initialisons une structure de modèle Omni avec des dimensions correspondantes et copions les poids aux emplacements appropriés.

Module combination results
Résultats cvR@5 pour AudioCaps et Clotho T2A pour chaque configuration. M1, avec 1,1 milliard de paramètres, atteint 49,7 sur AudioCaps, battant CLAP (42,0) de 18 %. L'utilisation d'un encodeur audio mieux aligné provenant de l'entraînement post-étape-3 améliore les résultats (M3 vs M2 : +4,2 sur AudioCaps). Les étapes 2 et 3 du pré-entraînement du LLM ne sont pas critiques pour la qualité des embeddings (M3 vs M4 est dans la marge d'erreur).

Évaluation

L'évaluation des embeddings audio repose fondamentalement sur la qualité de la recherche : étant donné une requête textuelle, le modèle peut-il trouver le bon clip audio ? Le défi majeur est que ce qui est « bon » dépend du jeu de données. AudioCaps contient des descriptions concrètes (« un homme qui parle suivi d'une porte qui se ferme »), tandis que Clotho a des légendes abstraites (« une atmosphère calme avec un grondement lointain »). Un modèle qui mémorise les caractéristiques audio de surface réussira bien sur AudioCaps mais peinera sur Clotho. Nous nous intéressons principalement à la généralisation entre les différents styles de description.

CV-Recall@5 (cvR@5) : pour chaque requête textuelle, vérifie si un clip audio correct apparaît dans les 5 premiers résultats. Score binaire moyenné sur l'ensemble des requêtes. Métrique standard dans la recherche audio MTEB.

def evaluate_cvr_at_k(model, dataset, k=5):
    audio_embeds = model.encode_audio(dataset.audio_clips)
    text_embeds = model.encode_text(dataset.text_queries)
    sim = F.normalize(audio_embeds) @ F.normalize(text_embeds).T
    
    hits = 0
    for i in range(len(dataset.text_queries)):
        top_k = sim[:, i].argsort(descending=True)[:k]
        if dataset.ground_truth[i] in top_k:
            hits += 1
    return hits / len(dataset.text_queries)

Trois jeux de données d'évaluation issus de MTEB : AudioCaps (dérivé de vidéos, légendes humaines), AudioSetStrong (étiqueté temporellement, descriptions GPT), Clotho (légendes diverses et abstraites). CLAP a utilisé l'intégralité d'AudioSet (plus de 2M) alors que nous avons utilisé AudioSetStrong (~100K), ce qui explique en partie l'avantage de CLAP sur ce benchmark.

Full results comparison
Graphique à barres horizontales comparant toutes les configurations de modèles sur la recherche T2A pour AudioCaps, AudioSetStrong et Clotho. La ligne pointillée rouge marque la référence CLAP. Les modèles de combinaison de modules (en vert) obtiennent des résultats solides avec des tailles beaucoup plus réduites. Le modèle complet de 7B affiné (bleu foncé) définit la limite supérieure.

Applications

Les embeddings audio deviennent pertinents au-delà de la recherche traditionnelle. Dans les systèmes d'agents, les embeddings audio permettent le routage d'intention : un agent recevant une entrée vocale peut vectoriser l'audio et l'orienter vers le bon outil ou sous-agent en fonction de la similarité sémantique, sans attendre la transcription complète. La classification d'événements sonores alimente la surveillance en temps réel dans les environnements industriels, l'automatisation de la maison intelligente et les systèmes de sécurité. Dans les flux de travail d'agents multimodaux, les embeddings audio permettent aux agents de rechercher, comparer et raisonner sur le contenu audio de la même manière qu'ils traitent déjà le texte et les images. Les applications de musique et de médias les utilisent pour la recherche par similarité, la détection de droits d'auteur et la recommandation de contenu. À mesure que les interfaces vocales deviennent le mode d'interaction par défaut pour les agents d'IA, des embeddings audio compacts fonctionnant localement sur l'appareil deviennent cruciaux pour des applications à faible latence et respectueuses de la vie privée.

Conclusions

Partir d'un MLLM pré-entraîné est le levier le plus important. Il offre un alignement cross-modal, un encodeur de texte puissant et un encodeur audio performant, le tout dans un seul ensemble. La combinaison de modules est la direction la plus prometteuse : mélanger des encodeurs audio et des LLM issus de différents modèles et étapes d'entraînement ouvre un espace de conception encore peu exploré. Nos modèles dominent AudioCaps mais égalent seulement CLAP sur Clotho, dont les descriptions abstraites révèlent des faiblesses qu'AudioCaps ne permet pas de détecter. Le transfert cross-modal ne survit pas à la compression de modèle.

Ce travail est une étape vers le modèle d'embedding « omni » : un modèle unique qui vectorise le texte, les images, l'audio, la vidéo et les documents dans un espace de recherche unifié. L'approche par combinaison de modules montre qu'il est possible d'amorcer de nouvelles modalités efficacement en réutilisant des composants pré-entraînés. Les prochaines étapes incluent des architectures MoE avec <500M de paramètres d'activation, l'association de la combinaison de modules au transfert de modalité, et l'augmentation des données avec WavCaps, MusicCaps et des jeux de données de parole.

Catégories:
Blog technique
rss_feed

En savoir plus
mars 11, 2026 • 7 minutes lues
Bootstrapping Audio Embeddings from Multimodal LLMs
Han Xiao
Abstract illustration of a sound wave or heartbeat, formed by blue, orange, and gray dots on a white background.
mars 06, 2026 • 6 minutes lues
Identifying Embedding Models from Raw Numerical Values
Han Xiao
Fingerprint illustration made from numbers, showcasing digital and high-tech design on a light background.
septembre 09, 2025 • 11 minutes lues
Multimodal Embeddings in Llama.cpp and GGUF
Andrei Ungureanu
Alex C-G
Cartoon llama in the center of a white background, emitting laser-like beams from its eyes. The illustration creates a playfu
Langue / thème actuel
Search Foundation
Lecteur
Intégrations
Reclasseur
Obtenir la clé API Jina
Limite de taux
À propos de nous
Nouvelles
Télécharger le logo Jina
open_in_new
Télécharger le logo Elastic
open_in_new
Statut de l'API
Elastic © 2026.Sécuritétermes et conditionsConfidentialitéGérer les cookiesNe vendez ni ne partagez mes informations personnelles
Ce site web et l'ensemble de son contenu, logiciels, produits et services sont destinés exclusivement à un usage professionnel. Leur utilisation par les consommateurs n'est ni prévue ni autorisée.