Asistente de idiomas LingoNaut.  Aprendizaje multilingüe con un… |  de Nate Cibik |  febrero de 2024
Imagen del autor usando DALL-E 3.

Susurro

Susurro es un modelo de voz a texto de código abierto proporcionado por OpenAI. Hay cinco tamaños de modelos disponibles en variedades centradas en inglés y multilingües para elegir, según la complejidad de la aplicación y la compensación deseada entre precisión y eficiencia. Whisper es un marco de voz a texto de extremo a extremo que utiliza una arquitectura de transformador codificador-decodificador que opera con audio de entrada dividido en fragmentos de 30 segundos y convertido en un espectrograma log-Mel. La red está capacitada para múltiples tareas de procesamiento del habla, incluido el reconocimiento del habla multilingüe, la traducción del habla, la identificación del idioma hablado y la detección de actividad de la voz.

Diagrama de la arquitectura Whisper del trabajo de investigación.

Para este proyecto, el usuario dispone de dos botones de walkie-talkie: uno que envía sus preguntas generales en inglés al robot a través del modelo “base” más ligero y rápido, y un segundo que implementa el modelo multilingüe “medio” más grande que Puede distinguir entre docenas de idiomas y transcribir con precisión declaraciones pronunciadas correctamente. En el contexto del aprendizaje de idiomas, esto lleva al usuario a centrarse muy intensamente en su pronunciación, acelerando el proceso de aprendizaje. A continuación se muestra una tabla de los modelos Whisper disponibles:

Gráfico de https://github.com/openai/whisper

Ollama

Existe una variedad de interfaces de modelos de lenguaje de código abierto muy útiles, todas ellas orientadas a diferentes casos de uso con distintos niveles de complejidad para la configuración y el uso. Entre los más conocidos se encuentran los oobabooga webui de generación de textoposiblemente con la mayor flexibilidad y control bajo el capó, llama.cppque originalmente se centró en la implementación optimizada de modelos cuantificados en dispositivos más pequeños solo con CPU, pero desde entonces se ha expandido para servir a otros tipos de hardware, y la interfaz optimizada elegida para este proyecto (construida sobre llama.cpp): Ollama.

Ollama se centra en la simplicidad y la eficiencia, se ejecuta en segundo plano y es capaz de atender múltiples modelos simultáneamente en hardware pequeño, moviendo rápidamente los modelos dentro y fuera de la memoria según sea necesario para atender sus solicitudes. En lugar de centrarse en herramientas de nivel inferior como el ajuste, Ollama sobresale en instalación simpletiempo de ejecución eficiente, una gran difusión de modelos listos para usary herramientas para importar pesos de modelos previamente entrenados. El enfoque en la eficiencia y la simplicidad hace de Ollama la elección natural para la interfaz LLM en un proyecto como LingoNaut, ya que el usuario no necesita acordarse de cerrar su sesión para liberar recursos, ya que Ollama gestionará esto automáticamente en segundo plano cuando la aplicación esté activa. no esta en uso. Además, el fácil acceso a modelos cuantificados y de alto rendimiento en la biblioteca es perfecto para el desarrollo sin fricciones de aplicaciones LLM como LingoNaut.

Si bien Ollama no está técnicamente diseñado para Windows, es fácil para los usuarios de Windows instalarlo en el subsistema de Windows para Linux (WSL), luego comunicarse con el servidor desde sus aplicaciones de Windows. Con WSL instalado, abra una terminal de Linux e ingrese el Ollama de una sola línea comando de instalación. Una vez que finalice la instalación, simplemente ejecute “ollamaserve” en la terminal de Linux y luego podrá comunicarse con su servidor Ollama desde cualquier script Python en su máquina Windows.

Coqui.ai 🐸 TTS

tts es una biblioteca de conversión de texto a voz completamente equipada disponible para uso no comercial, con licencias comerciales pagas disponibles. La biblioteca ha experimentado una popularidad notable, con 3.000 bifurcaciones y 26,6.000 estrellas en GitHub al momento de escribir este artículo, y está claro por qué: la biblioteca funciona como el Ollama del espacio de texto a voz, proporcionando una interfaz unificada para acceder. una amplia gama de modelos de rendimiento que cubren una variedad de casos de uso (por ejemplo: proporcionar un modelo multilingüe y con múltiples hablantes para este proyecto), características interesantes como la clonación de voz y controles sobre la velocidad y el tono emocional de las transcripciones.

La biblioteca TTS ofrece una amplia selección de modelos de conversión de texto a voz, incluidos los ilustres modelos Fairseq de Massively Multilingual Speech de la investigación de Facebook (MMS) proyecto. Para LingoNaut, el propio equipo de Coqui.ai XTTS El modelo resultó ser la elección correcta, ya que genera voz de alta calidad en varios idiomas sin problemas. Aunque el modelo tiene un parámetro de entrada de “idioma”, descubrí que incluso dejarlo configurado en “en” para inglés y simplemente pasar texto en otros idiomas todavía da como resultado una generación multilingüe fiel con pronunciaciones en su mayoría correctas.