I dag er vi glade for at kunne meddele, at OpenAI Whisper-fundamentmodellen er tilgængelig for kunder, der bruger Amazon SageMaker JumpStart. Whisper er en præ-trænet model til automatisk talegenkendelse (ASR) og taleoversættelse. Trænet på 680 tusinde timers mærkede data demonstrerer Whisper-modeller en stærk evne til at generalisere til mange datasæt og domæner uden behov for finjustering. Sagemaker JumpStart er maskinlæring (ML) hub af SageMaker, der giver adgang til fundamentmodeller ud over indbyggede algoritmer og end-to-end løsningsskabeloner for at hjælpe dig hurtigt i gang med ML.
Du kan også lave ASR vha Amazon Transcrib ,en fuldt administreret og kontinuerligt trænet automatisk talegenkendelsestjeneste.
I dette indlæg viser vi dig, hvordan du implementerer OpenAI Whisper modellere og påberåbe modellen for at transskribere og oversætte lyd.
OpenAI Whisper-modellen bruger huggingface-pytorch-inference beholder. Som SageMaker JumpStart-modelhubkunde kan du bruge ASR uden at skulle vedligeholde modelscriptet uden for SageMaker SDK. SageMaker JumpStart-modeller forbedrer også sikkerhedspositionen med endepunkter, der muliggør netværksisolering.
Fundamentmodeller i SageMaker
SageMaker JumpStart giver adgang til en række modeller fra populære modelhubs, herunder Hugging Face, PyTorch Hub og TensorFlow Hub, som du kan bruge i din ML-udviklingsworkflow i SageMaker. De seneste fremskridt inden for ML har givet anledning til en ny klasse af modeller kendt som fundament modeller, som typisk trænes på milliarder af parametre og kan tilpasses til en bred kategori af use cases, såsom tekstresumé, generering af digital kunst og sprogoversættelse. Fordi disse modeller er dyre at træne, ønsker kunder at bruge eksisterende præ-trænede foundation-modeller og finjustere dem efter behov, i stedet for at træne disse modeller selv. SageMaker giver en udvalgt liste over modeller, som du kan vælge imellem på SageMaker-konsollen.
Du kan nu finde fundamentmodeller fra forskellige modeludbydere i SageMaker JumpStart, så du hurtigt kan komme i gang med fundamentmodeller. SageMaker JumpStart tilbyder fundamentmodeller baseret på forskellige opgaver eller modeludbydere, og du kan nemt gennemgå modellens karakteristika og brugsbetingelser. Du kan også prøve disse modeller ved hjælp af en test-UI-widget. Når du vil bruge en fundamentmodel i stor skala, kan du gøre det uden at forlade SageMaker ved at bruge forudbyggede notesbøger fra modeludbydere. Fordi modellerne er hostet og implementeret på AWS, stoler du på, at dine data, uanset om de bruges til at evaluere eller bruge modellen i stor skala, ikke vil blive delt med tredjeparter.
OpenAI Whisper foundation modeller
Whisper er en præ-trænet model til ASR og taleoversættelse. Hvisken blev foreslået i avisen Robust talegenkendelse via Svag Supervision i stor skala af Alec Radford og andre fra OpenAI. Den originale kode kan findes i dette GitHub-lager.
Whisper er en transformer-baseret encoder-decoder-model, også kaldet en sekvens til sekvens model. Det blev trænet på 680 tusind timers mærkede taledata kommenteret ved hjælp af storstilet svag overvågning. Whisper-modeller viser en stærk evne til at generalisere til mange datasæt og domæner uden behov for finjustering.
Modellerne blev trænet på enten engelsk-kun data eller flersprogede data. De engelske modeller blev trænet i opgaven med talegenkendelse. De flersprogede modeller blev trænet i talegenkendelse og taleoversættelse. Til talegenkendelse forudsiger modellen transskriptioner i samme sprog som lyd. Til taleoversættelse forudsiger modellen transskriptioner til en forskellige sprog til lyden.
Whisper checkpoints kommer i fem konfigurationer af forskellige modelstørrelser. De mindste fire er trænet på enten kun engelsk eller flersprogede data. De største kontrolpunkter er kun flersprogede. Alle ti forudtrænede checkpoints er tilgængelige på Knusende ansigtshub. Kontrolpunkterne er opsummeret i følgende tabel med links til modellerne på hubben:
Modelnavn | Antal parametre | Flersproget |
hviske-lille | 39 M | Ja |
hviske-base | 74 M | Ja |
hviske-lille | 244 M | Ja |
hviske-medium | 769 M | Ja |
hviske-stor | 1550 M | Ja |
hviske-stor-v2 | 1550 M | Ja |
Lad os undersøge, hvordan du kan bruge Whisper-modeller i SageMaker JumpStart.
OpenAI Whisper foundation modeller WER og latency sammenligning
Ordfejlfrekvensen (WER) for forskellige OpenAI Whisper-modeller baseret på LibriSpeech test-ren er vist i følgende tabel. WER er en fælles målestok for udførelsen af et talegenkendelses- eller maskinoversættelsessystem. Den måler forskellen mellem referenceteksten (grundsandheden eller den korrekte transskription) og outputtet af et ASR-system i form af antallet af fejl, inklusive substitutioner, indsættelser og sletninger, der er nødvendige for at transformere ASR-outputtet til referencen tekst. Disse tal er taget fra Knusende ansigt internet side.
Model | WER (procent) |
hviske-lille | 7.54 |
hviske-base | 5.08 |
hviske-lille | 3.43 |
hviske-medium | 2.9 |
hviske-stor | 3 |
hviske-stor-v2 | 3 |
Til denne blog tog vi nedenstående lydfil og sammenlignede latensen af talegenkendelse på tværs af forskellige hviskemodeller. Latency er den tid, der går fra det øjeblik, en bruger sender en anmodning, til det tidspunkt, hvor din ansøgning angiver, at anmodningen er blevet gennemført. Tallene i følgende tabel repræsenterer den gennemsnitlige latenstid for i alt 100 anmodninger, der bruger den samme lydfil med modellen hostet på ml.g5.2xlarge-instansen.
Model | Gennemsnitlig latenstid(er) | Model output |
hviske-lille | 0.43 | Vi lever i meget spændende tider med maskinbelysning. Hastigheden af ML-modeludvikling vil virkelig stige. Men du når ikke til den slutstat, som vi vandt i de næste kommende år. Medmindre vi rent faktisk gør disse modeller mere tilgængelige for alle. |
hviske-base | 0.49 | Vi lever i meget spændende tider med maskinlæring. Hastigheden af ML-modeludvikling vil virkelig stige. Men du når ikke til den slutstat, som vi vandt i de næste kommende år. Medmindre vi rent faktisk gør disse modeller mere tilgængelige for alle. |
hviske-lille | 0.84 | Vi lever i meget spændende tider med maskinlæring. Hastigheden af ML-modeludvikling vil virkelig stige. Men du når ikke til den sluttilstand, som vi ønsker i de næste kommende år, medmindre vi rent faktisk gør disse modeller mere tilgængelige for alle. |
hviske-medium | 1.5 | Vi lever i meget spændende tider med maskinlæring. Hastigheden af ML-modeludvikling vil virkelig stige. Men du når ikke til den sluttilstand, som vi ønsker i de næste kommende år, medmindre vi rent faktisk gør disse modeller mere tilgængelige for alle. |
hviske-stor | 1.96 | Vi lever i meget spændende tider med maskinlæring. Hastigheden af ML-modeludvikling vil virkelig stige. Men du når ikke til den sluttilstand, som vi ønsker i de næste kommende år, medmindre vi rent faktisk gør disse modeller mere tilgængelige for alle. |
hviske-stor-v2 | 1.98 | Vi lever i meget spændende tider med maskinlæring. Hastigheden af ML-modeludvikling vil virkelig stige. Men du når ikke til den sluttilstand, som vi ønsker i de næste kommende år, medmindre vi rent faktisk gør disse modeller mere tilgængelige for alle. |
Gennemgang af løsning
Du kan implementere Whisper-modeller ved hjælp af Amazon SageMaker-konsollen eller ved at bruge en Amazon SageMaker Notebook. I dette indlæg demonstrerer vi, hvordan man implementerer Whisper API ved hjælp af SageMaker Studio-konsollen eller en SageMaker Notebook og derefter bruger den implementerede model til talegenkendelse og sprogoversættelse. Koden brugt i dette indlæg kan findes i denne GitHub notesbog.
Lad os udvide hvert trin i detaljer.
Implementer Whisper fra konsollen
- For at komme i gang med SageMaker JumpStart skal du åbne Amazon SageMaker Studio-konsollen og gå til startsiden for SageMaker JumpStart og vælge Kom godt i gang med JumpStart.
- For at vælge en Whisper-model kan du enten bruge fanerne øverst eller bruge søgefeltet øverst til højre som vist på det følgende skærmbillede. For dette eksempel skal du bruge søgefeltet øverst til højre og indtaste
Whisper
, og vælg derefter den relevante Whisper-model fra rullemenuen. - Når du har valgt Whisper-modellen, kan du bruge konsollen til at implementere modellen. Du kan vælge en instans til implementering eller bruge standarden.
Implementer fundamentmodellen fra en Sagemaker Notebook
Trinene til først at implementere og derefter bruge den implementerede model til at løse forskellige opgaver er:
- Opsætning
- Vælg en model
- Hent artefakter og implementer et slutpunkt
- Brug implementeret model til ASR
- Brug implementeret model til sprogoversættelse
- Ryd op i endepunktet
Opsætning
Denne notesbog blev testet på en ml.t3.medium-instans i SageMaker Studio med Python 3 (data science)-kernen og i en Amazon SageMaker Notebook-instans med conda_python3
kerne.
Vælg en præ-trænet model
Konfigurer en SageMaker-session ved hjælp af Boto3, og vælg derefter det model-id, du vil implementere.
Hent artefakter og implementer et slutpunkt
Ved at bruge SageMaker kan du udføre inferens på den forudtrænede model, selv uden at finjustere den først på et nyt datasæt. For at være vært for den forudtrænede model skal du oprette en forekomst af sagemaker.model.Model og implementere det. Følgende kode bruger standardforekomsten ml.g5.2xlarge
for inferens-endepunktet for en whisper-large-v2-model. Du kan implementere modellen på andre instanstyper ved at bestå instance_type
i JumpStartModel
klasse. Implementeringen kan tage et par minutter.
Automatisk talegenkendelse
Dernæst læser du prøvelydfilen sample1.wav fra en SageMaker Jumpstart public Amazon Simple Storage Service (Amazon S3) placering og videregive den til forudsigelse til talegenkendelse. Du kan erstatte denne eksempelfil med en hvilken som helst anden prøvelydfil, men sørg for, at .wav-filen er samplet ved 16 kHz, da den kræves af modellerne for automatisk talegenkendelse. Indgangslydfilen skal være mindre end 30 sekunder.
Denne model understøtter mange parametre, når der udføres inferens. De omfatter:
max_length
: Modellen genererer tekst indtil outputlængden. Hvis det er angivet, skal det være et positivt heltal.- sprog og opgave: Angiv outputsprog og opgave her. Modellen understøtter opgaven med transskription eller oversættelse.
max_new_tokens
: Det maksimale antal tokens, der skal genereres.num_return_sequences
: Antallet af returnerede outputsekvenser. Hvis det er angivet, skal det være et positivt heltal.num_beams
: Antallet af bjælker brugt i den grådige søgning. Hvis det er angivet, skal det være heltal større end eller lig mednum_return_sequences
.no_repeat_ngram_size
: Modellen sikrer, at en række af ord afno_repeat_ngram_size
gentages ikke i outputsekvensen. Hvis det er angivet, skal det være et positivt heltal større end 1.- temperatur: Dette styrer tilfældigheden i outputtet. Højere temperatur resulterer i en udgangssekvens med ord med lav sandsynlighed, og lavere temperatur resulterer i en udgangssekvens med ord med høj sandsynlighed. Hvis temperaturen nærmer sig 0, resulterer det i grådig afkodning. Hvis det er angivet, skal det være en positiv flyder.
early_stopping
: HvisTrue
, er tekstgenerering afsluttet, når alle strålehypoteser når slutningen af sætningstoken. Hvis det er angivet, skal det være boolesk.do_sample
: HvisTrue
, prøve det næste ord for sandsynligheden. Hvis det er angivet, skal det være boolesk.top_k
: I hvert trin af tekstgenerering skal du kun prøve fratop_k
højst sandsynlige ord. Hvis det er angivet, skal det være et positivt heltal.top_p
: I hvert trin af tekstgenerering skal du prøve fra det mindst mulige sæt ord med kumulativ sandsynlighedtop_p
. Hvis det er angivet, skal det være en flyder mellem 0 og 1.
Du kan angive et hvilket som helst undersæt af de foregående parametre, når du kalder et slutpunkt. Dernæst viser vi dig et eksempel på, hvordan man påberåber sig et slutpunkt med disse argumenter.
Sprog oversættelse
For at vise sprogoversættelse ved hjælp af Whisper-modeller skal du bruge følgende lydfil på fransk og oversætte den til engelsk. Filen skal samples ved 16 kHz (som krævet af ASR-modellerne), så sørg for at gensample filer, hvis det kræves, og sørg for, at dine samples ikke overstiger 30 sekunder.
- Download
sample_french1.wav
fra SageMaker JumpStart fra det offentlige S3-sted, så det kan overføres i nyttelast til oversættelse af Whisper-modellen.
- Indstil opgaveparameteren som
translate
og sprog somFrench
at tvinge Whisper-modellen til at udføre taleoversættelse. - Brug forudsigelse at forudsige oversættelsen af sproget. Hvis du modtager klientfejl (fejl 413), skal du kontrollere nyttelaststørrelsen til slutpunktet. Nyttelaster for SageMaker-anmodninger om slutpunktsanmodninger er begrænset til omkring 5 MB.
- Tekstoutputtet oversat til engelsk fra den franske lydfil følger:
Ryd op
Når du har testet slutpunktet, skal du slette SageMaker-slutpunktet og slette modellen for at undgå at pådrage dig gebyrer.
Konklusion
I dette indlæg viste vi dig, hvordan du tester og bruger OpenAI Whisper-modeller til at bygge interessante applikationer ved hjælp af Amazon SageMaker. Prøv fundamentmodellen i SageMaker i dag, og fortæl os din feedback!
Denne vejledning er kun til informationsformål. Du bør stadig udføre din egen uafhængige vurdering og træffe foranstaltninger for at sikre, at du overholder dine egne specifikke kvalitetskontrolpraksisser og standarder og de lokale regler, love, regler, licenser og brugsbetingelser, der gælder for dig, dit indhold og tredjepartsmodel, der henvises til i denne vejledning. AWS har ingen kontrol eller autoritet over den tredjepartsmodel, der henvises til i denne vejledning, og giver ingen erklæringer eller garantier for, at tredjepartsmodellen er sikker, virusfri, operationel eller kompatibel med dit produktionsmiljø og -standarder. AWS giver ikke nogen erklæringer, garantier eller garantier for, at nogen information i denne vejledning vil resultere i et bestemt resultat eller resultat.
Om forfatterne
Hemant Singh er en anvendt videnskabsmand med erfaring i Amazon SageMaker JumpStart. Han fik sin master fra Courant Institute of Mathematical Sciences og B.Tech fra IIT Delhi. Han har erfaring med at arbejde med en bred vifte af maskinlæringsproblemer inden for området naturlig sprogbehandling, computersyn og tidsserieanalyse.
Rachna Chadha er Principal Solution Architect AI/ML i Strategic Accounts hos AWS. Rachna er en optimist, der mener, at etisk og ansvarlig brug af kunstig intelligens kan forbedre samfundet i fremtiden og bringe økonomisk og social velstand. I sin fritid kan Rachna godt lide at bruge tid med sin familie, vandreture og lytte til musik.
Dr. Ashish Khetan er en Senior Applied Scientist med Amazon SageMaker indbyggede algoritmer og hjælper med at udvikle machine learning algoritmer. Han fik sin ph.d. fra University of Illinois Urbana-Champaign. Han er en aktiv forsker i maskinlæring og statistisk inferens og har publiceret mange artikler i NeurIPS, ICML, ICLR, JMLR, ACL og EMNLP konferencer.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/whisper-models-for-automatic-speech-recognition-now-available-in-amazon-sagemaker-jumpstart/
- :har
- :er
- :ikke
- $OP
- 1
- 10
- 100
- 12
- 14
- 15 %
- 150
- 16
- 30
- 7
- 8
- 9
- a
- evne
- Om
- adgang
- tilgængelig
- Konti
- tværs
- aktiv
- faktisk
- Desuden
- fremskridt
- AI
- AI / ML
- algoritmer
- Alle
- også
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon SageMaker Studio
- Amazon Web Services
- beløb
- an
- analyse
- ,
- Annoncere
- enhver
- api
- Anvendelse
- applikationer
- anvendt
- Indløs
- tilgange
- passende
- ER
- argumenter
- Kunst
- AS
- vurdering
- At
- lyd
- myndighed
- Automatisk Ur
- til rådighed
- gennemsnit
- undgå
- AWS
- baseret
- BE
- Beam
- fordi
- været
- mener
- jf. nedenstående
- mellem
- milliarder
- Blog
- Boks
- bringe
- bygge
- indbygget
- men
- by
- CAN
- tilfælde
- Boligtype
- karakteristika
- afgifter
- kontrollere
- Vælg
- klasse
- kunde
- kode
- Kom
- kommer
- Fælles
- sammenlignet
- kompatibel
- Afsluttet
- overholde
- computer
- Computer Vision
- konferencer
- Konsol
- Container
- indhold
- kontinuerligt
- kontrol
- kontrol
- korrigere
- skabe
- kurateret
- kunde
- Kunder
- data
- datalogi
- datasæt
- Dekodning
- Standard
- Delhi
- demonstrere
- indsætte
- indsat
- implementering
- detail
- udvikle
- udviklet
- Udvikling
- forskel
- forskellige
- digital
- digital kunst
- forskelligartede
- do
- gør
- domæne
- Domæner
- Dont
- hver
- nemt
- enten
- medarbejdere
- muliggøre
- muliggør
- ende
- ende til ende
- Endpoint
- Engelsk
- sikre
- sikrer
- Indtast
- Miljø
- lige
- fejl
- fejl
- etisk
- evaluere
- Endog
- alle
- eksempel
- overstige
- ophidset
- spændende
- eksisterende
- Udvid
- dyrt
- erfaring
- udforske
- Ansigtet
- familie
- få
- File (Felt)
- Filer
- Finde
- Fornavn
- fem
- Flyde
- efter
- følger
- Til
- Tving
- fundet
- Foundation
- fire
- Fransk
- fra
- fremtiden
- generere
- genererer
- generere
- generation
- få
- GitHub
- given
- Go
- fik
- større
- Greedy
- Ground
- garantier
- vejledning
- Have
- have
- he
- hjælpe
- hjælper
- hende
- link.
- højere
- hans
- host
- hostede
- HOURS
- Hvordan
- How To
- HTML
- HTTPS
- Hub
- hubs
- ID
- if
- Illinois
- importere
- Forbedre
- in
- omfatter
- Herunder
- Forøg
- uafhængig
- angiver
- oplysninger
- Informational
- indgang
- installere
- instans
- Institut
- interessant
- ind
- isolation
- IT
- jpg
- json
- Kend
- kendt
- Sprog
- storstilet
- største
- Latency
- lancere
- Love
- læring
- forlader
- Længde
- mindre
- lad
- licenser
- Belysning
- sandsynlighed
- Sandsynlig
- synes godt om
- Limited
- links
- Liste
- Lytte
- levende
- lokale
- placering
- lavere
- maskine
- machine learning
- vedligeholde
- lave
- mange
- matematiske
- maksimal
- foranstaltninger
- medium
- Menu
- metrisk
- måske
- minutter
- ML
- model
- modeller
- øjeblik
- mere
- mest
- Musik
- skal
- Natural
- Natural Language Processing
- Behov
- behov
- netværk
- Ny
- næste
- ingen
- Ingen
- notesbog
- nu
- nummer
- numre
- of
- Tilbud
- on
- kun
- åbent
- OpenAI
- operationelle
- or
- original
- Andet
- Andre
- ud
- Resultat
- output
- uden for
- i løbet af
- egen
- side
- papirer
- parameter
- parametre
- særlig
- parter
- passerer
- Bestået
- Patenter
- procent
- Udfør
- ydeevne
- udfører
- phd
- plato
- Platon Data Intelligence
- PlatoData
- Vær venlig
- Populær
- positiv
- mulig
- Indlæg
- praksis
- forudsige
- Predictor
- forudser
- Main
- problemer
- forarbejdning
- produktion
- foreslog
- velstand
- udbydere
- giver
- offentlige
- offentliggjort
- formål
- Python
- pytorch
- kvalitet
- hurtigt
- tilfældighed
- rækkevidde
- Sats
- hellere
- nå
- Læs
- virkelig
- modtage
- nylige
- anerkendelse
- henvisningen
- benævnt
- regler
- gentaget
- erstatte
- repræsentere
- anmode
- anmodninger
- påkrævet
- forsker
- svar
- ansvarlige
- resultere
- Resultater
- gennemgå
- højre
- Rise
- regler
- s
- sagemaker
- SageMaker Inference
- salg
- samme
- Scale
- Videnskab
- VIDENSKABER
- Videnskabsmand
- script
- SDK
- Søg
- sekunder
- sikker
- sikkerhed
- sender
- senior
- dømme
- Sequence
- Series
- tjeneste
- Tjenester
- Session
- sæt
- delt
- bør
- Vis
- udstillingsvindue
- viste
- vist
- Simpelt
- Størrelse
- størrelser
- So
- Social
- Samfund
- løsninger
- SOLVE
- specifikke
- specificeret
- tale
- Talegenkendelse
- hastighed
- udgifterne
- standarder
- påbegyndt
- Tilstand
- statistiske
- Trin
- Steps
- Stadig
- opbevaring
- Strategisk
- stærk
- Studio
- sådan
- tilsyn
- Understøtter
- sikker
- systemet
- bord
- Tag
- taget
- Opgaver
- opgaver
- tech
- skabeloner
- ti
- tensorflow
- vilkår
- prøve
- afprøvet
- tekst
- end
- at
- navet
- Them
- selv
- derefter
- Disse
- de
- Tredje
- tredje partier
- tredjepart
- denne
- tusinde
- tid
- Tidsserier
- gange
- til
- i dag
- token
- Tokens
- tog
- top
- I alt
- Tog
- uddannet
- Transform
- Oversætte
- Oversættelse
- Stol
- Sandheden
- prøv
- typer
- typisk
- ui
- universitet
- indtil
- us
- Brug
- brug
- anvendte
- Bruger
- bruger
- ved brug af
- værdi
- Varierende
- meget
- via
- vision
- ønsker
- var
- we
- web
- webservices
- velkommen
- var
- hvornår
- hvorvidt
- som
- Hviske
- WHO
- bred
- vilje
- med
- inden for
- uden
- Vandt
- ord
- ord
- workflow
- arbejder
- år
- Du
- Din
- zephyrnet