OpenWebinars

Inteligencia Artificial

Whisper: Introducción al reconocimiento de voz

¿Te gustaría poder utilizar una tecnología que convierte tus palabras en texto con precisión casi humana? Whisper es la nueva solución de reconocimiento de voz que promete transformar la manera en que utilizamos el lenguaje hablado en la tecnología. En este artículo te contamos todo lo que necesitas saber sobre Whisper.

Luis López Cuerva

Luis López Cuerva

Lectura 8 minutos

Publicado el 22 de octubre de 2024

Compartir

Introducción

¿Alguna vez has querido transcribir un texto, un discurso o una clase? ¿Conoces el modelo creado por OpenAI para convertir audio en texto? ¿Quieres descubrir nuevos casos de uso en los que se puede aplicar Whisper?

Eb este artículo vamos a responder estas preguntas a la vez que te contamos cuáles son las principales características de Whisper.

Todas las grandes empresas que trabajan con inteligencia artificial han desarrollado su propio servicio de reconocimiento y transcripción de voz. Amazon Web Services, también conocido como AWS dispone de Amazon Transcribe, Microsoft ofrece Azure AI Speech para realizar tareas de ASR (Automatic Speech Recognition), también conocidas como tareas de reconocimiento y transcripción de voz. Mientras tanto Meta ha decidido seguir una aproximación diferente.

En lugar de ofrecer un servicio para resolver dichas tareas han creado un modelo Open Source, concretamente Wav2letter. Finalmente está OpenAI, que ofrece lo mejor de los mundos. OpenAI ha creado Whisper, el modelo open source del que hablaremos hoy y además ofrece la posibilidad de utilizarlo como un servicio a través de su API.

¡Manos a transcribir!

Qué es Whisper

Whisper es el modelo de reconocimiento de voz desarrollado por OpenAI desarrollado en 2022. La primera vez que aparece es en el artículo científico Robust Speech Recognition via Large-Scale Weak Supervision.

El principal punto fuerte de Whisper respecto a otros modelos de reconocimiento y transcripción de voz es el conjunto de datos utilizado en entrenamiento, el cual consta de 680.000 horas de audio multilenguaje y multitarea. Esto hace que Whisper sea un modelo multifunción capaz de llevar a cabo las siguientes tareas:

  • Reconocimiento del habla en múltiples idiomas: Es la tarea principal para la que Whisper fue diseñado. Gracias al gran conjunto de datos utilizado WHisper es capaz de hacer esto con 57 idiomas diferentes.
  • Traducción del habla: Este modelo puede recibir como entrada audio en un idioma y generar su traducción en el idioma de nuestra elección.
  • Identificación del idioma: Whisper es capaz de detectar el idioma en el que se dice una frase.

Funcionamiento básico

El primer paso para entender cómo funciona Whisper es conocer su arquitectura a alto nivel.

Whisper nace a partir de la arquitectura transformer. Los transfomers son modelos de redes neuronales que gracias a un mecanismo de atención son capaces de manejar de forma eficaz grandes secuencias de datos.

Es destacable que inicialmente los transformers se diseñaron para resolver tareas de procesamiento del lenguaje natural (NLP), pero actualmente se utilizan en todos los campos que utilizan redes neuronales. Más concretamente Whisper es un modelo encoder-decoder, es decir, un modelo que se divide en dos partes.

Una primera parte procesa los datos de entrada y los convierte en una representación interna. A continuación, una segunda parte convierte esta representación interna en la salida de nuestro modelo. Si quieres profundizar en el funcionamiento de los transformers te recomendamos nuestra ruta de especialización en inteligencia artificial.

Ahora que conocemos la arquitectura que se esconde detrás de Whisper vamos a repasar las fases que realiza el modelo para llevar a cabo una predicción:

  • Entrada de datos: Whisper recibe un audio muestreado a 16kHz.
  • Preprocesamiento: El audio divide en fragmentos de 30 segundos.
  • Conversión en espectogramas: El audio se convierte en una representación visual del espectro de frecuencias del audio a lo largo del tiempo.
  • Codificacion espectograma: El encoder de Whisper convierte el espectograma en una representación interna extrayendo las características y relaciones más importantes que estén presentes en los datos.
  • Decodificacion: El decoder decodifica la representación interna de los datos generando una salida en función de la tarea que se esté resolviendo.

