Reconocimiento de habla (IV): Universal Speech Model

Rubén Rodríguez Abril

Universal Speech Model es un modelo de lenguaje creado por Google que puede realizar labores de reconocimiento de habla (ASR) en más de 300 lenguas diferentes, muchas de ellas minoritarias y con poco material disponible.

Introducción

Uno de los problemas que plantea el entrenamiento de un sistema universal de ASR, capaz de reconocer frases y palabras en todas las lenguas del Mundo, es la escasez de datos etiquetados para idiomas con pocos hablantes. Universal Speech Language (USM) trata de paliar este problema utilizando novedosos sistemas de preentrenamiento (no supervisado) y afinamiento (supervisado), que hacen que sea necesaria tan sólo una cantidad limitada de datos etiquetados para obtener resultados satisfactorios.

Bases de datos

El material utilizado para entrenar a USM contiene un amplio volumen de datos no supervisados, de audio y texto, y una cantidad sensiblemente inferior de datos etiquetados, en las que las diferentes secciones de audio son alineadas (emparejadas) con sus transcripciones. Los datos se estructuran en tres categorías:

Audio sin emparejar:

YT-NTL-U: 12 millones de hora de audio de YouTube en 300 lenguas diferentes:

Pub-U: 429k horas de habla sin etiquetar, en 51 idiomas y extraídas de bases de datos públicas

Texto sin emparejar:

Web-NTL: Corpus Multilingüe compuesto de 28.000 millones de frases en 1140 idiomas.

Datos emparejados:

YT-SUP+: 90k horas de audio etiquetado, en 73 idiomas

Pub-S: 10k horas de audio etiquetado en inglés americano y 10k horas de audio etiquetadas en otros idiomas.

Arquitectura

USM se compone de un codificador y un transductor. El primero transforma una serie de vectores espectrales (Fourier) en una representación interna (matriz). El segundo, que se entrena durante el afinamiento, recibe como entrada esta representación y atribuye a cada uno de sus vectores una transcripción fonética. El codificador es un conformer de 2 mil millones de parámetros.

Figura 1: Hiperparámetros del codificador (conformer) de USM, para dos submodelos diferentes, uno con 600 y 2.000 millones de parámetros respectivamente.

Atención a pedazos

A menudo, las operaciones de reconocimiento auditivo se realizan sobre audios de minutos o incluso horas de duración, que suponen una ingente cantidad de vectores espectrales y exigen unas enormes ventanas de contexto. Por este motivo, los mecanismos de atención global (cuyas matrices, no lo olvidemos, tienen dimensión cuadrática sobre el número de vectores) no son viables. Y a menudo las cabezas de las unidades de atención usan mecanismos de naturaleza local, en la que los tokens sólo pueden ser relacionados con sus elementos vecinos.

Figura 2. Descripción de las matrices de atención en el caso de la atención global y la atención local. Los coeficientes a determinar por el proceso de entrenamiento son los marcados en azul oscuro. En la atención global la máscara pone a cero (en color claro) aquellos elementos situados arriba y a la derecha de la diagonal. En la atención local, todos los elementos de la matriz son nulos, salvo aquellos situados junto a la diagonal. La cantidad de elementos no nulos contiguos a la diagonal se denomina “ventana”. En este caso, la ventana es de tamaño tres. Fuente: Zebra: Extending Context Window with Layerwise Grouped Local-Global Attention.

En USM, la ventana de contexto es mucho más grande en la fase de inferencia que en la de entrenamiento. En la primera, el modelo recibe como entrada audios de minutos u horas de duración, mientras que durante los entrenamientos los audios transcritos duran apenas unos 30 segundos (el resto de la matriz de entrada es padding). USM no almacena, pues, patrones de relación entre fracciones de audio alejadas temporalmente entre sí. Esto provoca el llamado problema de la degradación a grandes formatos (long-form degradation problem), causado porque durante la inferencia la sucesiva acumulación de capas de atención  que pone en conexión partes muy alejadas del audio, como se muestra en la imagen. Algo para lo cual el modelo no ha sido entrenado.

Figura 3: A la izquierda, la ventana de atención tiene tan sólo un tamaño de tres 3, pero la superposición de diferentes unidades de atención provoca que el campo receptivo del token y3 tenga una dimensión de 7 cuatro capas más abajo.

Para paliarlo, en algunas versiones de USM se usa la llamada “atención a pedazos” (chunk-wise attention). Los tokens se dividen en comportamientos estancos, de tal modo que los mecanismos de atención sólo pueden relacionar dentro del mismo compartimento, del modo señalado en la ilustración número 3.

Entrenamiento

El entrenamiento de USM se estructura en tres fases diferentes:

-Una primera fase de preentrenamiento no supervisado (BEST-RQ)

-Otra segunda fase (opcional) de preentrenamiento supervisado (MOST), en la que se mezcla audio supervisado con texto no supervisado.

-En tercer lugar, una última fase de preafinamiento, que tan sólo supone el 5% de la inversión computacional total durante el entrenamiento.

Figura 4: Las tres fases del entrenamiento de USM.

Preentrenamiento no supervisado: BEST-RQ

