Dominando el reconocimiento de voz con Whisper
Esta formación detalla el uso y la implementación de la última versión de Whisper, con énfasis en aplicaciones...
¿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.
¿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!
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:
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:
Existen cuatro puntos clave que permiten diferenciar fácilmente a Whisper de sus competidores:
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.
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.
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.
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.
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).
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!
También te puede interesar
Esta formación detalla el uso y la implementación de la última versión de Whisper, con énfasis en aplicaciones...
Aprende a diseñar, desarrollar y desplegar asistentes virtuales utilizando Botpress, una plataforma líder en la creación de chatbots....
En este taller aprenderás a utilizar un servicio Cloud de Inteligencia Artificial (con IBM) para aprender a añadir...