Diferencias respecto a otros sistemas

Existen cuatro puntos clave que permiten diferenciar fácilmente a Whisper de sus competidores:

  • Open source: Whisper es un modelo open source disponible para su uso bajo una licencia MIT. Es decir, cualquier persona puede utilizar este modelo tanto para fines comerciales como privados. El modelo se puede encontrar en Hugging Face.
  • Rendimiento multilingüe: Este modelo es capaz de reconocer y transcribir audios en 57 idiomas diferentes.
  • Robustez de las transcripciones: Whisper es un modelo extremadamente resiliente a ruidos de fondo.
  • Modelo multitarea: Whisper es un modelo capaz de resolver tres tareas diferentes: reconocimiento y transcripción del habla, identificación del lenguaje y traducción de audios.
Aprende a desarrollar algoritmos de Machine Learning
Conviértete en un profesional de Machine Learning. Domina las habilidades y herramientas necesarias para implementar algoritmos de aprendizaje automático y Deep Learning en Python.
Comenzar gratis ahora

Características más destacadas de Whisper

La mayor parte de las características más importantes de Whisper derivan directamente del conjunto de datos utilizado en el proceso de entrenamiento. A continuación vamos a revisar las cuatro más destacables.

  • Reconocimiento en entornos ruidosos: Whisper es un modelo capaz de reconocer el habla de manera fiable en entornos ruidosos. Esto es debido a que dentro de las 680.000 horas que conforman el conjunto de entrenamiento existe un subconjunto de audios que incluye gente hablando en entornos ruidosos como pueden ser bares o avenidas concurridas. Este subconjunto incluso llegar a incluir grabaciones en las que simplemente hay ruido de fondo y no se debe generar ninguna transcripción, mejorando así la capacidad del modelo de ignorar los ruidos.

  • Multilingüismo: Aproximadamente un tercio del conjunto de datos utilizados para entrenar Whisper presentan al menos un idioma diferente al inglés. Concretamente los datos utilizados por OpenAI para entrenar constan de 98 idiomas diferentes. Este conjunto de datos hace que Whisper sea capaz de ejecutar sus tareas de forma eficaz en 57 idiomas diferentes de quince familias de lenguas diferentes. Algunas de estas familias son: lenguas romances, eslavas, germánicas, semíticas, turcas, indonesias o japónicas.

  • Adaptación y mejora continua: Whisper en un modelo open source, por lo tanto, la comunidad científica presenta de forma continua versiones de Whisper adaptadas a dominios específicos. Simultáneamente, OpenAI también continúa mejorando el modelo. Actualmente la versión más avanzada de Whisper es Whisper large-v2 que ofrece mejoras respecto a la primera versión de Whisper.

Aplicaciones de Whisper en el reconocimiento de voz

