Maison > Article > Périphériques technologiques > Une exploration approfondie de la mise en œuvre de la technologie de pré-formation non supervisée et de « l'optimisation des algorithmes + l'innovation technique » de Huoshan Voice
Depuis longtemps, Volcano Engine propose des solutions de sous-titres vidéo intelligentes basées sur la technologie de reconnaissance vocale pour les plateformes vidéo populaires. Pour faire simple, il s'agit d'une fonction qui utilise la technologie IA pour convertir automatiquement les voix et les paroles de la vidéo en texte pour aider à la création vidéo. Cependant, avec la croissance rapide du nombre d’utilisateurs de la plateforme et la nécessité de langues plus riches et plus diversifiées, la technologie d’apprentissage supervisé traditionnellement utilisée atteint de plus en plus son goulot d’étranglement, ce qui met l’équipe en difficulté.
Comme nous le savons tous, l'apprentissage supervisé traditionnel s'appuiera fortement sur des données supervisées annotées manuellement, notamment dans l'optimisation continue des grands langageset le démarrage à froid des petits langages. En prenant comme exemple les principales langues telles que le chinois, le mandarin et l'anglais, bien que la plate-forme vidéo fournisse suffisamment de données vocales pour les scénarios commerciaux, une fois que les données supervisées atteignent une certaine échelle, le retour sur investissement de l'annotation continue sera très faible, et le personnel technique devra inévitablement réfléchir à la manière d'utiliser efficacement des centaines de données supervisées, des dizaines de milliers d'heures de données non étiquetées, pour améliorer encore les performances de la reconnaissance vocale en grands langages.
Pour les langues ou dialectes relativement spécialisés, le coût de l'étiquetage des données est élevé en raison des ressources, de la main-d'œuvre et d'autres raisons. Lorsqu'il y a très peu de données étiquetées (de l'ordre de 10 heures), l'effet de la formation supervisée est très faible et peut même ne pas converger correctement et les données achetées ne correspondent souvent pas au scénario cible et ne peuvent pas répondre aux besoins du ; entreprise.
Par conséquent, l'équipe Volcano Engine Speech doit étudier de toute urgence comment utiliser pleinement une grande quantité de données non étiquetées au coût d'étiquetage le plus bas possible, améliorer l'effet de reconnaissance avec une petite quantité de données étiquetées et le mettre en œuvre dans entreprise réelle. Ainsi, la technologie de pré-formation non supervisée est devenue la clé pour promouvoir les capacités de la plate-forme vidéo ASR (Automatic Speech Recognition / Automatic Speech Recognition) auprès des petites langues.
Bien que le monde universitaire ait réalisé de nombreux progrès significatifs dans le domaine de la pré-formation à la parole non supervisée ces dernières années, notamment Wav2vec2.0[1], HuBERT[2], etc., il y a eu peu de progrès. mise en œuvre dans l’industrie Des cas peuvent être utilisés comme référence. Dans l'ensemble, l'équipe Volcano Voice estime que les trois raisons suivantes entravent la mise en œuvre d'une technologie de pré-formation non supervisée :
Compte tenu des trois points faibles ci-dessus, des améliorations de l'algorithme et une optimisation de l'ingénierie ont été effectuées pour former un plan de mise en œuvre complet et facile à promouvoir. Cet article présentera la solution en détail à partir du processus de mise en œuvre, de l'optimisation des algorithmes et de l'optimisation de l'ingénierie.
La figure suivante montre le processus de mise en œuvre de la pré-formation non supervisée de l'ASR dans un langage à faibles ressources, qui peut être grossièrement divisé en trois étapes : la collecte de données, la formation du modèle de départ et la migration du modèle.
Processus de mise en œuvre de l'ASR basé sur une pré-formation non supervisée
Plus précisément, la première phase de collecte de données peut collecter des paroles non étiquetées dans la langue cible par le biais du détournement de langue, de l'approvisionnement, etc. données textuelles uniquement. La deuxième étape de la formation du modèle de départ est le processus classique "pré-formation non supervisée + mise au point supervisée". Dans cette étape, un modèle acoustique sera obtenu, qui est généralement affiné sur la base de la fonction de perte de la classification temporelle connexionniste (CTC[3]). Le modèle acoustique combiné au modèle linguistique formé sur du texte pur forme un système complet de reconnaissance vocale, qui peut obtenir de bons résultats de reconnaissance. La raison pour laquelle on l'appelle modèle de départ est que ce modèle n'est pas adapté pour être lancé directement dans l'entreprise. Le Volcano Engine préfère utiliser LAS (Listen, Attend and Spell[4]) ou RNN-T (Recurrent Neural. Network Transducer[ 5]) Ce type de modèle de bout en bout est déployé en ligne. La raison principale est que LAS/RNN-T possède d'excellentes capacités de modélisation de bout en bout, en même temps, il a obtenu de meilleurs résultats que le modèle CTC traditionnel ces dernières années et a gagné de plus en plus de reconnaissance. l'industrie. Le moteur Volcano a effectué de nombreux travaux d'optimisation sur l'inférence et le déploiement de modèles de reconnaissance vocale de bout en bout, et a formé une solution relativement mature pour prendre en charge de nombreuses entreprises. Tout en maintenant l'effet sans perte, si le moteur d'inférence de bout en bout peut être utilisé, les coûts de fonctionnement et de maintenance du moteur peuvent être considérablement réduits. Sur cette base, l'équipe a conçu la troisième phase, qui est la phase de migration du modèle. S'appuie principalement sur l'idée de distillation des connaissances, utilise un modèle de départ pour pseudo-étiqueter les données non étiquetées, puis fournit un modèle LAS avec un plus petit nombre de paramètres pour la formation, qui réalise simultanément la migration de la structure du modèle et la compression des calculs d'inférence. L'efficacité de l'ensemble du processus a été vérifiée sur l'ASR cantonais. Les résultats expérimentaux spécifiques sont présentés dans le tableau suivant : Tout d'abord, l'équipe a acheté 1kh de données de produit fini pour une comparaison expérimentale. et directement entraîné les performances du modèle LAS Pas bon, le taux d'erreur de caractère (Character Error Rate, CER) atteint 44,2 %. Après analyse, Volcano Engine estime que la raison principale est l'inadéquation entre les champs de données d'approvisionnement (conversation) et l'ensemble de tests commerciaux (vidéo). Des expériences préliminaires sur wav2vec2.0 ont également révélé un phénomène similaire. Par rapport à l'utilisation des données d'approvisionnement pour la pré-formation, le Volcano Engine utilise des données cohérentes avec le champ cible pour la pré-formation. Le CER sur l'ensemble de tests commerciaux peut être réduit de 42,0 % à 29,4 % ; scénario Lorsque les données sont accumulées à 50 kh, les paramètres du modèle augmentent de 100 M à 300 M et le CER chute encore à 23,1 %. Enfin, le moteur Volcano a vérifié l'effet de la migration du modèle. Il a combiné le modèle de langue cantonaise pour décoder 50kh de données non étiquetées afin d'obtenir des pseudo-étiquettes et d'entraîner le modèle LAS. On peut voir que le modèle LAS basé sur la formation de pseudo-étiquettes peut essentiellement maintenir l'effet de reconnaissance du modèle de départ CTC, et le nombre de paramètres du modèle est réduit d'un tiers et peut être directement déployé et lancé sur la base de un moteur d'inférence de bout en bout mature. Comparaison de la quantité de paramètres du modèle et du CER En fin de compte, en partant du principe que la structure du modèle et la quantité de paramètres sont restées inchangées, l'équipe a obtenu 23,0 % en utilisant 50kh de données commerciales non étiquetées et 10h des données métiers labellisées. Le CER est réduit de 48% par rapport au modèle de référence. Après avoir résolu les problèmes de calcul et de compatibilité en ligne, nous nous sommes concentrés sur la technologie de base de pré-formation non supervisée dans l'ensemble du processus. Pour wav2vec2.0, le moteur Volcano a été optimisé sous deux dimensions : l'algorithme et l'ingénierie. wav2vec2.0, en tant que modèle de pré-formation auto-supervisé proposé par Meta AI en 2020, ouvre un nouveau chapitre dans l'apprentissage par représentation non supervisé de la parole. L'idée principale est d'utiliser le module de quantification pour discrétiser les caractéristiques d'entrée, et grâce à l'optimisation de l'apprentissage comparatif, le corps principal du modèle réalise des caractéristiques d'entrée partielle de masque aléatoire similaires à BERT. Diagramme de structure du modèle wav2vec2.0 (Source : wav2vec 2.0 Figure 1 [1]) J'ai également rencontré deux problèmes épineux lors de la formation du modèle wav2vec 2.0 sur les données d'entreprise : l'un est la faible efficacité de la formation, d'une taille de 300 M. plus de dix jours pour terminer la formation du modèle 64 cartes ; l'autre est que la formation est instable et facile à diverger. Un wav2vec efficace est proposé pour ce moteur Volcano afin d'atténuer les deux problèmes ci-dessus. Pour résoudre le problème de la faible efficacité de la formation, l'équipe a accéléré la formation en réduisant la fréquence d'images du modèle, en remplaçant les fonctionnalités d'entrée de la forme d'onde par les banques de filtres, et la fréquence d'images est passée de 20 ms d'origine à 40 ms. Cela réduit non seulement considérablement la quantité de calcul de convolution d'extraction de fonctionnalités, mais réduit également considérablement la longueur du codage interne de Transformer, améliorant ainsi l'efficacité de la formation. Pour le problème de la formation instable, il est résolu en analysant la méthode d'apprentissage de la pré-formation non supervisée et du jugement global combiné à la situation réelle des données de l'entreprise. La perte d'apprentissage comparative peut être exprimée par la formule suivante : . Pour chaque image t , ct représente la sortie de l'encodeur de l'image, qt représente la sortie de quantification de l'image. De plus, plusieurs autres trames doivent être échantillonnées en tant qu'échantillons négatifs, de sorte que l'ensemble de la trame actuelle et de la trame d'échantillonnage négative est équivalent à un vocabulaire construit dynamiquement Qt. L'objectif d'optimisation de l'apprentissage contrastif est de maximiser la similarité entre le codage de la trame actuelle et le résultat de quantification de la trame, tout en minimisant la similarité entre le codage de la trame actuelle et les résultats de quantification des autres trames. Il n'est pas difficile de constater que la similitude entre les échantillons négatifs et les échantillons positifs ainsi que le nombre d'échantillons négatifs déterminent directement l'effet de l'apprentissage contrastif. En pratique, la longueur moyenne des données commerciales est courte et est loin d'être suffisante pour fournir seulement 50 échantillons négatifs dans une seule phrase. Considérant que la similarité entre trames vocales adjacentes est très élevée, il est nécessaire d'assurer la continuité de la zone de masque, augmentant ainsi la difficulté de reconstruction de la représentation. Afin de résoudre les deux problèmes ci-dessus, Volcano Engine a proposé deux améliorations : Après avoir comparé les effets de wav2vec2.0 (w2v) et Efficient wav2vec (w2v-e) sur les données commerciales, les résultats présentés dans le tableau ci-dessous sont obtenus (tous les modèles sont entraînés à l'aide de 64 GPU V100) : Vous pouvez voir que le wav2vec efficace amélioré a une amélioration stable de 5 % des performances par rapport au wav2vec 2.0 d'origine, et l'efficacité de l'entraînement est presque doublée. Bien que le wav2vec efficace proposé par l'équipe ait presque doublé l'efficacité de la formation au niveau de l'algorithme, en raison du volume de communication important du modèle 300M, la communication de formation fluctue toujours et l'efficacité de l'expansion multi-machines est faible. À cet égard, l'équipe Volcano Engine Voice a conclu : « Afin d'améliorer l'efficacité de la communication lors de la pré-formation des modèles dans des scénarios de gradient synchrone, nous avons complété la technologie d'optimisation de la communication du groupe Bucket sur le backend de communication basée sur le cadre de formation distribué BytePS. et l'efficacité du parallèle des données peut être améliorée de 10 % ; en même temps, afin de résoudre le problème d'attente provoqué par l'ordre différent de définition des paramètres du modèle et l'ordre de mise à jour du gradient, une stratégie de réorganisation adaptative des paramètres (réorganisation des paramètres) est également mise en œuvre. . "Sur la base de ces optimisations, il est en outre combiné avec une accumulation de gradient, etc. Technologie, l'efficacité d'extension sur une seule carte du modèle 300M est passée de 55,42 % à 81,83 %, et l'efficacité d'extension sur plusieurs machines est passée de 60,54 % à 91,13 %. Le modèle qui prenait initialement 6,5 jours à s'entraîner peut désormais être entraîné en seulement 4 jours, ce qui réduit le temps de 40 %. De plus, afin de prendre en charge les scénarios de Big Data à grande échelle pour l'exploration future, l'équipe vocale de Volcano Engine a achevé la construction de capacités atomiques pour une série de modèles à très grande échelle. Tout d'abord, nous avons implémenté la technologie OSS locale, qui a résolu le problème de l'efficacité de l'expansion inter-machines tout en supprimant la majeure partie de la mémoire redondante occupée par l'optimiseur. Plus tard, nous avons pris en charge l'initialisation différée du bucket dans la communication à gradient synchrone, ce qui a doublé les paramètres. .Il consomme une grande quantité de mémoire vidéo, réduisant considérablement la mémoire vidéo maximale et s'adaptant à des scénarios de modèles très volumineux où les ressources de mémoire vidéo sont limitées. Enfin, sur la base du parallélisme des données, le parallélisme des modèles et le parallélisme des pipelines sont pris en charge, ainsi que la vérification et la prise en charge personnalisée ; sont complétés sur les modèles 1B et 10B. Cette série d'optimisations pose une base solide pour la formation de grands modèles et de big data. Actuellement, en adoptant le processus de mise en œuvre de l'ASR à faibles ressources, deux langues à faibles ressources ont mis en œuvre avec succès des sous-titres vidéo et des services de sécurité de contenu. Outre la reconnaissance vocale, le modèle de pré-formation basé sur wav2vec2.0 a également réalisé des gains significatifs dans de nombreuses autres tâches en aval, notamment la détection d'événements audio, la reconnaissance de langue, la détection d'émotions, etc., et sera progressivement implémenté dans la sécurité du contenu vidéo. , recommandation et analyse à l'avenir, déchargement audio, analyse des sentiments du service client du commerce électronique et autres activités connexes. La mise en œuvre d'une technologie de pré-formation non supervisée réduira considérablement le coût d'étiquetage de divers types de données audio, raccourcira le cycle d'étiquetage et permettra de répondre rapidement aux besoins de l'entreprise. En pratique, Volcano Engine a exploré une solution d'implémentation ASR en langage à faibles ressources basée sur wav2vec2.0, qui résout le problème de la surcharge d'inférence élevée et permet une intégration transparente avec le système de bout en bout. -connexion du moteur. Pour résoudre les problèmes fondamentaux de faible efficacité de formation et d’instabilité de wav2vec2.0, Efficient wav2vec a été proposé. Par rapport à wav2vec2.0, l'effet sur les tâches en aval est amélioré de 5 % et le temps de pré-formation est réduit de moitié. Combiné à l'optimisation de l'ingénierie, le temps de pré-formation final est réduit de 70 % par rapport à la version originale. À l'avenir, Volcano Engine continuera d'explorer dans les trois directions suivantes : Volcano Voice, la technologie vocale de pointe qui sert depuis longtemps les différents secteurs d'activité de ByteDance, est ouverte via le moteur Volcano, offrant des capacités de technologie vocale IA de pointe et d'excellentes solutions de produits vocaux complets, y compris la compréhension audio, synthèse audio, personnes numériques virtuelles, interaction conversationnelle, récupération de musique, matériel intelligent, etc. Actuellement, la reconnaissance vocale et la synthèse vocale de Volcano Engine couvrent plusieurs langues et dialectes. De nombreux articles techniques ont été sélectionnés dans diverses conférences de premier plan sur l'IA, offrant des capacités vocales de pointe pour Douyin, Jianying, Feishu, Tomato Novels, Pico et d'autres entreprises. convient à divers scénarios tels que les courtes vidéos, les diffusions en direct, la création vidéo, le bureau et les appareils portables. Références [1] Baevski, A., Zhou, Y., Mohamed, A. et Auli, M., 2020. wav2vec 2.0 : Un cadre pour l'apprentissage auto-supervisé des représentations vocales. dans Neural Information Processing Systems, 33, pp.12449-12460. [2] Hsu, W.N., Bolte, B., Tsai, Y.H.H., Lakhotia, K., Salakhutdinov, R. et Mohamed, A. , 2021. Hubert : Apprentissage auto-supervisé de la représentation vocale par prédiction masquée d'unités cachées Transactions IEEE/ACM sur le traitement audio, vocal et linguistique, 29, pp.3451-3460. [3] Graves , A., Fernández, S., Gomez, F. et Schmidhuber, J., 2006, juin. Classification temporelle connexionniste : étiquetage des données de séquence non segmentées avec des réseaux neuronaux récurrents dans les actes de la 23e conférence internationale sur l'apprentissage automatique (pp. 369 -). 376) reconnaissance. En 2016, conférence internationale de l'IEEE sur l'acoustique, la parole et le traitement du signal (ICASSP) (pp. 4960-4964). [5] Graves, A., 2012. Transduction de séquences avec réseaux de neurones récurrents. Préimpression arXiv arXiv:1211.3711. [6] He, K., Chen, X., Xie, S., Li, Y., Dollár, P. et Girshick, R., 2022. Les auto-encodeurs masqués sont apprenants en vision évolutive. Dans Actes de la conférence IEEE/CVF sur la vision par ordinateur et la reconnaissance de formes (pp. 16000-16009). [7] Baevski, A., Hsu, W.N., Xu, Q., Babu, A., Gu, J. et Auli, M., 2022. Data2vec : Un cadre général pour l'apprentissage auto-supervisé de la parole, de la vision et du langage. Préimpression arXiv arXiv:2202.03555. [8] Conneau, A., Baevski, A., Collobert, R., Mohamed, A. et Auli, M., 2020. Apprentissage non supervisé de la représentation interlingue pour la parole reconnaissance. Préimpression arXiv arXiv:2006.13979. [9] Lu, Y., Huang, M., Qu, X., Wei, P. et Ma, Z., 2022, mai. Apprentissage de la représentation vocale multilingue adaptatif au langage avec des sous-réseaux de partage clairsemés. Dans ICASSP 2022-2022 Conférence internationale de l'IEEE sur l'acoustique, la parole et le traitement du signal (ICASSP) (pp. 6882-6886). IEEE. [10] Park, D.S., Zhang, Y., Jia, Y., Han, W., Chiu, C.C., Li, B., Wu, Y. et Le, Q.V., 2020. Formation améliorée des étudiants bruyants pour la reconnaissance vocale automatique. préimpression arXiv arXiv:2005.09629.Optimisation d'algorithmes
Optimisation de l'ingénierie
Résumé et perspectives
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!