| Tutoriales | Sitio web | Documentación | ? Contribuyente | ? Huggingface |
Por favor, ayude a nuestro proyecto comunitario. ¡Estrella en Github!
Noticias emocionantes (enero de 2024): ¡ Descubre qué hay de nuevo en Speechbrain 1.0 aquí!
Speechbrain es un conjunto de herramientas de Pytorch de código abierto que acelera el desarrollo de IA conversacional , es decir, la tecnología detrás de los asistentes del habla , los chatbots y los modelos de idiomas grandes .
Está diseñado para la creación rápida y fácil de tecnologías avanzadas para el procesamiento del habla y el texto .
Con el surgimiento del aprendizaje profundo, los dominios que alguna vez fueron distantes como el procesamiento del habla y la PNL ahora están muy cerca. Una red neuronal bien diseñada y grandes conjuntos de datos son todo lo que necesita.
Creemos que ahora es el momento de un juego de herramientas holístico que, imitando el cerebro humano, apoya conjuntamente tecnologías diversas para sistemas de IA conversacionales complejos.
Esto abarca el reconocimiento de voz , el reconocimiento de los hablantes , la mejora del habla , la separación del habla , el modelado de idiomas , el diálogo y más allá.
Alineado con nuestro objetivo a largo plazo de la conversación natural de la máquina humana, incluso para las personas no verbales, recientemente hemos agregado apoyo para la modalidad EEG.
Compartimos más de 200 recetas de capacitación competitiva en más de 40 conjuntos de datos que admiten 20 tareas de procesamiento de voz y texto (ver más abajo).
Apoyamos tanto el entrenamiento desde cero y modelos previos al año como Whisper, WAV2VEC2, WAVLM, HUBERT, GPT2, LLAMA2 y más allá. Los modelos en Huggingface se pueden conectar y ajustar fácilmente.
Para cualquier tarea, capacita al modelo usando estos comandos:
python train . py hparams / train . yamlLos hiperparámetros están encapsulados en un archivo YAML, mientras que el proceso de capacitación se orquesta a través de un script de Python.
Mantuvimos una estructura de código consistente en diferentes tareas.
Para una mejor replicabilidad, los registros de entrenamiento y los puntos de control se alojan en Dropbox.
from speechbrain . inference import EncoderDecoderASR
asr_model = EncoderDecoderASR . from_hparams ( source = "speechbrain/asr-conformer-transformerlm-librispeech" , savedir = "pretrained_models/asr-transformer-transformerlm-librispeech" )
asr_model . transcribe_file ( "speechbrain/asr-conformer-transformerlm-librispeech/example.wav" )Aceleración de la investigación : acelerar la investigación académica e industrial. Puede desarrollar e integrar nuevos modelos sin esfuerzo, comparando su rendimiento con nuestras líneas de base.
⚡️ Prototipos rápidos : ideal para prototipos rápidos en proyectos sensibles al tiempo.
? Herramienta educativa : la simplicidad de Speechbrain lo convierte en un valioso recurso educativo. Es utilizado por instituciones como Mila, Universidad de Concordia, Universidad de Avignon y muchos otros para la capacitación de estudiantes.
Para comenzar con Speechbrain, siga estos simples pasos:
Instale Speechbrain usando PYPI:
pip install speechbrainAcceda a Speechbrain en su código Python:
import speechbrain as sbEsta instalación se recomienda para los usuarios que desean realizar experimentos y personalizar el kit de herramientas de acuerdo con sus necesidades.
Clonar el repositorio de GitHub e instalar los requisitos:
git clone https://github.com/speechbrain/speechbrain.git
cd speechbrain
pip install -r requirements.txt
pip install --editable .Acceda a Speechbrain en su código Python:
import speechbrain as sb Cualquier modificación realizada al paquete speechbrain se reflejará automáticamente, gracias a la bandera --editable .
Asegúrese de que su instalación sea correcta ejecutando los siguientes comandos:
pytest tests
pytest --doctest-modules speechbrainEn Speechbrain, puede entrenar un modelo para cualquier tarea utilizando los siguientes pasos:
cd recipes / < dataset > / < task > /
python experiment . py params . yaml Los resultados se guardarán en la output_folder especificada en el archivo YAML.
Sitio web: Explore información general en el sitio web oficial.
Tutoriales: Comience con tutoriales básicos que cubren funcionalidades fundamentales. Encuentre tutoriales y temas avanzados en la categoría de cuadernos tutoriales en la documentación de Speechbrain.
Documentación: Información detallada sobre la API de Speechbrain, las pautas de contribución y el código están disponibles en la documentación.
| Tareas | Conjuntos de datos | Tecnologías/modelos |
|---|---|---|
| Reconocimiento de voz | Aishell-1, CommonVoice, Dvoice, Ksponspeech, Librispeech, Media, Rescuespeech, shorttrepboard, Timit, Tedlium2, VoiceBank | CTC, transductores, transformadores, SEQ2SEQ, Técnicas de BeamSearch para CTC, SEQ2SEQ, Transductores), Rescatoring, Conformador, Branchformer, HyperConformer, Kaldi2-FST |
| Reconocimiento de altavoces | Voxceleb | ECAPA-TDNN, RESNET, XVECTORS, PLDA, Normalización de puntaje |
| Separación del habla | WSJ0MIX, Librimix, Wham!, Whamr!, Aishell1mix, Binauralwsj0mix | Sepformer, Resormador, Skim, Dualpath RNN, Convtasnet |
| Mejora del habla | DNS, voz de voz | Sepformer, Metricgan, Metricgan-U, Segan, enmascaramiento espectral, enmascaramiento de tiempo |
| Interpretabilidad | ESC50 | Mapas escuchables para clasificadores de audio (L-MAC), aprendizaje de interpretación (L2I), factorización de matriz no negativa (NMF), PIQ |
| Generación del habla | Audiomnista | Difusión, difusión latente |
| Texto a voz | Ljspeech, libritts | Tacotron2, Tacotron2 de múltiples disparos de disparo cero, FastSpeech2 |
| Vocero | Ljspeech, libritts | Hifigan, diffwave |
| Comprensión del lenguaje hablado | Medios de comunicación, sorbo, comandos de discurso fluido, temporizadores y tas | SLU directo, SLU desacoplado, SLU de varias etapas |
| Traducción al habla a voz | CVSS | Hubert discreto, Hifigan, WAV2VEC2 |
| Traducción del habla | Fisher Callhome (español), IWSLT22 (Lowresurce) | WAV2VEC2 |
| Clasificación de emociones | Iemocap, zaionemotiondataset | ECAPA-TDNN, WAV2VEC2, Diarización emocional |
| Identificación del idioma | Voxlingua107, Commonlanguage | ECAPA-TDNN |
| Detección de actividad de voz | Libriparty | Crdnn |
| Clasificación de sonido | Esc50, Urbaneund | CNN14, ECAPA-TDNN |
| Aprendizaje auto-supervisado | CommonVoice, Librispeech | WAV2VEC2 |
| Aprendizaje métrico | Real-M, VoiceBank | Estimación ciega de SNR, aprendizaje de Pesq |
| Alineación | Timitar | CTC, Viterbi, adelante hacia adelante |
| Diarización | Ami | ECAPA-TDNN, VECTORES X, ACUCHA SPECTRAL |
| Tareas | Conjuntos de datos | Tecnologías/modelos |
|---|---|---|
| Modelado de idiomas | CommonVoice, Librispeech | n-grams, rnnlm, transformerlm |
| Generación de respuesta | Múltiple | GPT2, Llama2 |
| Grafeme-a foneme | Libriscoech | RNN, transformador, aprendizaje curricular, pérdida de homógrafo |
| Tareas | Conjuntos de datos | Tecnologías/modelos |
|---|---|---|
| Imágenes motoras | BNCI2014001, BNCI2014004, BNCI2015001, Lee2019_MI, Zhou201 | EEGNET, SHOWOWCONVNET, EEGCONFORMER |
| P300 | BNCI2014009, EPFLP300, BI2015A, | EEGNET |
| Ssvep | Lee2019_ssvep | EEGNET |
Speechbrain incluye una gama de funcionalidades nativas que mejoran el desarrollo de tecnologías de IA conversacionales. Aquí hay algunos ejemplos:
Orquestación de capacitación: la clase Brain sirve como una herramienta totalmente personalizable para gestionar los bucles de capacitación y evaluación sobre los datos. Simplifica los bucles de capacitación al tiempo que proporciona la flexibilidad para anular cualquier parte del proceso.
Gestión de hiperparameter: un archivo de hiperparameter basado en YAML especifica todos los hiperparámetros, desde números individuales (por ejemplo, tasa de aprendizaje) para completar objetos (por ejemplo, modelos personalizados). Esta elegante solución simplifica drásticamente el script de entrenamiento.
Dynamic Dataloader: permite la lectura de datos flexible y eficiente.
Capacitación de GPU: admite capacitación individual y múltiple GPU, incluida la capacitación distribuida.
Batching dinámico: el lote dinámico sobre la marcha mejora el procesamiento eficiente de las señales de longitud variable.
Entrenamiento de precisión mixta: acelera el entrenamiento a través de técnicas de precisión mixta.
Lectura de datos eficiente: lee grandes conjuntos de datos de manera eficiente de un sistema de archivos de red compartido (NFS) a través de WebDataSet.
Integración de la cara de abrazos: interfaces sin problemas con la cara de abrazo para modelos populares como WAV2VEC2 y Hubert.
Integración de Orion: interfaces con Orion para el sintonización de hiperparámetro.
Técnicas de aumento del habla: incluye especificación, ruido, reverberación y más.
Scripts de preparación de datos: incluye scripts para preparar datos para conjuntos de datos compatibles.
Speechbrain está evolucionando rápidamente, con esfuerzos continuos para apoyar una creciente variedad de tecnologías en el futuro.
Speechbrain integra una variedad de tecnologías, incluidas las que logran un rendimiento competitivo o de vanguardia.
Para una descripción completa del rendimiento alcanzado en diferentes tareas, conjuntos de datos y tecnologías, visite aquí.
Tenemos planes ambiciosos para el futuro, con un enfoque en las siguientes prioridades:
Escala: nuestro objetivo es proporcionar recetas y tecnologías integrales para capacitar modelos masivos en conjuntos de datos extensos.
Escala hacia abajo: si bien la ampliación ofrece un rendimiento sin precedentes, reconocemos los desafíos de implementar grandes modelos en escenarios de producción. Nos estamos centrando en la IA conversacional de conversación en tiempo real, transmisible y de huellas pequeñas.
Modelos de lenguaje grande multimodal : imaginamos un futuro en el que un solo modelo de base puede manejar una amplia gama de tareas de texto, habla y audio. Nuestro equipo central se centra en habilitar la capacitación de LLM multimodales avanzados.
Si usa Speechbrain en su investigación o negocio, cíquelo utilizando la siguiente entrada de Bibtex:
@misc { speechbrainV1 ,
title = { Open-Source Conversational AI with {SpeechBrain} 1.0 } ,
author = { Mirco Ravanelli and Titouan Parcollet and Adel Moumen and Sylvain de Langen and Cem Subakan and Peter Plantinga and Yingzhi Wang and Pooneh Mousavi and Luca Della Libera and Artem Ploujnikov and Francesco Paissan and Davide Borra and Salah Zaiem and Zeyu Zhao and Shucong Zhang and Georgios Karakasidis and Sung-Lin Yeh and Pierre Champion and Aku Rouhe and Rudolf Braun and Florian Mai and Juan Zuluaga-Gomez and Seyed Mahed Mousavi and Andreas Nautsch and Xuechen Liu and Sangeet Sagar and Jarod Duret and Salima Mdhaffar and Gaelle Laperriere and Mickael Rouvier and Renato De Mori and Yannick Esteve } ,
year = { 2024 } ,
eprint = { 2407.00463 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.LG } ,
url = { https://arxiv.org/abs/2407.00463 } ,
}
@misc { speechbrain ,
title = { {SpeechBrain}: A General-Purpose Speech Toolkit } ,
author = { Mirco Ravanelli and Titouan Parcollet and Peter Plantinga and Aku Rouhe and Samuele Cornell and Loren Lugosch and Cem Subakan and Nauman Dawalatabad and Abdelwahab Heba and Jianyuan Zhong and Ju-Chieh Chou and Sung-Lin Yeh and Szu-Wei Fu and Chien-Feng Liao and Elena Rastorgueva and François Grondin and William Aris and Hwidong Na and Yan Gao and Renato De Mori and Yoshua Bengio } ,
year = { 2021 } ,
eprint = { 2106.04624 } ,
archivePrefix = { arXiv } ,
primaryClass = { eess.AS } ,
note = { arXiv:2106.04624 }
}