Sprekerdiarisatie, een essentieel proces bij audioanalyse, segmenteert een audiobestand op basis van de identiteit van de spreker. Dit bericht gaat dieper in op de integratie van PyAnnote van Hugging Face voor het bijhouden van sprekers Amazon Sage Maker asynchrone eindpunten.
We bieden een uitgebreide handleiding over hoe u oplossingen voor luidsprekersegmentatie en clustering kunt implementeren met behulp van SageMaker in de AWS Cloud. U kunt deze oplossing gebruiken voor toepassingen die te maken hebben met audio-opnamen met meerdere luidsprekers (meer dan 100).
Overzicht oplossingen
Amazon Transcribe is de go-to-service voor sprekersdagboeken in AWS. Voor niet-ondersteunde talen kunt u echter andere modellen gebruiken (in ons geval PyAnnote) die in SageMaker worden geรฏmplementeerd voor gevolgtrekking. Voor korte audiobestanden waarbij de gevolgtrekking maximaal 60 seconden duurt, kunt u gebruiken real-time gevolgtrekking. Langer dan 60 seconden, asynchrone gevolgtrekking moet worden gebruikt. Het extra voordeel van asynchrone inferentie is de kostenbesparing doordat het aantal exemplaren automatisch naar nul wordt geschaald wanneer er geen verzoeken zijn om te verwerken.
Gezicht knuffelen is een populaire open source hub voor machine learning (ML)-modellen. AWS en Hugging Face hebben een vennootschap dat een naadloze integratie via SageMaker mogelijk maakt met een set AWS Deep Learning Containers (DLC's) voor training en gevolgtrekking in PyTorch of TensorFlow, en Hugging Face-schatters en voorspellers voor de SageMaker Python SDK. De functies en mogelijkheden van SageMaker helpen ontwikkelaars en datawetenschappers gemakkelijk aan de slag te gaan met natuurlijke taalverwerking (NLP) op AWS.
De integratie voor deze oplossing omvat het gebruik van het vooraf getrainde sprekersdiariseringsmodel van Hugging Face met behulp van de PyAnnote-bibliotheek. PyAnnote is een open source toolkit geschreven in Python voor het bijhouden van sprekers. Dit model, getraind op de voorbeeldaudiodataset, maakt effectieve sprekerpartitionering in audiobestanden mogelijk. Het model wordt op SageMaker geรฏmplementeerd als een asynchrone eindpuntconfiguratie, waardoor een efficiรซnte en schaalbare verwerking van dagboektaken wordt geboden.
Het volgende diagram illustreert de oplossingsarchitectuur.
Voor dit bericht gebruiken we het volgende audiobestand.
Stereo- of meerkanaalsaudiobestanden worden automatisch gedownmixt naar mono door het middelen van de kanalen. Audiobestanden die met een andere snelheid zijn gesampled, worden bij het laden automatisch opnieuw gesampled naar 16 kHz.
Voorwaarden
Voltooi de volgende vereisten:
- Maak een SageMaker-domein.
- Zorg ervoor dat uw AWS Identiteits- en toegangsbeheer (IAM)-gebruiker beschikt over de benodigde toegangsrechten voor het maken van een SageMaker-rol.
- Zorg ervoor dat het AWS-account een servicequotum heeft voor het hosten van een SageMaker-eindpunt voor een ml.g5.2xlarge-instantie.
Creรซer een modelfunctie voor toegang tot PyAnnote-sprekersdagboeken vanuit Hugging Face
U kunt de Hugging Face Hub gebruiken om toegang te krijgen tot de gewenste vooraf getrainde personen PyAnnote-sprekersdagboekmodel. U gebruikt hetzelfde script voor het downloaden van het modelbestand bij het maken van het SageMaker-eindpunt.
Zie de volgende code:
Verpak de modelcode
Bereid essentiรซle bestanden voor, zoals inference.py, die de inferentiecode bevat:
Bereid een requirements.txt
bestand, dat de vereiste Python-bibliotheken bevat die nodig zijn om de gevolgtrekking uit te voeren:
Comprimeer ten slotte de inference.py
en vereisten.txt-bestanden en sla deze op als model.tar.gz
:
Configureer een SageMaker-model
Definieer een SageMaker-modelbron door de afbeeldings-URI en de modelgegevenslocatie in op te geven Amazon eenvoudige opslagservice (S3) en SageMaker-rol:
Upload het model naar Amazon S3
Upload het gecomprimeerde PyAnnote Hugging Face-modelbestand naar een S3-bucket:
Maak een asynchroon eindpunt van SageMaker
Configureer een asynchrone eindpunt voor de implementatie van het model op SageMaker met behulp van de meegeleverde asynchrone inferentieconfiguratie:
Test het eindpunt
Evalueer de functionaliteit van het eindpunt door een audiobestand te verzenden voor diarisatie en de JSON-uitvoer op te halen die is opgeslagen in het opgegeven S3-uitvoerpad:
Om deze oplossing op schaal te implementeren, raden we aan om AWS Lambda, Amazon eenvoudige meldingsservice (Amazon SNS), of Amazon Simple Queue-service (Amazon SQS). Deze services zijn ontworpen voor schaalbaarheid, gebeurtenisgestuurde architecturen en efficiรซnt gebruik van bronnen. Ze kunnen helpen het asynchrone inferentieproces los te koppelen van de resultaatverwerking, waardoor u elke component afzonderlijk kunt schalen en bursts van inferentieverzoeken effectiever kunt afhandelen.
Resultaten
Modeluitvoer wordt opgeslagen op s3://sagemaker-xxxx /async_inference/output/.
Uit de uitvoer blijkt dat de audio-opname in drie kolommen is gesegmenteerd:
- Start (starttijd in seconden)
- Einde (eindtijd in seconden)
- Luidspreker (luidsprekerlabel)
De volgende code toont een voorbeeld van onze resultaten:
Opruimen
U kunt een schaalbeleid op nul instellen door MinCapacity in te stellen op 0; asynchrone gevolgtrekking kunt u zonder verzoeken automatisch naar nul schalen. U hoeft het eindpunt niet te verwijderen balans vanaf nul wanneer het weer nodig is, waardoor de kosten worden verlaagd wanneer deze niet in gebruik zijn. Zie de volgende code:
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/deploy-a-hugging-face-pyannote-speaker-diarization-model-on-amazon-sagemaker-as-an-asynchronous-endpoint/
- : heeft
- :is
- :niet
- :waar
- $UP
- 1
- 10
- 100
- 11
- 118
- 12
- 13
- 14
- 16
- 17
- 23
- 25
- 26%
- 27
- 28
- 31
- 60
- 7
- 8
- 9
- a
- Over
- toegang
- toegang
- meegaand
- Account
- over
- toevoegen
- toegevoegd
- aanpast
- vergevorderd
- weer
- AI
- AI-diensten
- AI / ML
- Het toestaan
- toestaat
- ook
- Amazone
- Amazon Sage Maker
- Amazon Web Services
- an
- analyse
- analytics
- en
- elke
- Aanvraag
- toepassingen
- nadering
- architectuur
- architecturen
- ZIJN
- rond
- AS
- At
- pogingen
- audio
- auto
- webmaster.
- middeling
- AWS
- gebaseerde
- BE
- geweest
- voordeel
- betekent
- tussen
- bedrijfsdeskundigen
- ondernemingen
- by
- CAN
- mogelijkheden
- geval
- gevallen
- Wijzigingen
- kanalen
- klasse
- klant
- Cloud
- clustering
- code
- columns
- opmerkingen
- Gemeen
- bestanddeel
- uitgebreid
- concept
- gelijktijdig
- Configuratie
- containers
- bevat
- controles
- Kosten
- kostenbesparingen
- Kosten
- tellen
- en je merk te creรซren
- Wij creรซren
- Klanten
- gegevens
- omgang
- deep
- diepgaand leren
- bepalen
- leveren
- duikt
- demonstratie
- implementeren
- ingezet
- het inzetten
- Design
- ontworpen
- gewenste
- ontwikkelde
- Ontwikkelaar
- ontwikkelaars
- Ontwikkeling
- diagram
- anders
- digitaal
- Digitale Transformatie
- directory
- documenten
- Dont
- downloaden
- dynamisch
- elk
- gemak
- effectief
- effectief
- doeltreffend
- efficiรซnt
- maakt
- einde
- Endpoint
- fout
- essentieel
- voorbeeld
- Behalve
- ervaring
- Verken
- Gezicht
- Voordelen
- Dien in
- Bestanden
- volgend
- Voor
- formaat
- oppompen van
- functie
- functionaliteit
- generatief
- krijgen
- het krijgen van
- GitHub
- gids
- handvat
- Hebben
- he
- hulp
- geholpen
- helpt
- zijn
- Hosting
- Hoe
- How To
- Echter
- HTML
- http
- HTTPS
- Naaf
- KnuffelenGezicht
- Honderden
- Identiteit
- if
- illustreert
- beeld
- geรฏmplementeerd
- importeren
- in
- onafhankelijk
- Indiรซ
- instantie
- Integreren
- integratie
- in
- gaat
- IT
- jpg
- json
- sleutel
- label
- taal
- Talen
- Groot
- lancering
- leren
- Laten we
- bibliotheken
- als
- laden
- het laden
- plaats
- langer
- machine
- machine learning
- middel
- ML
- model
- modellen
- meer
- meervoudig
- Naturel
- Natural Language Processing
- noodzakelijk
- Noodzaak
- nodig
- nlp
- geen
- Geen
- notificatie
- aantal
- object
- of
- Aanbod
- on
- open
- open source
- Optimaliseert
- or
- OS
- Overige
- onze
- uit
- uitgang
- over
- totaal
- het te bezitten.
- panda's
- deel
- pad
- permissies
- pijpleiding
- platform
- Plato
- Plato gegevensintelligentie
- PlatoData
- beleidsmaatregelen
- Populair
- Post
- aangedreven
- Voorspellingen
- vereisten
- verwerking
- projecten
- bewijzen
- zorgen voor
- mits
- biedt
- het verstrekken van
- publiek
- zetten
- Python
- pytorch
- Contact
- tarief
- bereiken
- real-time
- opname
- vermindert
- vermindering
- referenties
- regio
- registreren
- betrouwbaar
- vervangen
- vertegenwoordigen
- verzoeken
- nodig
- Voorwaarden
- hulpbron
- Resources
- antwoord
- resultaat
- Resultaten
- terugkeer
- Rol
- lopen
- lopend
- sagemaker
- verkoop
- dezelfde
- monster
- Bespaar
- Bespaar geld
- Schaalbaarheid
- schaalbare
- Scale
- scaling
- wetenschappers
- script
- scripts
- sdk
- naadloos
- naadloos
- seconden
- sector
- zien
- segmentatie
- segmenten
- verzending
- scheiden
- service
- Diensten
- Sessie
- sessies
- reeks
- het instellen van
- setup
- verscheidene
- Vorm
- Bermuda's
- moet
- Shows
- Eenvoudig
- single
- Software
- software development
- oplossing
- Oplossingen
- bron
- Spreker
- specialist
- specifiek
- gespecificeerd
- specificeren
- besteedt
- spleet
- begin
- gestart
- mediaopslag
- opgeslagen
- eenvoudig
- strategisch
- succes
- stel
- zeker
- system
- neemt
- taken
- tech
- tensorflow
- neem contact
- dat
- De
- Er.
- Deze
- ze
- dit
- duizenden kosten
- drie
- Door
- niet de tijd of
- naar
- vandaag
- toolkit
- onderwerp
- fakkel
- getraind
- Trainingen
- Transformatie
- transformers
- proberen
- BEURT
- op
- .
- gebruikt
- Gebruiker
- toepassingen
- gebruik
- Variant
- versie
- Video's
- W
- wachten
- willen
- we
- web
- webservices
- wanneer
- welke
- WIE
- wil
- Met
- werkzaam
- geschreven
- jaar
- You
- Your
- zephyrnet
- nul