| Tutoriais | Site | Documentação | ? Contribuindo | ? Huggingface |
Por favor, ajude nosso projeto comunitário. Estrela no Github!
Notícias emocionantes (janeiro de 2024): Descubra o que há de novo no Speechbrain 1.0 aqui!
Speechbrain é um kit de ferramentas Pytorch de código aberto que acelera o desenvolvimento de IA conversacional , ou seja, a tecnologia por trás dos assistentes de fala , chatbots e grandes modelos de idiomas .
É criado para a criação rápida e fácil de tecnologias avançadas para processamento de fala e texto .
Com o surgimento do aprendizado profundo, domínios que outrora distantes, como processamento de fala e PNL estão agora muito próximos. Uma rede neural bem projetada e grandes conjuntos de dados são tudo o que você precisa.
Achamos que agora é hora de um kit de ferramentas holístico que, imitando o cérebro humano, suporta em conjunto diversas tecnologias para sistemas de IA de conversação complexos.
Isso abrange o reconhecimento de fala , reconhecimento de alto -falante , aprimoramento da fala , separação de fala , modelagem de idiomas , diálogo e além.
Alinhado com nosso objetivo de longo prazo de conversas naturais de máquina humana, inclusive para indivíduos não verbais, recentemente adicionamos apoio à modalidade do EEG.
Compartilhamos mais de 200 receitas de treinamento competitivo em mais de 40 conjuntos de dados que suportam 20 tarefas de processamento de fala e texto (veja abaixo).
Apoiamos o treinamento a partir de modelos pré-traidos do zero e de ajuste fino, como Whisper, wav2vec2, wavlm, hubert, gpt2, llama2 e além. Os modelos no Huggingface podem ser facilmente conectados e ajustados.
Para qualquer tarefa, você treina o modelo usando estes comandos:
python train . py hparams / train . yamlOs hiperparâmetros são encapsulados em um arquivo YAML, enquanto o processo de treinamento é orquestrado através de um script Python.
Mantivemos uma estrutura de código consistente em diferentes tarefas.
Para uma melhor replicabilidade, os logs de treinamento e os pontos de verificação são hospedados no 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" )Aceleração de pesquisa : acelerando a pesquisa acadêmica e industrial. Você pode desenvolver e integrar novos modelos sem esforço, comparando seu desempenho em nossas linhas de base.
Prototiping Prototipagem rápida : ideal para prototipagem rápida em projetos sensíveis ao tempo.
? Ferramenta educacional : a simplicidade do Speechbrain o torna um recurso educacional valioso. É usado por instituições como Mila, Concordia University, Avignon University e muitas outras para treinamento de estudantes.
Para começar com o Speechbrain, siga estas etapas simples:
Instale o Speechbrain usando Pypi:
pip install speechbrainAcesse Speechbrain no seu código Python:
import speechbrain as sbEsta instalação é recomendada para usuários que desejam realizar experimentos e personalizar o kit de ferramentas de acordo com suas necessidades.
Clone o repositório do GitHub e instale os requisitos:
git clone https://github.com/speechbrain/speechbrain.git
cd speechbrain
pip install -r requirements.txt
pip install --editable .Acesse Speechbrain no seu código Python:
import speechbrain as sb Quaisquer modificações feitas no pacote speechbrain serão refletidas automaticamente, graças ao sinalizador --editable .
Verifique se sua instalação está correta executando os seguintes comandos:
pytest tests
pytest --doctest-modules speechbrainNo Speechbrain, você pode treinar um modelo para qualquer tarefa usando as seguintes etapas:
cd recipes / < dataset > / < task > /
python experiment . py params . yaml Os resultados serão salvos no output_folder especificado no arquivo YAML.
Site: Explore informações gerais no site oficial.
Tutoriais: comece com tutoriais básicos que abrangem funcionalidades fundamentais. Encontre tutoriais e tópicos avançados na categoria Tutorial Notebooks na documentação da Speechbrain.
Documentação: Informações detalhadas sobre a API de fala, diretrizes de contribuição e código estão disponíveis na documentação.
| Tarefas | Conjuntos de dados | Tecnologias/Modelos |
|---|---|---|
| Reconhecimento de fala | Aishell-1, Commonvoice, Dvoice, Ksponspeech, Librispeech, Mídia, Resgatepeech, Switchboard, Timit, Tedlium2, Voicebank | CTC, Transdutores, Transformers, Seq2Seq, BeamSearch Techniques para CTC, SEQ2SEQ, Transdutores), Rescoramento, Conformador, Filial, Hyperconformer, Kaldi2-FST |
| Reconhecimento de oradores | Voxceleb | Ecapa-tdnn, resnet, xvetores, PLDA, normalização de pontuação |
| Separação de fala | Wsj0mix, librimix, wham!, Whamr!, Aishell1mix, binauralwsj0mix | Sepformer, Revepformer, Skim, Dualpath RNN, ConvTasnet |
| Melhoria da fala | DNS, VoiceBank | Sepformer, Metricgan, Metricgan-U, Segan, mascaramento espectral, máscara de tempo |
| Interpretabilidade | ESC50 | Mapas ouvidos para classificadores de áudio (L-MAC), Aprendizagem para Interpretar (L2I), fatoração de matriz não negativa (NMF), PIQ |
| Geração de fala | Audiomnist | Difusão, difusão latente |
| Texto para fala | LJSpeech, Libritts | Tacotron2, tiro com tiro zero tacotron2, fastspeech2 |
| Vocoding | LJSpeech, Libritts | Hifigan, Diffwave |
| Entendimento da linguagem falada | Mídia, slurp, comandos de fala fluente, temporizadores e such | SLU direto, SLU desacoplado, SLU de vários estágios |
| Tradução de fala para fala | Cvss | Hubert discreto, Hifigan, wav2vec2 |
| Tradução de fala | Fisher calhome (espanhol), iWslT22 (LowResource) | wav2vec2 |
| Classificação da emoção | IEMOCAP, ZAIONEMOTIONDataset | Ecapa-tdnn, wav2vec2, diarização da emoção |
| Identificação do idioma | Voxlingua107, Commonguage | Ecapa-tdnn |
| Detecção de atividade de voz | Biblioteca | Crdnn |
| Classificação de som | ESC50, Urbansound | CNN14, Ecapa-tdnn |
| Aprendizado auto-supervisionado | CommonVoice, LibreseCech | wav2vec2 |
| Aprendizagem métrica | Real-M, VoiceBank | Estimação SNR cega, aprendizado de Pesq |
| Alinhamento | Timit | CTC, Viterbi, para a frente |
| Diarização | Ami | Ecapa-tdnn, vetores X, agrupamento espectral |
| Tarefas | Conjuntos de dados | Tecnologias/Modelos |
|---|---|---|
| Modelagem de idiomas | CommonVoice, LibreseCech | n grama, rnnlm, transformador |
| Geração de resposta | Multiwoz | GPT2, LLAMA2 |
| Grapheme-to-Phonema | Librispeech | RNN, transformador, aprendizado de currículo, perda de homografia |
| Tarefas | Conjuntos de dados | Tecnologias/Modelos |
|---|---|---|
| Imagens motoras | BNCI2014001, BNCI2014004, BNCI2015001, LEE2019_MI, ZHOU201 | EEGNET, SHROULLCONVNET, EEGCONFORMER |
| P300 | BNCI2014009, EPFLP300, BI2015A, | EEGNET |
| SSVEP | LEE2019_SSVEP | EEGNET |
Speechbrain inclui uma gama de funcionalidades nativas que aumentam o desenvolvimento de tecnologias de IA conversacionais. Aqui estão alguns exemplos:
Orquestração de treinamento: A classe Brain serve como uma ferramenta totalmente personalizável para gerenciar loops de treinamento e avaliação sobre os dados. Ele simplifica os loops de treinamento e, ao mesmo tempo, fornece a flexibilidade de substituir qualquer parte do processo.
Gerenciamento de hiperparâmetro: um arquivo hyperparâmetro baseado em YAML especifica todos os hiperparâmetros, a partir de números individuais (por exemplo, taxa de aprendizagem) até os objetos concluídos (por exemplo, modelos personalizados). Esta solução elegante simplifica drasticamente o script de treinamento.
Dinâmico dataloader: permite leitura de dados flexível e eficiente.
Treinamento da GPU: suporta treinamento único e multi-GPU, incluindo treinamento distribuído.
Batching dinâmico: O lote dinâmico na flutuação aumenta o processamento eficiente de sinais de comprimento variável.
Treinamento de precisão mista: acelera o treinamento por meio de técnicas de precisão mista.
Leitura de dados eficientes: lê grandes conjuntos de dados com eficiência a partir de um sistema de arquivos de rede compartilhado (NFS) via WebDataset.
Abraçando a integração do rosto: interfinações perfeitamente com o Huggingface para modelos populares, como WAV2VEC2 e Hubert.
Integração do Orion: interfaces com Orion para ajuste hiperparâmetro.
Técnicas de aumento da fala: inclui especsagment, ruído, reverberação e muito mais.
Scripts de preparação de dados: inclui scripts para preparar dados para conjuntos de dados suportados.
A Speechbrain está evoluindo rapidamente, com esforços contínuos para apoiar uma gama crescente de tecnologias no futuro.
Speechbrain integra uma variedade de tecnologias, incluindo aquelas que atingem o desempenho competitivo ou de última geração.
Para uma visão geral abrangente do desempenho alcançado em diferentes tarefas, conjuntos de dados e tecnologias, visite aqui.
Temos planos ambiciosos para o futuro, com foco nas seguintes prioridades:
Escala: Nosso objetivo é fornecer receitas e tecnologias abrangentes para o treinamento de modelos maciços em extensos conjuntos de dados.
Escala: Enquanto o dimensionamento oferece desempenho sem precedentes, reconhecemos os desafios da implantação de grandes modelos em cenários de produção. Estamos focados na IA de conversação em tempo real, strepusable e de fita pequena.
Modelos de linguagem grande multimodal : visualizamos um futuro em que um único modelo de base pode lidar com uma ampla gama de tarefas de texto, fala e áudio. Nossa equipe principal está focada em permitir o treinamento de LLMs multimodais avançados.
Se você usar o Speechbrain em sua pesquisa ou negócio, cite -o usando a seguinte entrada 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 }
}