O que pode o OpenAI Whisper fazer pelo reconhecimento robusto da fala?

O que pode o OpenAI Whisper fazer pelo reconhecimento robusto da fala?
O OpenAI Whisper é um modelo de transcrição e tradução de código aberto. Suporta mais de 90 idiomas. Eis o que pode fazer, como o utilizar e as aplicações do mundo real.
Resumo rápido
O OpenAI Whisper é um modelo de reconhecimento automático de fala (ASR) de última geração para reconhecimento de fala multilíngue, tradução de fala e identificação de idioma e foi treinado em 680.000 horas de áudio, 99 idiomas.
O modelo utiliza uma arquitetura Transformer de codificador-descodificador para ser mais adaptável e ter um melhor desempenho em vários sotaques e ambientes desafiantes, ao mesmo tempo que oferece funcionalidades como carimbos de data/hora ao nível da palavra e geração de legendas multilingues.
A API do Whisper é de fácil utilização e integração, permitindo que os programadores utilizem as suas funcionalidades para transcrição e tradução em tempo real, ao abrigo da licença MIT permissiva, que suporta a utilização individual e comercial.
O que é o OpenAI Whisper?
Arquitetura do modelo OpenAI Whisper : Fonte Open AI: https://openai.com/index/whisper/
O OpenAI Whisper é um modelo de reconhecimento de fala (também conhecido como ASR) e pode efetuar o reconhecimento de fala multilingue. É um dos melhores no espaço ASR porque foi treinado em 680.000 horas de dados de áudio multilíngues supervisionados e suporta 99 idiomas oficialmente. Isto significa que pode lidar com uma tonelada de sotaques e vocabulários com elevada precisão e trabalhar sem problemas em diferentes idiomas. E é um dos melhores modelos disponíveis no mercado.
E também tem IA generativa, o que o ajuda a lidar com muitos sotaques e vocabulários. A OpenAI está realmente a ultrapassar os limites do que é possível com o reconhecimento de voz, pelo que esta é uma excelente ferramenta para programadores e empresas.
Principais caraterísticas do Whisper
Uma das melhores coisas sobre o modelo Whisper é a transcrição e tradução multilingue, mais de 90 idiomas. Isto torna-o uma excelente ferramenta para casos de utilização global, desde a transcrição de chamadas de conferência internacionais até à tradução de meios de comunicação em línguas estrangeiras para inglês. O Whisper é bom mesmo em condições difíceis, ambientes ruidosos ou vários sotaques, pelo que é perfeito para utilização no mundo real.
Além disso, o Whisper pode gerar legendas multilingues para todos os formatos de media, para que o seu conteúdo seja acessível a um público global. O modelo também pode fornecer marcas de tempo ao nível da palavra para que as transcrições se alinhem com o áudio, o que é muito útil para edição de vídeo e criação de conteúdos.
São muitas funcionalidades fantásticas.
Como funciona o Whisper
Arquitetura do Whisper: Fonte de IA aberta
O modelo Whisper utiliza uma arquitetura de rede neural que foi pré-treinada numa vasta gama de dados de áudio para que se possa adaptar a diferentes estilos de fala. No seu núcleo, utiliza uma arquitetura Transformer codificador-descodificador, um design sofisticado que combina várias tarefas num modelo, para que não tenha de lidar com a complexidade dos sistemas ASR.
Quando utiliza o Whisper, este processa as entradas de áudio através de uma estrutura de codificador-descodificador e prevê texto a partir de codificações de áudio. Durante a descodificação, são utilizados tokens específicos de tarefas especiais, pelo que o modelo pode executar muitas tarefas de PNL.
Estes tokens actuam como especificadores de tarefas ou alvos de classificação, permitindo ao Whisper lidar com tarefas adicionais, como a identificação de idiomas, carimbos de tempo ao nível da frase, transcrição de discurso multilingue e tradução de discurso para inglês.
Modelos disponíveis e seu desempenho
O Whisper tem seis modelos, para diferentes casos de uso. Quatro deles são modelos apenas em inglês, que geralmente têm um desempenho melhor do que os modelos multilingues. O grande conjunto de dados de treino (mais de 680.000 horas de áudio) tem um grande impacto no desempenho dos modelos em todos os idiomas.
O desempenho do modelo é avaliado utilizando as taxas de erro de palavras (WER) e de caracteres (CER) para cada língua. O modelo turbo é uma versão mais rápida do modelo grande, é mais rápido com uma perda mínima de precisão, um equilíbrio entre velocidade e precisão. Esta variedade de modelos permite-lhe escolher o que melhor se adapta às suas necessidades de velocidade e precisão.
A disponibilidade de modelos apenas em inglês e multilingues garante que os utilizadores podem escolher o modelo que melhor se adapta às suas necessidades específicas. Quer seja para transcrição de alta precisão em inglês ou suporte multilingue robusto, a gama diversificada de modelos da Whisper fornece uma solução para cada cenário.
Instalação e configuração
O Python 3.9.9 e o PyTorch 1.10.1 foram usados para treinar e testar o modelo, mas o Whisper é compatível com as versões 3.8 a 3.11 do Python. Há também uma dependência de alguns pacotes Python, nomeadamente o tiktoken da OpenAI para a implementação do tokenizador. Instale com o seguinte comando:
pip install -U openai-whisper
Um componente importante para a instalação é o FFmpeg, uma ferramenta de linha de comando necessária para o processamento de áudio, que pode ser instalada usando comandos específicos do sistema operacional. Além disso, caso o tiktoken não forneça uma roda pré-construída para sua plataforma, será necessário instalar o Rust também.
Usando o Whisper via linha de comando
Para aqueles que preferem usar o Whisper através da linha de comando, o processo é simples. Os utilizadores podem enviar ficheiros de áudio para o Google Colab para transcrição sem precisarem de configurar um ambiente local. A transcrição de um ficheiro de áudio envolve o carregamento do modelo Whisper e a utilização da função de transcrição. A definição predefinida utiliza o modelo turbo para uma transcrição eficiente.
Além disso, os utilizadores podem especificar o idioma para transcrever o discurso não inglês com a opção -language, ou traduzir o discurso para inglês utilizando o comando -task translate. O Whisper suporta uma variedade de formatos de áudio, desde que sejam compatíveis com o FFmpeg. Esta flexibilidade torna o Whisper uma ferramenta acessível para utilizadores com diferentes níveis de conhecimentos técnicos.
Para transcrever o discurso em ficheiros áudio:
whisper audio.flac audio.mp3 audio.wav --model turbo
Para transcrever numa língua como o japonês:
whisper japanese.wav --language Japanese
Adicionando a tarefa de tradução:
whisper japanese.wav --language Japanese --task translate
Implementando o Whisper em Python
A implementação do Whisper em Python envolve a configuração de um ambiente virtual e a garantia de que todas as dependências sejam atendidas. Os usuários precisam criar um ambiente virtual usando conda e instalar os pacotes necessários como PyTorch com suporte CUDA. Essa configuração permite que o Whisper processe o áudio com uma janela deslizante de 30 segundos, realizando previsões autorregressivas para transcrições precisas.
A função de transcrição pode tomar o caminho do ficheiro áudio e a língua como parâmetros para transcrever o áudio da fala. O Whisper também fornece uma função detect_language, que identifica o idioma falado juntamente com pontuações de probabilidade para cada idioma detectado.
A função de descodificação converte ainda os espectrogramas log-Mel em transcrições, assegurando uma experiência de fala para texto sem falhas.
importar whisper
model = whisper.load_model("turbo")
# carrega o áudio e corta-o para caber em 30 segundos
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)
# Fazer o espetrograma log-Mel e passar para o mesmo dispositivo que o modelo
mel = whisper.log_mel_spectrogram(audio, n_mels=model.dims.n_mels).to(model.device)
# detetar a linguagem falada
_, probs = model.detect_language(mel)
print(f "Idioma detectado: {max(probs, key=probs.get)}")
# Descodificar o áudio
opções = whisper.DecodingOptions()
resultado = whisper.decode(model, mel, options)
# imprimir o texto reconhecido
print(result.text)
Aplicações do Whisper no mundo real
Aplicações do mundo real do modelo Whisper no reconhecimento de fala
O poderoso reconhecimento de fala do Whisper significa que ele é útil em muitas aplicações do mundo real. Por exemplo, pode transcrever discussões em reuniões, converter conteúdo educacional em texto e legendar automaticamente vídeos. As empresas utilizam o Whisper para automatizar a transcrição e poupar tempo e recursos.
Em cenários de serviço ao cliente, o Whisper permite a comunicação multilingue em tempo real. As instituições de ensino utilizam o Whisper para ajudar na aprendizagem de línguas, fornecendo transcrições e traduções exactas de palestras. Nos cuidados de saúde, ajuda a transcrever as interações com os pacientes, a simplificar a documentação e a reduzir a administração.
O modelo é melhor do que outros para lidar com áudio de formato longo, pelo que as transcrições são claras e exactas. A diarização do orador (o processo de identificação e rotulagem dos oradores numa gravação áudio) pode melhorar ainda mais a clareza da transcrição em cenários com vários oradores. A transcrição em tempo real significa uma melhor experiência para o utilizador durante eventos e chamadas ao vivo, pelo que o Whisper é imprescindível em muitas tarefas de processamento de fala.
Limitações e considerações
O Whisper é ótimo, mas não é perfeito. A API do Whisper não suporta streaming de ficheiros áudio e só processa ficheiros completos. Os ficheiros de áudio com mais de 25 MB têm de ser comprimidos ou divididos em partes mais pequenas para serem processados. O limite de 30 segundos para ficheiros de áudio significa que pode ser necessário dividir gravações mais longas.
A precisão da transcrição é afetada por uma má qualidade de áudio e demasiado ruído de fundo. O Whisper não se dá bem com todos os dialectos e sotaques, especialmente os menos comuns. A OpenAI tem políticas de conteúdo que restringem os tipos de conteúdo que podem ser transcritos utilizando a API do Whisper.
O escalonamento do Whisper também pode ser um desafio devido à necessidade de conhecimentos especializados em IA e a despesas substanciais com hardware.
Alternativas ao OpenAI Whisper
Comparação de vários modelos de reconhecimento de voz, incluindo o Whisper (https://images.surferseo.art/2bd289bc-ba19-4b5c-91dc-49b3a2edd451.png)
Ao escolher alternativas ao OpenAI Whisper, é necessário considerar o caso de utilização, o orçamento e os requisitos do projeto. Os modelos de código aberto como o Kaldi, o Wav2vec 2.0, o Vosk, o SpeechBrain e o Nvidia Nemo têm caraterísticas e capacidades diferentes. O Kaldi é um modelo ASR tradicional que utiliza um pipeline de vários componentes, o que pode ser menos fácil de utilizar.
O Wav2vec 2.0 tem uma arquitetura única com um front-end de extração de caraterísticas, mas é treinado em audiolivros. O Whisper é exato, mas mais lento do que alternativas como o Wav2vec 2.0, que processa o áudio mais rapidamente.
A comparação de modelos ASR envolve considerar a usabilidade, a arquitetura do modelo, os dados de treino e a velocidade de inferência.
Melhores práticas para otimizar o Whisper
É possível ajustar o modelo para o seu caso de uso específico e obter melhor precisão e velocidade. O ajuste fino pode fazer uma grande diferença, adaptando o modelo ao áudio e ao idioma que está sendo processado. A redução do ruído de fundo é fundamental para obter melhores resultados do Whisper.
Executar o Whisper em ambientes de áudio controlados minimizará os erros e as alucinações nas transcrições. Estas práticas recomendadas irão permitir-lhe tirar o melhor partido do Whisper para todas as suas necessidades de processamento de voz.
API OpenAI Whisper
Uma visão geral da interface da API OpenAI Whisper
A API do OpenAI Whisper foi concebida para ser fácil de utilizar, de modo a poder ser integrada no seu software existente. Os programadores podem utilizar a API para permitir a transcrição em tempo real e a tradução de línguas nas suas aplicações. A API suporta vários idiomas para que possa alcançar uma base de utilizadores global.
Sendo um projeto de código aberto, pode modificar e personalizar o software para o seu caso de utilização. A utilização de APIs que aumentam o Whisper pode proporcionar-lhe funcionalidades que o modelo original não tem e um melhor desempenho global.
Documentação e recursos de suporte disponíveis para que você comece a trabalhar.
Termos de licenciamento e uso
O OpenAI Whisper está licenciado sob a Licença MIT. Pode usar, modificar e distribuir o código livremente, desde que inclua o aviso de licença original em todas as cópias. Isto significa que pode usar o Whisper em projectos pessoais ou comerciais e integrá-lo no seu próprio software proprietário sem ter de abrir o seu próprio código fonte.
No entanto, você deve incluir o aviso de direitos autorais original e o texto da licença em qualquer distribuição do Whisper para estar em conformidade com a Licença MIT. Não há garantia, então você não pode responsabilizar os autores por quaisquer problemas que surjam com o uso do código.
Então é isso.
Resumo
Em resumo, o OpenAI Whisper é um grande passo em frente no reconhecimento de voz. O seu poder, suporte multilingue e flexibilidade fazem dele uma ferramenta para muitas aplicações, desde a automatização de negócios ao apoio educativo. Apesar de suas limitações, o Whisper é melhor do que muitos outros e é um item obrigatório no espaço ASR.
À medida que avançamos com as tecnologias de reconhecimento de fala, a abordagem e a natureza de código aberto do Whisper permitirão desenvolvimentos futuros. Ao utilizar o Whisper, os programadores e as empresas podem quebrar as barreiras linguísticas e comunicar globalmente.
Perguntas mais frequentes
O que é o OpenAI Whisper?
O OpenAI Whisper é um poderoso modelo de reconhecimento automático de voz (ASR) que suporta 99 idiomas, tornando-o altamente versátil para aplicações multilingues. O seu design robusto aumenta a precisão nas tarefas de reconhecimento de voz.
Como é que o Whisper lida com ambientes ruidosos?
O Whisper lida eficazmente com ambientes ruidosos, mantendo uma elevada precisão, tornando-o adequado para várias aplicações do mundo real, apesar das condições difíceis.
Quais são as limitações do Whisper?
O Whisper enfrenta limitações como a incapacidade de transmitir ficheiros de áudio, uma duração máxima de áudio de 30 segundos e uma precisão reduzida quando se lida com má qualidade de áudio ou dialectos pouco comuns. Estes factores podem afetar significativamente a sua usabilidade em contextos variados.
Como o Whisper pode ser otimizado para um melhor desempenho?
Para otimizar o Whisper para um melhor desempenho, o ajuste fino do modelo para atender aos requisitos específicos do aplicativo e minimizar o ruído de fundo são estratégias essenciais que podem melhorar muito sua precisão e velocidade de processamento.
Quais termos de licenciamento se aplicam ao Whisper?
O Whisper está licenciado sob a Licença MIT, que permite aos utilizadores utilizar, modificar e distribuir livremente o código com restrições mínimas. Isto oferece uma flexibilidade significativa tanto para os programadores como para os utilizadores.
Arquitetura do modelo Whisper da OpenAI
- Resumo rápido
- O que é o OpenAI Whisper?
- Principais caraterísticas do Whisper
- Como funciona o Whisper
- Modelos disponíveis e seu desempenho
- Instalação e configuração
- Usando o Whisper via linha de comando
- Implementando o Whisper em Python
- Aplicações do Whisper no mundo real
- Limitações e considerações
- Alternativas ao OpenAI Whisper
- Melhores práticas para otimizar o Whisper
- API OpenAI Whisper
- Termos de licenciamento e uso
- Resumo
- Perguntas mais frequentes
Conteúdo
Comece grátis, escale facilmente
Experimente o banco de dados totalmente gerenciado, construído para seus aplicativos GenAI.
Experimente o Zilliz Cloud grátis