Whisper tiene una gran cantidad de aplicaciones a lo largo de diferentes sectores. A continuación, presentamos algunas de las aplicaciones más importantes.

  • Asistentes virtuales y chatbots: Hoy en día es común que a la hora de interactuar con asistentes virtuales y chatbots utilicemos nuestra propia voz. Whisper permite que estos asistentes sean capaces de comprender que deseamos de ellos, aunque los utilicemos en entornos ruidosos o tengamos alguna dificultad a la hora de pronunciar ciertas palabras. En nuestro curso de reconocimiento de voz con Whisper te enseñamos a desarrollar tu propio asistente virtual con Whisper.

  • Traducción de voz: Whisper es un modelo multitarea capaz de realizar traducciones y transcripciones. Por lo tanto, Whisper se puede utilizar para traducir directamente audios que estén en un idioma y generar transcripciones en un idioma completamente diferente. A la hora de realizar estas tareas es importante recordar que el rendimiento de Whisper a la hora de realizar traducción y transcripción es ligeramente inferior a su rendimiento cuando únicamente se desea transcribir texto.

  • Aplicaciones en el sector salud: Whisper presenta dos casos de uso de especial interés en el ámbito de la salud. El primer caso de uso consiste en la mejora de la accesibilidad de los pacientes al servicio de salud, ya sea generando transcripciones en consultas telemáticas o transcrbiendo conversaciones médicas para poder ser revisadas en el futuro. El segundo caso de uso consiste en la automatización de las notas creadas por los médicos, permitiendo a estos dictar las notas en lugar de tener que redactarlas, facilitándoles ahorrar tiempo para poder dedicar más tiempo a sus pacientes.

  • Seguridad y monitoreo: Whisper se puede utilizar para monitorizar y analizar conversaciones para detectar situaciones de riesgo y amenazas en cualquier entorno. La capacidad de Whisper de realizar transcripciones en entornos ruidosos es especialmente útil para estas tareas ya que se puede utilizar en entornos concurridos como pueden ser aeropuertos o estaciones de tren. Es importante recordar los riesgos de privacidad cuando vayamos a desplegar cualquier aplicación que aborde estos casos de uso.

Ventajas competitivas de Whisper

Dos años después de su revelación por parte de OpenAI Whisper continúa siendo uno de los modelos de reconocimiento de hablar y transcripción más usados tanto en entornos científicos como en entornos industriales. A continuación, vamos a analizar las ventajas que aporta el uso de Whisper.

  • Gran precisión en condiciones difíciles: Whisper es uno de los modelos más robustos a la hora de trabajar en entornos ruidosos y en entornos con múltiples conversaciones de fondo. Esta robustez hace que Whisper sea uno de los mejores modelos para crear transcripciones a partir de audios captados con micros de baja calidad o en entornos con eco y ruido ambiental. Si bien los entornos ruidosos son la condición más compleja a la hora de transcribir audios no es la única condición difícil. Gracias al gran tamaño del conjunto de datos utilizados Whisper es capaz de reconocer audios que emplean jerga o palabras raras.

  • Facilidad de integración: Whisper es un modelo open source y al que se puede acceder fácilmente a través de repositorios de modelos de inteligencia artificial como Hugging Face o Github. Además, Whisper se puede consumir como un servicio a través de Azure OpenAI Service. Este gran abanico de formas de consumir Whisper hacec que sea extremadamente sencillo integrar su uso tanto en entornos de Microsoft como en entornos personalizados. Por ejemplo, aquí podemos encontrar una integración de Whisper en el navegador web, permitiendo acceder al funcionamiento de Whisper desde cualquier dispositivo que tenga acceso a internet.

  • Capacidad de personalización: Whisper es un modelo open source, por lo tanto, existen múltiples técnicas que permiten adaptar el modelo a cada caso de uso concreto. Algunas de las técnicas que permiten personalizar el modelo son:

  • Fine-tunning: Una de las maneras de personalizar Whisper y adaptarlo a nuestros casos de uso es llevar a cabo un reentrenamiento parcial utilizando datos específicos de la tarea que queremos resolver.

  • Ajustes velocidad/calidad: Se puede ajustar el proceso de transcripción de Whisper para encontrar un punto de equilibrio entre la calidad de la transcripción y la velocidad a la que se ejecuta este. Por ejemplo, si necesitamos realizar transcripciones críticas podemos ajustar el modelo para que dedique más tiempo al proceso de transcripción y genere mejores resultados.
  • Optimización para dispositivos concretos: Disponer del modelo WHisper bajo licencia MIT nos permite modificar el modelo y crear derivados, permitiéndonos así crear versiones de Whisper optimizadas para dispositivos con menor potencia computacional como puede ser un teléfono móvil.

  • Mejora continua basada en IA: Whisper es el modelo de reconocimiento y transcripción de voz más potente del mercado. Una de las razones es que recibe mejoras derivadas de los últimos avances en el campo de la inteligencia artificial. Cuando utilicemos la API de OpenAI para utilizar Whisper podemos utilizar prompts (instrucciones utilizadas generalmente en tareas de inteligencia artificial generativa) para mejorar la calidad de la transcripción de las siguientes dos maneras:

  • Uso de prompts: La API de OpenAI que nos facilita utilizar Whisper permite pasar un parámetro de prompt para indicar cómo se escriben palabras o acrónimos extraños, mejorando así la calidad de transcripción en estos casos.

  • Post-procesamiento con GPT-4: Otra de las maneras de obtener mejores transcripciones es post-procesando la transcripción generada. Para esto se puede utilizar GPT-4 para que este corrija los potenciales errores presentes en la trancripción. Esta aproximación es muy sencilla de realizar cuando utilicemos la API de OpenAI ya que encontramos en una misma API el servicio de transcripción y post-procesamiento.

