A diarização do locutor, um processo essencial na análise de áudio, segmenta um arquivo de áudio com base na identidade do locutor. Esta postagem investiga a integração do PyAnnote do Hugging Face para diarização de alto-falante com Amazon Sage Maker pontos de extremidade assíncronos.
Fornecemos um guia abrangente sobre como implantar soluções de segmentação e cluster de alto-falantes usando SageMaker na Nuvem AWS. Você pode usar esta solução para aplicações que lidam com gravações de áudio com vários alto-falantes (mais de 100).
Visão geral da solução
Amazon Transcribe é o serviço ideal para diarização de alto-falantes na AWS. No entanto, para idiomas não suportados, você pode usar outros modelos (no nosso caso, PyAnnote) que serão implantados no SageMaker para inferência. Para arquivos de áudio curtos em que a inferência leva até 60 segundos, você pode usar inferência em tempo real. Por mais de 60 segundos, assíncrono inferência deve ser usada. O benefício adicional da inferência assíncrona é a economia de custos ao dimensionar automaticamente a contagem de instâncias para zero quando não há solicitações para processar.
Abraçando o rosto é um centro de código aberto popular para modelos de aprendizado de máquina (ML). AWS e Hugging Face têm um parceria que permite uma integração perfeita por meio do SageMaker com um conjunto de AWS Deep Learning Containers (DLCs) para treinamento e inferência em PyTorch ou TensorFlow e estimadores e preditores Hugging Face para o SageMaker Python SDK. Os recursos e funcionalidades do SageMaker ajudam desenvolvedores e cientistas de dados a começar a usar o processamento de linguagem natural (PNL) na AWS com facilidade.
A integração para esta solução envolve o uso do modelo de diarização de alto-falante pré-treinado do Hugging Face usando o Biblioteca PyAnnote. PyAnnote é um kit de ferramentas de código aberto escrito em Python para diarização de alto-falantes. Este modelo, treinado no conjunto de dados de áudio de amostra, permite particionamento eficaz de alto-falantes em arquivos de áudio. O modelo é implantado no SageMaker como uma configuração de endpoint assíncrona, fornecendo processamento eficiente e escalonável de tarefas de diarização.
O diagrama a seguir ilustra a arquitetura da solução.
Para esta postagem, usamos o seguinte arquivo de áudio.
Arquivos de áudio estéreo ou multicanal são automaticamente mixados para mono pela média dos canais. Os arquivos de áudio amostrados em uma taxa diferente são reamostrados para 16kHz automaticamente ao serem carregados.
Pré-requisitos
Preencha os seguintes pré-requisitos:
- Crie um domínio SageMaker.
- Verifique se o seu Gerenciamento de acesso e identidade da AWS (IAM) tem as permissões de acesso necessárias para criar um Função do SageMaker.
- Certifique-se de que a conta AWS tenha uma cota de serviço para hospedar um endpoint SageMaker para uma instância ml.g5.2xlarge.
Crie uma função de modelo para acessar a diarização do alto-falante PyAnnote em Hugging Face
Você pode usar o Hugging Face Hub para acessar o pré-treinado desejado Modelo de diarização de alto-falante PyAnnote. Você usa o mesmo script para baixar o arquivo de modelo ao criar o endpoint SageMaker.
Veja o seguinte código:
Empacote o código do modelo
Prepare arquivos essenciais como inference.py, que contém o código de inferência:
Prepare um requirements.txt
arquivo, que contém as bibliotecas Python necessárias para executar a inferência:
Por último, comprima o inference.py
e requisitos.txt e salve-os como model.tar.gz
:
Configurar um modelo SageMaker
Defina um recurso de modelo do SageMaker especificando o URI da imagem e a localização dos dados do modelo em Serviço de armazenamento simples da Amazon (S3) e função SageMaker:
Carregar o modelo no Amazon S3
Faça upload do arquivo compactado do modelo PyAnnote Hugging Face para um bucket S3:
Crie um endpoint assíncrono do SageMaker
Configure um endpoint assíncrono para implantar o modelo no SageMaker usando a configuração de inferência assíncrona fornecida:
Teste o ponto final
Avalie a funcionalidade do endpoint enviando um arquivo de áudio para diarização e recuperando a saída JSON armazenada no caminho de saída S3 especificado:
Para implantar esta solução em escala, sugerimos usar AWS Lambda, Serviço de notificação simples da Amazon (Amazon SNS), ou Serviço de fila simples da Amazon (Amazon SQS). Esses serviços são projetados para escalabilidade, arquiteturas orientadas a eventos e utilização eficiente de recursos. Eles podem ajudar a dissociar o processo de inferência assíncrona do processamento de resultados, permitindo escalar cada componente de forma independente e lidar com explosões de solicitações de inferência de forma mais eficaz.
Resultados
A saída do modelo é armazenada em s3://sagemaker-xxxx /async_inference/output/.
A saída mostra que a gravação de áudio foi segmentada em três colunas:
- Início (hora de início em segundos)
- Fim (horário de término em segundos)
- Alto-falante (etiqueta do alto-falante)
O código a seguir mostra um exemplo de nossos resultados:
limpar
Você pode definir uma política de escalabilidade como zero definindo MinCapacity como 0; inferência assíncrona permite escalar automaticamente para zero sem solicitações. Você não precisa excluir o endpoint, ele Escalas do zero quando necessário novamente, reduzindo custos quando não estiver em uso. Veja o seguinte código:
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/deploy-a-hugging-face-pyannote-speaker-diarization-model-on-amazon-sagemaker-as-an-asynchronous-endpoint/
- :tem
- :é
- :não
- :onde
- $UP
- 1
- 10
- 100
- 11
- 118
- 12
- 13
- 14
- 16
- 17
- 23
- 25
- 26%
- 27
- 28
- 31
- 60
- 7
- 8
- 9
- a
- Sobre
- Acesso
- acessando
- acomodando
- Conta
- em
- adicionar
- adicionado
- ajusta
- avançado
- novamente
- AI
- Serviços de IA
- AI / ML
- Permitindo
- permite
- tb
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- análise
- analítica
- e
- qualquer
- Aplicação
- aplicações
- abordagem
- arquitetura
- Arquiteturas
- SOMOS
- por aí
- AS
- At
- Tentativas
- auditivo
- auto
- automaticamente
- média
- AWS
- baseado
- BE
- sido
- beneficiar
- Benefícios
- entre
- negócio
- negócios
- by
- CAN
- capacidades
- casas
- casos
- Alterações
- canais
- classe
- cliente
- Na nuvem
- agrupamento
- código
- colunas
- comentários
- comum
- componente
- compreensivo
- conceito
- concorrente
- Configuração
- Containers
- contém
- controles
- Custo
- economia de custos
- custos
- contar
- crio
- Criar
- Clientes
- dados,
- lidar
- profundo
- deep learning
- definir
- entregar
- delves
- demonstração
- implantar
- implantado
- Implantação
- Design
- projetado
- desejado
- desenvolvido
- Developer
- desenvolvedores
- Desenvolvimento
- diagrama
- diferente
- digital
- Transformação Digital
- anuário
- INSTITUCIONAIS
- não
- descarga
- dinamicamente
- cada
- facilidade
- Eficaz
- efetivamente
- eficiente
- eficientemente
- permite
- final
- Ponto final
- erro
- essencial
- exemplo
- Exceto
- vasta experiência
- explorar
- Rosto
- Funcionalidades
- Envie o
- Arquivos
- seguinte
- Escolha
- formato
- da
- função
- funcionalidade
- generativo
- ter
- obtendo
- GitHub
- guia
- manipular
- Ter
- he
- ajudar
- ajudou
- ajuda
- sua
- hospedagem
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- http
- HTTPS
- Hub
- Abraçando o Rosto
- Centenas
- Identidade
- if
- ilustra
- imagem
- implementado
- importar
- in
- independentemente
- Índia
- instância
- Integração
- integração
- para dentro
- envolve
- IT
- viagem
- jpg
- json
- Chave
- O rótulo
- língua
- Idiomas
- grande
- lançamento
- aprendizagem
- Permite
- bibliotecas
- como
- carregar
- carregamento
- localização
- mais
- máquina
- aprendizado de máquina
- significa
- ML
- modelo
- modelos
- mais
- múltiplo
- natural
- Processamento de linguagem natural
- necessário
- você merece...
- necessário
- PNL
- não
- nenhum
- notificação
- número
- objeto
- of
- Oferece
- on
- aberto
- open source
- Otimiza
- or
- OS
- Outros
- A Nossa
- Fora
- saída
- Acima de
- global
- próprio
- pandas
- parte
- caminho
- permissões
- oleoduto
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- Privacidade
- Popular
- Publique
- alimentado
- Previsões
- pré-requisitos
- processo
- em processamento
- projetos
- provas
- fornecer
- fornecido
- fornece
- fornecendo
- público
- colocar
- Python
- pytorch
- Frequentes
- Taxa
- alcançar
- em tempo real
- gravação
- reduz
- redução
- referências
- região
- cadastre-se
- confiável
- substituir
- representando
- pedidos
- requeridos
- Requisitos
- recurso
- Recursos
- resposta
- resultar
- Resultados
- retorno
- Tipo
- Execute
- corrida
- sábio
- vendas
- mesmo
- amostra
- Salvar
- Poupança
- AMPLIAR
- escalável
- Escala
- dimensionamento
- cientistas
- escrita
- Scripts
- Sdk
- desatado
- sem problemas
- segundo
- setor
- Vejo
- segmentação
- segmentos
- envio
- separando
- serviço
- Serviços
- Sessão
- sessões
- conjunto
- contexto
- instalação
- vários
- Shape
- Baixo
- rede de apoio social
- Shows
- simples
- solteiro
- Software
- desenvolvimento de software
- solução
- Soluções
- fonte
- Palestrantes
- especialista
- específico
- especificada
- especificando
- gasta
- divisão
- começo
- começado
- armazenamento
- armazenadas
- franco
- Estratégico
- sucesso
- sugerir
- certo
- .
- toma
- tarefas
- tecnologia
- fluxo tensor
- do que
- que
- A
- Lá.
- Este
- deles
- isto
- milhares
- três
- Através da
- tempo
- para
- hoje
- kit de ferramentas
- tópico
- tocha
- treinado
- Training
- Transformação
- transformadores
- tentar
- VIRAR
- sobre
- usar
- usava
- Utilizador
- usos
- utilização
- Variante
- versão
- VÍDEOS
- W
- esperar
- queremos
- we
- web
- serviços web
- quando
- qual
- QUEM
- precisarão
- de
- trabalhar
- escrito
- anos
- Vocês
- investimentos
- zefirnet
- zero