Para preentrenar el modelo se usa una variante de BERT denominada BEST-RQ (BERT-based Speech pre-Training with Random#projection Quantizer).

Como el lector recordará, en BERT varios de los tokens de la cadena de entrada están enmascarados, y el modelo debe producir una representación que, de golpe, realice una predicción sobre esos tokens ocultos. En un sistema de reconocimiento de habla (y de sonidos en general), los tokens de entrada son vectores espectrales.

En BEST-RQ no todos los posibles vectores espectrales son admisibles, sino sólo una parte de ellos. Como consecuencia de ello, cada token de la cadena de entrada es asociado por un cuantizador de proyección (projection quantizer) al vector admisible más próximo. Cada uno de los vectores adminisbles tiene asignado a su vez un código numérico. Los aficionados a la física detectarán una curiosa semejanza con la mecánica cuántica, en la cual sólo son admisibles determinados niveles/valores de energía.

Figura 5: Esquema de BEST-RQ. El modelo recibe como entrada un espectrograma. A la derecha, un cuantizador de proyección asigna a cada vector de entrada un vector de referencia. Seguidamente, un libro de códigos atribuye al vector un índice numérico. A la izquierda, algunos de los vectores de entrada son enmascarados, y el codificador debe adivinar su etiqueta numérica.

Preentrenamiento supervisado: MOST

Algunas versiones de USM introducen, inmediatamente después de BERT-RQ, una segunda fase de preentrenamiento supervisado (MOST, Multi-Objetive Supervised Training), que aumenta la eficiencia del modelo cuando se trata de lenguas con poco material de audio disponible.

La principal innovación de MOST es la de crear un espacio de características (o espacio semántico) común para audio y texto, de tal manera que un vector espectral y el signo fonético que lo transcribe apunten al mismo vector. Se entrenan para ello dos capas de embedding (codificación de contenido) diferentes, una para el audio y otra para el texto, tal y como se muestra en la figura número 6.

Figura 5. Las tres fases del entrenamiento de USM: audio sin supervisar (BEST-RQ), audio y texto alineados, texto sin supervisar. Únicamente la intermedia puede considerarse como un texto supervisado.

A USM se le agregan alternativamente dos codificadores, uno de audio/habla y otro de texto, que apuntan al mismo espacio de embedding. Dentro del codificador de texto hay un módulo de duración y remuestreo, que transforma una entra tipo “radio” en otra de tipo “raaaa_d_i_oo”, en línea con la duración prevista de cada fonema. La salida de cualquiera de los dos codificadores, sirve como entrada para un codificador conjunto.

En una primera fase, que es BEST-RQ, al modelo se le acopla el codificador de habla, y su misión es predecir las etiquetas correspondientes a aquellos tokens de audio enmascarados.

En una segunda fase se utilizan audio y texto emparejados. Al modelo se le agrega un descodificador de texto, cuya salida es similar a la de una CTC: se establece una correspondencia uno a uno entre tokens de audio y caracteres de la cadena de salida, en el modo descrito en este artículo. El flujo de información tiene lugar como sigue:

a) El audio atraviesa el codificador de habla, el codificador conjunto y el descodificador de texto. La función de error es retropropagada a través. Las salidas producidas por el descodificador de texto (p.e. “raaaa_d_i_oo”) son utilizadas para entrenar el módulo de duración.

b) El texto atraviesa el codificador de texto. La salida de éste es comparada con la del codificador de audio. La función de pérdida resultante es retropropagada a través del codificador de texto, que de este modo es entrenado. Los pesos sinápticos del codificador de habla/audio permanecen, en cambio inalterados. De este modo, penalizamos las divergencias existentes entre ambos codificadores, que, conforme progresa el entrenamiento, apuntan a los mismos vectores.

La tercera fase es denominada inyección de texto. Ya no se usan los datos (por lo demás, escasos) de audio, sino únicamente textos. Dado que el codificador de texto apunta al mismo espacio de embedding que el de audio, es posible utilizar textos para seguir preentrenando al modelo, sin que éste sufra apenas merma alguna en su rendimiento.

Afinamiento

La mayor parte de los modelos de USM pueden ser afinados para realizar tareas específicas. Ello se realiza agregando un descodificador que puede ser un CTC, LAS o RNN-T (RNN transductora).

Resultados

USM fue testeado tanto en el ámbito del reconocimiento del habla (bases de datos SpeechStew y FLEURS) como en el de traducción oral simultánea (benchmark CoVoST 2). Los resultados demostraron que USM supuso una mejora respecto a otros sistemas de reconocimiento de habla, como Whisper, de OpenAI, que en muchas lenguas del mundo tenía un WER de más del 100% y experimentaba alucinaciones.

Por lo demás, el hecho de que USM pueda ser entrenado eficientemente con pocos datos abre la puerta a la creación de modelos de IA hablantes pasivos de idiomas al borde de la extinción y con muy pocos hablantes, como algunas lenguas tungúsicas (evenki), yeniseicas (ket) o urálicas (udmurto). Si eso se consigue, los modelos de lenguaje prorrogarán la vida de estas lenguas en el ciberespacio y, después de la muerte de sus últimos hablantes humanos, se convertirán en el último susurro de las mismas.