Desafíos en la implementación de Whisper

Ya hemos visto que Whisper es un modelo de reconocimiento y transcripción de voz muy robusto, pero todavía queda margen de mejora para que podamos afirmar que la tarea de reconocimiento y transcripción de voz es una tarea cerrada. A continuación, vamos a ver los principales desafíos pendientes.

  • Limitaciones en idiomas minoritarios: Whisper es un modelo multilenguaje capaz de realizar transcripciones en 57 idiomas, sin embargo, en su conjunto de entrenamiento encontramos 98 idiomas diferentes. Esta diferencia se debe a que Whisper tiene dificultades a la hora de realizar transcripciones en idiomas con poca representación en el conjunto de datos.

  • Costos de implementación: Como hemos visto previamente existen muchas formas de desplegar Whisper, podemos utilizar el modelo en nuestra propia arquitectura, disponer de este a través de la API de OpenAI o a través de Azure OpenAI Services. La primera aproximación requiere disponer de una arquitectura propia lo suficientemente potente como para poder utilizar el modelo, mientras tanto las otras dos aproximaciones requieren de disponer de suscripciones a los servicios de OpenAI o Azure, las cuáles pueden incurrir en costes elevados.

  • Manejo de la privacidad y seguridad: Al utilizar Whisper estamos procesando datos potencialmente sensibles, ya que nos disponemos de información previa acerca del contenido de los audios. La gestión de datos potencialmente sensibles debe realizarse siempre con extremado cuidado ya que fugas de estos datos pueden incurrir en el incumplimiento de leyes como el GDPR (Reglamento General de Protección de Datos).

Mejora las habilidades de tus analistas de datos
En OpenWebinars lograrás que tu equipo se mantenga a la vanguardia en las últimas tecnologías para implementar y crear algoritmos de Machine Learning.
Solicitar más información

Conclusiones

Whisper es el modelo de reconocimiento y transcripción más utilizado. Fue presentado por OpenAI en 2022 y a día de hoy es uno de los modelos más utilizados para las tareas de transcripción, traducción de audios e identificación de idiomas. En parte esto se debe a qué podemos utilizar Whisper a partir del modelo en crudo disponible en Hugging Face o a través de la API de OpenAI o de Azure OpenAI Service.

Que Microsoft haya apostado por ofrecer Whisper como un servicio no es un hecho casual, OpenAI ha mejorado Whisper a lo largo del tiempo, tanto creando versiones mejoradas como ofreciendo herramientas para mejorar su rendimiento. Esto demuestra que Whisper es un modelo vivo que OpenAI planea continuar mejorando a lo largo del tiempo.

¡Whisper es presente y futuro!

Bombilla

Lo que deberías recordar de Whisper

  • Whisper es el modelo de reconocimiento y transcripción de voz más usado.
  • Es extremadamente robusto a entornos ruidosos.
  • Es un modelo open source.
  • Whisper es un modelo multitarea: puede transcribir, traducir e identificar idiomas.
  • Puede transcribir en 57 idiomas diferentes.
  • Presenta costes de implementación elevados.
Compartir este post

También te puede interesar

Icono de la tecnología
Taller

Interpretación de voz con IA

Intermedio
50 min.

En este taller aprenderás a utilizar un servicio Cloud de Inteligencia Artificial (con IBM) para aprender a añadir...

Carlos López Juan
4.8