Comment une plateforme musicale leader mondial recherche plus de 100 millions de chansons par le son et les paroles avec Milvus

100M+ titres
Tout le catalogue intégré et consultable, y compris la longue traîne
~10 ms P99
Une correspondance parmi des milliards d'embeddings audio, à des centaines de recherches par seconde.
Par le son et le sens
Trouvez une chanson à partir d'un fredonnement, d'un extrait ou de paroles paraphrasées, pas seulement de son titre.
À propos de la plateforme musicale
La plateforme est l'un des plus grands services de streaming musical au monde, avec un catalogue de plus de 100 millions de titres et des centaines de millions d'auditeurs dans plus de 100 pays.
Ses auditeurs ne se contentent pas d'appuyer sur lecture. Ils lèvent leur téléphone pour identifier une chanson diffusée dans une pièce, tapent une phrase à moitié mémorisée pour trouver un titre, demandent « plus de ce genre » pour remplir une soirée, et téléversent leur propre audio qui doit être vérifié par rapport au catalogue pour les droits. Chacune de ces actions recherche dans tout le catalogue, et elle doit aboutir instantanément au bon titre. Cette couche de recherche repose sur Milvus.
Le défi
Le catalogue de la plateforme dépasse les 100 millions de titres, et la façon dont les auditeurs y effectuent des recherches a créé trois exigences à la fois.
La recherche musicale doit fonctionner sur le son et le sens, pas seulement sur des mots-clés. Un auditeur fredonne un air, joue cinq secondes depuis une enceinte, ou tape une parole telle qu'il s'en souvient plutôt que telle qu'elle a été écrite. Il n'y a ni titre ni étiquette sur lesquels s'appuyer. La plateforme avait besoin d'une recherche qui fonctionne sur ce à quoi ressemble une chanson et ce que signifie une parole — quelque chose que la correspondance par mots-clés seule ne peut pas faire.
Le catalogue contient des milliards de vecteurs, et tout doit rester interrogeable. La correspondance par le son consiste à découper chaque titre en courts segments et à plonger chacun d'eux, de sorte que plus de 100 millions de titres deviennent des milliards de vecteurs audio, plus un vecteur texte pour chaque ensemble de paroles. Chacun doit rester en ligne en même temps, y compris la longue traîne, sinon le titre obscur que personne n'a joué depuis un an est précisément celui que la recherche ne parvient pas à trouver.
Chaque recherche doit renvoyer un résultat en temps réel, à grande échelle. Identifier une chanson ou répondre à une requête sur des paroles est quelque chose qu'un auditeur attend, donc cela doit revenir en quelques millisecondes, à des centaines de recherches par seconde, à travers ces milliards de vecteurs. La vitesse ne doit pas se dégrader à mesure que le catalogue continue de croître.
Pourquoi Milvus
Milvus répond directement à ces trois exigences, c'est pourquoi l'équipe a construit sa recherche dessus.
Conçu spécifiquement pour la recherche vectorielle, en texte intégral et par filtres de métadonnées dans une seule requête. Milvus stocke les plongements audio et de paroles et trouve les plus proches voisins en fonction de ce à quoi ressemble un extrait ou de ce que signifie une parole, de sorte qu'un fredonnement ou une ligne paraphrasée aboutit au bon titre. Pour les paroles, il combine la recherche par mots-clés en texte intégral avec la recherche vectorielle dans une seule requête hybride — en faisant correspondre les mots et le sens ensemble — et applique des filtres de métadonnées (artiste, genre, territoire, droits) dans le même appel. C'est une recherche hybride qu'un système uniquement basé sur les mots-clés ne peut pas offrir.
Éprouvé à l'échelle de milliards de vecteurs. Milvus est une base de données distribuée conçue pour des collections à l'échelle du milliard, de sorte que l'intégralité du catalogue encodé vit dans un seul système et évolue avec le cluster à mesure que la bibliothèque grandit, sans réarchitecture à chaque nouvelle étape.
Latence de l'ordre de la milliseconde à haut débit. Milvus renvoie une correspondance en environ 10 millisecondes à des centaines de requêtes par seconde sur des milliards de vecteurs, et isole l'indexation lourde des requêtes en direct afin que la recherche reste rapide pendant que de nouvelles musiques sont ajoutées.
Open source, exécuté sur leur propre infrastructure. Au-delà de ces exigences, Milvus est open source, de sorte que les équipes opérant à cette échelle l'exécutent sur leur propre infrastructure, l'ajustent et l'étendent en fonction de la charge de travail, et l'intègrent dans leur pile sans dépendance à un fournisseur.
La solution
Milvus est la couche de recherche par similarité sous chaque fonctionnalité qui trouve de la musique par son son ou par son sens. L'audio et le texte deviennent tous deux des vecteurs et vivent dans Milvus à côté des métadonnées utilisées pour les filtrer.
Anonymous Music Insert.png
Indexation du catalogue. Chaque morceau est découpé en courts extraits qui se chevauchent, et un modèle audio transforme chaque extrait en un vecteur qui capture ce à quoi il ressemble : son timbre, sa mélodie et son rythme. Un morceau devient donc une séquence de vecteurs, un toutes les quelques secondes, plutôt qu'un point unique. Les paroles sont traitées séparément par un modèle de texte : chaque ensemble est intégré sous forme de vecteur et indexé pour la recherche en texte intégral, de sorte qu'une requête peut correspondre au sens ou aux mots exacts. L'artiste, l'album, le genre, la date de sortie, la popularité et le territoire/droits sont stockés en tant que champs scalaires dans les mêmes enregistrements. Les extraits audio forment une collection à l'échelle du milliard ; les vecteurs de paroles, l'index de texte intégral et les métadonnées se trouvent à leurs côtés. Un index ANN basé sur graphe (HNSW) maintient un rappel rapide, et les index scalaires rendent les métadonnées filtrables.
Répondre à une requête. Quatre fonctionnalités produit aboutissent toutes à une recherche de similarité sur Milvus :
- Reconnaissance de chanson. Quelques secondes d'audio capturé sont intégrées et recherchées dans la collection audio de Milvus, où chaque morceau est stocké sous forme de nombreux courts extraits dans l'ordre. L'enregistrement correspond à une séquence d'extraits consécutifs de la même chanson, ce que seul le bon morceau peut produire ; Milvus l'associe donc à cette chanson unique et la renvoie en temps réel.
- Recherche de paroles. Chaque texte de paroles est stocké dans Milvus avec un vecteur dense sémantique et un index de texte intégral (BM25) dans le même enregistrement, de sorte qu'une seule recherche hybride fasse correspondre le sens et la formulation et renvoie une liste classée. Que l'auditeur se souvienne de la phrase mot pour mot ou seulement de l'essentiel, la requête aboutit à la bonne chanson.
- Recommandation. Le morceau que l'auditeur écoute devient la requête, et Milvus renvoie des morceaux similaires sur le plan sonore pour la radio et la découverte, filtrés selon le territoire et les goûts de l'auditeur.
- Correspondance des droits d'auteur. Un extrait téléversé est segmenté puis recherché dans le catalogue ; une séquence de correspondances à forte similarité signale la réutilisation de matériel protégé, et les champs de droits établissent la propriété.
Les quatre fonctionnalités recherchent les mêmes données dans Milvus : les mêmes vecteurs audio et de paroles, les mêmes métadonnées et les mêmes filtres portés par chaque requête. Ce qui diffère, c'est le paramétrage. L'équipe auto-héberge la couche de récupération sous la forme d'une flotte de clusters Milvus et dimensionne chacun selon son rôle : le chemin de reconnaissance pour la latence la plus faible, les collections du catalogue complet pour le débit et le rappel à mesure qu'elles passent à l'échelle du milliard. La nouvelle musique suit le même chemin d'indexation et est recherchable dès son arrivée.
Résultats & Bénéfices
- Toute chanson est identifiée en environ 10 millisecondes, à des centaines de recherches par seconde. Quelques secondes d'audio, ou une seule ligne de texte, renvoient le morceau exact assez rapidement pour sembler instantané à l'auditeur, même sous charge concurrente élevée.
- Plus de 100 millions de morceaux restent recherchables, à travers des milliards de vecteurs. Chaque morceau est vectorisé et en ligne, y compris la longue traîne, de sorte qu'aucune chanson n'est introuvable parce que le catalogue est devenu trop grand.
- Les chansons sont trouvées par le son et par le sens, pas seulement par le titre. Une mélodie fredonnée, un extrait de cinq secondes ou une parole mal mémorisée aboutit au bon morceau, ce qu'une recherche par mots-clés ne pourrait jamais faire.
- La reconnaissance, la recherche de paroles, la recommandation et la correspondance des droits d'auteur tournent sur un seul moteur. Une nouvelle fonctionnalité audio part d'une couche qui recherche déjà le catalogue complet en temps réel, et non d'un nouveau système à mettre en place.
- Tout tourne sur l'infrastructure propre de l'équipe, qui évolue en agrandissant le cluster. À mesure que le trafic et le catalogue augmentent, l'équipe ajoute de la capacité aux clusters Milvus qu'elle exploite déjà, sans reconcevoir la couche de recherche.
Le gain stratégique est que la « recherche par le son » cesse d'être un projet et devient une capacité. Tout ce que la plateforme souhaite construire sur la sonorité de la musique part d'un socle qui recherche déjà plus de 100 millions de morceaux en temps réel.
Commencez avec Milvus
Milvus est la base de données vectorielle open-source la plus adoptée au monde, avec 46K+ étoiles sur GitHub, conçue pour la recherche de similarité à l'échelle du milliard. Elle fonctionne partout, d'un ordinateur portable à un cluster distribué, et donne aux équipes un contrôle total sur la façon dont elles indexent, filtrent et mettent à l'échelle les charges de travail vectorielles.
Commencez avec Milvus sur GitHub, lisez la documentation, ou rejoignez la communauté sur Discord.
Les équipes qui préfèrent ne pas exécuter elles-mêmes Milvus peuvent utiliser le même moteur en tant que service entièrement géré sur Zilliz Cloud, avec un niveau gratuit pour commencer.
- À propos de la plateforme musicale
- Le défi
- Pourquoi Milvus
- La solution
- Résultats & Bénéfices
- Commencez avec Milvus
Contenu
Secteur d'activité
Divertissement


