# XLSR-Wav2Vec2

## Visão geral

O modelo XLSR-Wav2Vec2 foi proposto em [Unsupervised Cross-Lingual Representation Learning For Speech Recognition](https://huggingface.co/papers/2006.13979) por Alexis Conneau, Alexei Baevski, Ronan Collobert, Abdelrahman Mohamed, Michael Auli.

O resumo do artigo é o seguinte:

*Este artigo apresenta o XLSR, que aprende representações de fala multilíngues pré-treinando um único modelo a partir da forma de onda bruta da fala em vários idiomas. Baseamo-nos no wav2vec 2.0, que é treinado resolvendo uma tarefa contrastiva sobre representações latentes de fala mascaradas e aprende conjuntamente uma quantização dos latentes compartilhada entre os idiomas. O modelo resultante é ajustado em dados rotulados e os experimentos mostram que o pré-treinamento multilíngue supera significativamente o pré-treinamento monolíngue. No benchmark CommonVoice, o XLSR mostra uma redução de 72% na taxa relativa de erro de fonemas em comparação com os melhores resultados conhecidos. No BABEL, nossa abordagem melhora a taxa de erro de palavras em 16% relativo em comparação com um sistema comparável. Nossa abordagem permite um único modelo de reconhecimento de fala multilíngue que é competitivo com modelos individuais fortes. A análise mostra que as representações discretas latentes de fala são compartilhadas entre os idiomas, com maior compartilhamento para idiomas relacionados. Esperamos catalisar a pesquisa em compreensão de fala de baixo recurso ao liberar o XLSR-53, um grande modelo pré-treinado em 53 idiomas.*

O código original pode ser encontrado [aqui](https://github.com/pytorch/fairseq/tree/master/fairseq/models/wav2vec).

Nota: A Meta (FAIR) lançou uma nova versão do [Wav2Vec2-BERT 2.0](./wav2vec2-bert) - ele foi pré-treinado em 4,5M de horas de áudio. Recomendamos especialmente o seu uso para tarefas de fine-tuning, por exemplo, conforme [este guia](https://huggingface.co/blog/fine-tune-w2v2-bert).

## Dicas de uso

- XLSR-Wav2Vec2 é um modelo de fala que aceita um array de float correspondente à forma de onda bruta do sinal de fala.
- O modelo XLSR-Wav2Vec2 foi treinado usando classificação temporal conexionista (CTC), portanto a saída do modelo precisa ser decodificada usando [Wav2Vec2CTCTokenizer](/docs/transformers/main/pt/model_doc/wav2vec2#transformers.Wav2Vec2CTCTokenizer).

A arquitetura do XLSR-Wav2Vec2 é baseada no modelo Wav2Vec2, portanto, é possível consultar a [página de documentação do Wav2Vec2](./wav2vec2).

