ArtificialGuyBR

Home / Blog / Fixing things

Sussurro Pequeno Português Afinação (Voz Comum 13)

Whisper Small ajustado para ASR português com 10.3 WER no Common Voice 13.0. Detalhes do treinamento, uso e avaliação.

1 sources cited Fixing things

Sussurro Pequeno Português Afinação (Voz Comum 13)

TL;DR

  • Whisper Small aprimorado para português alcançando 10,3 WER no conjunto de testes CV13.0
  • Treinado no Mozilla Common Voice 13.0 Português (8 horas em 1×A100 80GB)
  • Pronto para usar com 🤗 transformadores pipeline("automatic-speech-recognition")

O que este modelo faz

Esta é uma versão especializada em português do Whisper Small da OpenAI (parâmetros 244M). A base Whisper Small foi treinada em 680 mil horas de dados multilíngues com supervisão fraca. Este ajuste restringe o foco do modelo ao português usando o conjunto de dados Mozilla Common Voice 13.0, produzindo uma melhoria mensurável na taxa de erros de palavras para transcrição em português.

O modelo aceita áudio de 16kHz e produz texto em português. É embalado como padrão 🤗 modelo de transformadores com pesos de tensores de segurança, compatíveis com o automatic-speech-recognition gasoduto.

Detalhes do treinamento

Parâmetro | Valor

|---|---

Modelo básico | openai/sussurro-pequeno Conjunto de dados | mozilla-foundation/common_voice_13_0 (pt configuração) Divisão de trem | treinar Divisão de avaliação | testar Taxa de aprendizagem | 1e-05 Tamanho do lote do trem | 64 Tamanho do lote avaliado | 32 Otimizador | Adão (β=(0,9,0,999), ε=1e-08) Horário LR | Linear com 500 passos de aquecimento Etapas de treinamento | 5.000 Ferragens | 1 × NVIDIA A100 80GB Tempo de treinamento | ~8 horas WER (teste) | 10h30 O treinamento seguiu a receita do evento de ajuste fino Hugging Face Whisper.

Como usar

from transformers import pipeline

asr = pipeline(
    "automatic-speech-recognition",
    model="artificialguybr/whisper-small-pt-cv13",
    device=0  # or "cuda"
)

result = asr("path/to/portuguese_audio.wav")
print(result["text"])

Para áudio mais longo, use inferência fragmentada:

result = asr("long_audio.wav", chunk_length_s=30, stride_length_s=5)

O modelo espera áudio mono de 16kHz. Faça uma nova amostra se sua fonte for diferente.

Configurações recomendadas

  • Idioma: Português (obrigatório via generate_kwargs={"language": "portuguese"})
  • Tarefa: transcrever (não traduzir)
  • Áudio: 16kHz, fala clara, ruído de fundo mínimo
  • Comprimento do pedaço: 30s para formato longo com passada de 5s

Limitações

  • Otimizado apenas para português; outras línguas irão degradar
  • O desempenho cai com áudio de baixa qualidade, detalhes pesados ou fundos barulhentos
  • Não é adequado para streaming em tempo real sem otimização adicional
  • WER de 10,3 significa aproximadamente 1 erro a cada 10 palavras – revise as transcrições críticas

Licença

Herda da base Whisper Small (MIT) e Common Voice 13.0 (CC0). Verifique o cartão do modelo para quaisquer restrições adicionais.

Erros e correções comuns

Erro | Causa | Correção

|---|---|---

Model not found | ID do repositório errado | Use artificialguybr/artificialguybr/whisper-small-pt-cv13 Baixa precisão em áudio não-PT | Modelo é especializado em PT | Use o Whisper básico para multilíngue OOM em GPU | Tamanho do lote muito grande | Reduzir batch_size ou use o descarregamento da CPU Inferência lenta | Sem fragmentação em áudio longo | Adicionar chunk_length_s=30` para chamada de pipeline

Perguntas frequentes

P: Como isso se compara ao Whisper Large-v3 para português? R: Whisper Large-v3 geralmente será mais preciso, mas 3× maior e mais lento. Este ajuste visa um ponto ideal de tamanho/precisão para cargas de trabalho somente em português.

P: Posso ajustar isso ainda mais nos dados do meu domínio? R: Sim. Use isso como um ponto de verificação inicial com uma taxa de aprendizado mais baixa (por exemplo, 5e-06) e o áudio do seu domínio.

P: Ele suporta carimbos de data/hora? R: Sim, o pipeline dos transformadores retorna carimbos de data/hora em nível de bloco quando return_timestamps=True.

Fontes

  • Cartão modelo: https://huggingface.co/artificialguybr/whisper-small-pt-cv13
  • Modelo básico: https://huggingface.co/openai/whisper-small
  • Conjunto de dados: https://huggingface.co/datasets/mozilla-foundation/common_voice_13_0
  • Receita de treinamento: Evento de ajuste fino do Hugging Face Whisper