I dag er vi glade for å kunngjøre at OpenAI Whisper-fundamentmodellen er tilgjengelig for kunder som bruker Amazon SageMaker JumpStart. Whisper er en ferdigtrent modell for automatisk talegjenkjenning (ASR) og taleoversettelse. Opplært på 680 tusen timer med merkede data, viser Whisper-modeller en sterk evne til å generalisere til mange datasett og domener uten behov for finjustering. Sagemaker JumpStart er maskinlæringssenteret (ML) til SageMaker som gir tilgang til grunnmodeller i tillegg til innebygde algoritmer og ende-til-ende løsningsmaler for å hjelpe deg raskt å komme i gang med ML.
Du kan også gjøre ASR ved hjelp av Amazon Transcribe ,en fullt administrert og kontinuerlig trent automatisk talegjenkjenningstjeneste.
I dette innlegget viser vi deg hvordan du distribuerer OpenAI Whisper modellere og påkalle modellen for å transkribere og oversette lyd.
OpenAI Whisper-modellen bruker huggingface-pytorch-inference container. Som kunde for en SageMaker JumpStart modellhub kan du bruke ASR uten å måtte vedlikeholde modellskriptet utenfor SageMaker SDK. SageMaker JumpStart-modeller forbedrer også sikkerhetsposisjonen med endepunkter som muliggjør nettverksisolasjon.
Fundamentmodeller i SageMaker
SageMaker JumpStart gir tilgang til en rekke modeller fra populære modellhuber, inkludert Hugging Face, PyTorch Hub og TensorFlow Hub, som du kan bruke i ML-utviklingsarbeidsflyten din i SageMaker. Nylige fremskritt innen ML har gitt opphav til en ny klasse modeller kjent som grunnmodeller, som vanligvis er trent på milliarder av parametere og kan tilpasses en bred kategori av brukstilfeller, for eksempel tekstoppsummering, generering av digital kunst og språkoversettelse. Fordi disse modellene er dyre å trene, ønsker kundene å bruke eksisterende forhåndstrente fundamentmodeller og finjustere dem etter behov, i stedet for å trene disse modellene selv. SageMaker gir en kurert liste over modeller som du kan velge mellom på SageMaker-konsollen.
Du kan nå finne fundamentmodeller fra forskjellige modellleverandører i SageMaker JumpStart, slik at du raskt kan komme i gang med fundamentmodeller. SageMaker JumpStart tilbyr grunnmodeller basert på ulike oppgaver eller modellleverandører, og du kan enkelt se gjennom modellens egenskaper og bruksvilkår. Du kan også prøve disse modellene ved å bruke en test UI-widget. Når du vil bruke en grunnmodell i stor skala, kan du gjøre det uten å forlate SageMaker ved å bruke forhåndsbygde notatbøker fra modellleverandører. Fordi modellene er vert for og distribuert på AWS, stoler du på at dataene dine, enten de brukes til å evaluere eller bruke modellen i stor skala, ikke vil bli delt med tredjeparter.
OpenAI Whisper foundation-modeller
Whisper er en forhåndstrent modell for ASR og taleoversettelse. Hvisken ble foreslått i avisen Robust talegjenkjenning via svak overvåking i stor skala av Alec Radford, og andre, fra OpenAI. Den originale koden kan bli funnet i dette GitHub-depotet.
Whisper er en transformatorbasert koder-dekodermodell, også referert til som en sekvens-til-sekvens modell. Den ble trent på 680 tusen timer med merkede taledata annotert ved bruk av storstilt svak tilsyn. Whisper-modeller viser en sterk evne til å generalisere til mange datasett og domener uten behov for finjustering.
Modellene ble trent på enten engelsk-bare data eller flerspråklige data. De engelske modellene ble opplært i oppgaven med talegjenkjenning. De flerspråklige modellene ble trent på talegjenkjenning og taleoversettelse. For talegjenkjenning forutsier modellen transkripsjoner i samme språk som lyd. For taleoversettelse forutsier modellen transkripsjoner til a forskjellig språk til lyden.
Whisper-sjekkpunkter kommer i fem konfigurasjoner av varierende modellstørrelser. De fire minste er trent på enten kun engelsk eller flerspråklig data. De største sjekkpunktene er kun flerspråklige. Alle de ti forhåndstrente sjekkpunktene er tilgjengelige på Hugging Face hub. Sjekkpunktene er oppsummert i følgende tabell med lenker til modellene på navet:
Modellnavn | Antall parametere | Flerspråklig |
hviske-liten | 39 M | Ja |
hviske-base | 74 M | Ja |
hviske-liten | 244 M | Ja |
hviske-medium | 769 M | Ja |
hviske-stor | 1550 M | Ja |
hviske-stor-v2 | 1550 M | Ja |
La oss utforske hvordan du kan bruke Whisper-modeller i SageMaker JumpStart.
OpenAI Whisper foundation-modeller WER og latenssammenligning
Ordfeilfrekvensen (WER) for forskjellige OpenAI Whisper-modeller basert på LibriSpeech test-ren er vist i følgende tabell. WER er en vanlig beregning for ytelsen til et talegjenkjennings- eller maskinoversettelsessystem. Den måler forskjellen mellom referanseteksten (grunnsannheten eller riktig transkripsjon) og utdataene til et ASR-system når det gjelder antall feil, inkludert erstatninger, innsettinger og slettinger som er nødvendige for å transformere ASR-utdataene til referansen tekst. Disse tallene er hentet fra Klemme ansiktet nettside.
Modell | WER (prosent) |
hviske-liten | 7.54 |
hviske-base | 5.08 |
hviske-liten | 3.43 |
hviske-medium | 2.9 |
hviske-stor | 3 |
hviske-stor-v2 | 3 |
For denne bloggen tok vi lydfilen nedenfor og sammenlignet ventetiden for talegjenkjenning på tvers av forskjellige hviskemodeller. Latens er hvor lang tid fra det øyeblikket en bruker sender en forespørsel til det tidspunktet applikasjonen din indikerer at forespørselen er fullført. Tallene i tabellen nedenfor representerer gjennomsnittlig ventetid for totalt 100 forespørsler som bruker den samme lydfilen med modellen som er vert for ml.g5.2xlarge-forekomsten.
Modell | Gjennomsnittlig ventetid(er) | Modellutgang |
hviske-liten | 0.43 | Vi lever i veldig spennende tider med maskinbelysning. Hastigheten på ML-modellutvikling vil faktisk øke. Men du kommer ikke til den sluttstaten vi vant de neste årene. Med mindre vi faktisk gjør disse modellene mer tilgjengelige for alle. |
hviske-base | 0.49 | Vi lever i veldig spennende tider med maskinlæring. Hastigheten på ML-modellutvikling vil faktisk øke. Men du kommer ikke til den sluttstaten vi vant de neste årene. Med mindre vi faktisk gjør disse modellene mer tilgjengelige for alle. |
hviske-liten | 0.84 | Vi lever i veldig spennende tider med maskinlæring. Hastigheten på ML-modellutvikling vil faktisk øke. Men du kommer ikke til den slutttilstanden vi ønsker i de neste årene med mindre vi faktisk gjør disse modellene mer tilgjengelige for alle. |
hviske-medium | 1.5 | Vi lever i veldig spennende tider med maskinlæring. Hastigheten på ML-modellutvikling vil faktisk øke. Men du kommer ikke til den slutttilstanden vi ønsker i de neste årene med mindre vi faktisk gjør disse modellene mer tilgjengelige for alle. |
hviske-stor | 1.96 | Vi lever i veldig spennende tider med maskinlæring. Hastigheten på ML-modellutvikling vil faktisk øke. Men du kommer ikke til den slutttilstanden vi ønsker i de neste årene med mindre vi faktisk gjør disse modellene mer tilgjengelige for alle. |
hviske-stor-v2 | 1.98 | Vi lever i veldig spennende tider med maskinlæring. Hastigheten på ML-modellutvikling vil faktisk øke. Men du kommer ikke til den slutttilstanden vi ønsker i de neste årene med mindre vi faktisk gjør disse modellene mer tilgjengelige for alle. |
Gjennomgang av løsningen
Du kan distribuere Whisper-modeller ved å bruke Amazon SageMaker-konsollen eller ved å bruke en Amazon SageMaker Notebook. I dette innlegget demonstrerer vi hvordan du distribuerer Whisper API ved hjelp av SageMaker Studio-konsollen eller en SageMaker Notebook og deretter bruker den utplasserte modellen for talegjenkjenning og språkoversettelse. Koden som brukes i dette innlegget finner du i denne GitHub-notatboken.
La oss utvide hvert trinn i detalj.
Distribuer Whisper fra konsollen
- For å komme i gang med SageMaker JumpStart, åpne Amazon SageMaker Studio-konsollen og gå til lanseringssiden til SageMaker JumpStart og velg Kom i gang med JumpStart.
- For å velge en Whisper-modell kan du enten bruke fanene øverst eller bruke søkeboksen øverst til høyre som vist i følgende skjermbilde. For dette eksemplet, bruk søkeboksen øverst til høyre og skriv inn
Whisper
, og velg deretter den aktuelle Whisper-modellen fra rullegardinmenyen. - Etter at du har valgt Whisper-modellen, kan du bruke konsollen til å distribuere modellen. Du kan velge en forekomst for distribusjon eller bruke standarden.
Distribuer grunnmodellen fra en Sagemaker Notebook
Trinnene for å først distribuere og deretter bruke den distribuerte modellen til å løse forskjellige oppgaver er:
- Sett opp
- Velg en modell
- Hent artefakter og distribuer et endepunkt
- Bruk utplassert modell for ASR
- Bruk utplassert modell for språkoversettelse
- Rydd opp i endepunktet
Sett opp
Denne notatboken ble testet på en ml.t3.medium-forekomst i SageMaker Studio med Python 3 (data science)-kjernen og i en Amazon SageMaker Notebook-forekomst med conda_python3
kjernen.
Velg en forhåndsopplært modell
Sett opp en SageMaker-økt med Boto3, og velg deretter modell-ID-en du vil distribuere.
Hent artefakter og distribuer et endepunkt
Ved å bruke SageMaker kan du utføre slutninger på den forhåndstrente modellen, selv uten å finjustere den først på et nytt datasett. For å være vert for den forhåndstrente modellen, opprett en forekomst av sagemaker.modell.Modell og distribuere den. Følgende kode bruker standardforekomsten ml.g5.2xlarge
for slutningsendepunktet til en whisper-large-v2-modell. Du kan distribuere modellen på andre forekomsttyper ved å sende den instance_type
i JumpStartModel
klasse. Utrullingen kan ta noen minutter.
Automatisk talegjenkjenning
Deretter leser du prøvelydfilen, sample1.wav, fra en SageMaker Jumpstart-publikum Amazon Simple Storage Service (Amazon S3) plassering og gi den til prediktor for talegjenkjenning. Du kan erstatte denne eksempelfilen med en hvilken som helst annen lydfil, men sørg for at .wav-filen er samplet ved 16 kHz fordi den kreves av modellene for automatisk talegjenkjenning. Inngangslydfilen må være mindre enn 30 sekunder.
Denne modellen støtter mange parametere når du utfører inferens. De inkluderer:
max_length
: Modellen genererer tekst til utdatalengden. Hvis det er spesifisert, må det være et positivt heltall.- språk og oppgave: Spesifiser utdataspråket og oppgaven her. Modellen støtter oppgaven med transkripsjon eller oversettelse.
max_new_tokens
: Maksimalt antall tokens som skal genereres.num_return_sequences
: Antall utgangssekvenser som returneres. Hvis det er spesifisert, må det være et positivt heltall.num_beams
: Antall stråler brukt i det grådige søket. Hvis spesifisert, må det være et heltall større enn eller liknum_return_sequences
.no_repeat_ngram_size
: Modellen sikrer at en sekvens av ord avno_repeat_ngram_size
gjentas ikke i utdatasekvensen. Hvis det er spesifisert, må det være et positivt heltall større enn 1.- temperatur: Dette styrer tilfeldigheten i utgangen. Høyere temperatur gir en utgangssekvens med ord med lav sannsynlighet og lavere temperatur gir en utgangssekvens med ord med høy sannsynlighet. Hvis temperaturen nærmer seg 0, resulterer det i grådig dekoding. Hvis spesifisert, må det være en positiv flyte.
early_stopping
: HvisTrue
, tekstgenerering er fullført når alle strålehypoteser når slutten av setningstoken. Hvis det er spesifisert, må det være boolsk.do_sample
: HvisTrue
, prøv neste ord for sannsynligheten. Hvis det er spesifisert, må det være boolsk.top_k
: I hvert trinn av tekstgenerering kan du prøve fra baretop_k
mest sannsynlige ord. Hvis det er spesifisert, må det være et positivt heltall.top_p
: I hvert trinn av tekstgenerering, sample fra det minste mulige settet med ord med kumulativ sannsynlighettop_p
. Hvis det er spesifisert, må det være en flyte mellom 0 og 1.
Du kan spesifisere et hvilket som helst delsett av de foregående parameterne når du påkaller et endepunkt. Deretter viser vi deg et eksempel på hvordan du kan påkalle et endepunkt med disse argumentene.
Språkoversettelse
For å vise frem språkoversettelse med Whisper-modeller, bruk følgende lydfil på fransk og oversett den til engelsk. Filen må samples ved 16 kHz (som kreves av ASR-modellene), så sørg for å resample filer om nødvendig, og sørg for at prøvene dine ikke overskrider 30 sekunder.
- Last ned
sample_french1.wav
fra SageMaker JumpStart fra det offentlige S3-stedet slik at det kan overføres i nyttelast for oversettelse av Whisper-modellen.
- Sett oppgaveparameteren som
translate
og språk somFrench
å tvinge Whisper-modellen til å utføre taleoversettelse. - Bruk prediktor å forutsi oversettelsen av språket. Hvis du mottar klientfeil (feil 413), kontroller nyttelaststørrelsen til endepunktet. Nyttelaster for SageMaker påkalling av endepunktforespørsler er begrenset til omtrent 5 MB.
- Tekstutgangen oversatt til engelsk fra den franske lydfilen følger:
Rydd opp
Etter at du har testet endepunktet, slett SageMaker-slutningsendepunktet og slett modellen for å unngå kostnader.
konklusjonen
I dette innlegget viste vi deg hvordan du kan teste og bruke OpenAI Whisper-modeller for å bygge interessante applikasjoner ved hjelp av Amazon SageMaker. Prøv grunnmodellen i SageMaker i dag og gi oss tilbakemelding!
Denne veiledningen er kun til informasjonsformål. Du bør fortsatt utføre din egen uavhengige vurdering og iverksette tiltak for å sikre at du overholder dine egne spesifikke praksiser og standarder for kvalitetskontroll, og de lokale reglene, lovene, forskriftene, lisensene og bruksvilkårene som gjelder for deg, innholdet ditt og tredjepartsmodell referert til i denne veiledningen. AWS har ingen kontroll eller autoritet over tredjepartsmodellen det refereres til i denne veiledningen og gir ingen representasjoner eller garantier for at tredjepartsmodellen er sikker, virusfri, operativ eller kompatibel med ditt produksjonsmiljø og standarder. AWS gir ingen representasjoner, garantier eller garanterer at informasjon i denne veiledningen vil resultere i et bestemt resultat eller resultat.
Om forfatterne
Hemant Singh er en Applied Scientist med erfaring i Amazon SageMaker JumpStart. Han fikk sin master fra Courant Institute of Mathematical Sciences og B.Tech fra IIT Delhi. Han har erfaring med å jobbe med et mangfold av maskinlæringsproblemer innenfor domenet naturlig språkbehandling, datasyn og tidsserieanalyse.
Rachna Chadha er en hovedløsningsarkitekt AI/ML i strategiske kontoer hos AWS. Rachna er en optimist som tror at etisk og ansvarlig bruk av AI kan forbedre samfunnet i fremtiden og gi økonomisk og sosial velstand. På fritiden liker Rachna å tilbringe tid med familien, gå tur og høre på musikk.
Dr. Ashish Khetan er en Senior Applied Scientist med Amazon SageMaker innebygde algoritmer og hjelper til med å utvikle maskinlæringsalgoritmer. Han fikk sin doktorgrad fra University of Illinois Urbana-Champaign. Han er en aktiv forsker innen maskinlæring og statistisk inferens, og har publisert mange artikler på NeurIPS, ICML, ICLR, JMLR, ACL og EMNLP-konferanser.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/whisper-models-for-automatic-speech-recognition-now-available-in-amazon-sagemaker-jumpstart/
- : har
- :er
- :ikke
- $OPP
- 1
- 10
- 100
- 12
- 14
- 15%
- 150
- 16
- 30
- 7
- 8
- 9
- a
- evne
- Om oss
- adgang
- tilgjengelig
- kontoer
- tvers
- aktiv
- faktisk
- tillegg
- fremskritt
- AI
- AI / ML
- algoritmer
- Alle
- også
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon SageMaker Studio
- Amazon Web Services
- beløp
- an
- analyse
- og
- Kunngjøre
- noen
- api
- Søknad
- søknader
- anvendt
- Påfør
- tilnærminger
- hensiktsmessig
- ER
- argumenter
- Kunst
- AS
- evaluering
- At
- lyd
- myndighet
- Automatisk
- tilgjengelig
- gjennomsnittlig
- unngå
- AWS
- basert
- BE
- Beam
- fordi
- vært
- mener
- under
- mellom
- milliarder
- Blogg
- Eske
- bringe
- bygge
- innebygd
- men
- by
- CAN
- saker
- Kategori
- egenskaper
- avgifter
- sjekk
- Velg
- klasse
- kunde
- kode
- Kom
- kommer
- Felles
- sammenlignet
- kompatibel
- Terminado
- overholde
- datamaskin
- Datamaskin syn
- konferanser
- Konsoll
- Container
- innhold
- kontinuerlig
- kontroll
- kontroller
- korrigere
- skape
- kuratert
- kunde
- Kunder
- dato
- datavitenskap
- datasett
- Dekoding
- Misligholde
- Delhi
- demonstrere
- utplassere
- utplassert
- distribusjon
- detalj
- utvikle
- utviklet
- Utvikling
- forskjell
- forskjellig
- digitalt
- digital kunst
- diverse
- do
- gjør
- domene
- domener
- ikke
- hver enkelt
- lett
- enten
- ansatte
- muliggjøre
- muliggjør
- slutt
- ende til ende
- Endpoint
- Engelsk
- sikre
- sikrer
- Enter
- Miljø
- lik
- feil
- feil
- etisk
- evaluere
- Selv
- alle
- eksempel
- stige
- opphisset
- spennende
- eksisterende
- Expand
- dyrt
- erfaring
- utforske
- Face
- familie
- Noen få
- filet
- Filer
- Finn
- Først
- fem
- Flyte
- etter
- følger
- Til
- Tving
- funnet
- Fundament
- fire
- Fransk
- fra
- framtid
- generere
- genererer
- genererer
- generasjonen
- få
- GitHub
- gitt
- Go
- fikk
- større
- Greedy
- Ground
- garantier
- veiledning
- Ha
- å ha
- he
- hjelpe
- hjelper
- her
- her.
- høyere
- hans
- vert
- vert
- TIMER
- Hvordan
- Hvordan
- HTML
- HTTPS
- Hub
- huber
- ID
- if
- Illinois
- importere
- forbedre
- in
- inkludere
- Inkludert
- Øke
- uavhengig
- indikerer
- informasjon
- Informativ
- inngang
- installere
- f.eks
- Institute
- interessant
- inn
- isolasjon
- IT
- jpg
- JSON
- Vet
- kjent
- Språk
- storskala
- største
- Ventetid
- lansere
- Lover
- læring
- forlater
- Lengde
- mindre
- la
- lisenser
- Belysning
- sannsynligheten
- Sannsynlig
- liker
- Begrenset
- lenker
- Liste
- Lytting
- levende
- lokal
- plassering
- lavere
- maskin
- maskinlæring
- vedlikeholde
- gjøre
- mange
- matematiske
- maksimal
- målinger
- medium
- Meny
- metrisk
- kunne
- minutter
- ML
- modell
- modeller
- øyeblikk
- mer
- mest
- musikk
- må
- Naturlig
- Natural Language Processing
- Trenger
- nødvendig
- nettverk
- Ny
- neste
- Nei.
- none
- bærbare
- nå
- Antall
- tall
- of
- Tilbud
- on
- bare
- åpen
- OpenAI
- operasjonell
- or
- original
- Annen
- andre
- ut
- Utfallet
- produksjon
- utenfor
- enn
- egen
- side
- papirer
- parameter
- parametere
- Spesielt
- parter
- passere
- bestått
- Patenter
- prosent
- Utfør
- ytelse
- utfører
- phd
- plato
- Platon Data Intelligence
- PlatonData
- vær så snill
- Populær
- positiv
- mulig
- Post
- praksis
- forutsi
- Predictor
- spår
- Principal
- problemer
- prosessering
- Produksjon
- foreslått
- velstand
- tilbydere
- gir
- offentlig
- publisert
- formål
- Python
- pytorch
- kvalitet
- raskt
- tilfeldig
- område
- Sats
- heller
- å nå
- Lese
- virkelig
- motta
- nylig
- anerkjennelse
- referanse
- referert
- forskrifter
- gjentatt
- erstatte
- representere
- anmode
- forespørsler
- påkrevd
- forsker
- svar
- ansvarlig
- resultere
- Resultater
- anmeldelse
- ikke sant
- Rise
- regler
- s
- sagemaker
- SageMaker Inference
- salg
- samme
- Skala
- Vitenskap
- VITENSKAPER
- Forsker
- script
- SDK
- Søk
- sekunder
- sikre
- sikkerhet
- sender
- senior
- dømme
- Sequence
- Serien
- tjeneste
- Tjenester
- Session
- sett
- delt
- bør
- Vis
- presentere
- viste
- vist
- Enkelt
- Størrelse
- størrelser
- So
- selskap
- Samfunnet
- løsning
- LØSE
- spesifikk
- spesifisert
- tale
- Talegjenkjenning
- fart
- utgifter
- standarder
- startet
- Tilstand
- statistisk
- Trinn
- Steps
- Still
- lagring
- Strategisk
- sterk
- studio
- slik
- tilsyn
- Støtter
- sikker
- system
- bord
- Ta
- tatt
- Oppgave
- oppgaver
- tech
- maler
- ti
- tensorflow
- vilkår
- test
- testet
- tekst
- enn
- Det
- De
- navet
- Dem
- seg
- deretter
- Disse
- de
- Tredje
- tredjeparter
- tredjeparts
- denne
- tusen
- tid
- Tidsserier
- ganger
- til
- i dag
- token
- tokens
- tok
- topp
- Totalt
- Tog
- trent
- Transform
- oversette
- Oversettelse
- Stol
- Sannhet
- prøve
- typer
- typisk
- ui
- universitet
- til
- us
- bruk
- bruke
- brukt
- Bruker
- bruker
- ved hjelp av
- verdi
- Varierende
- veldig
- av
- syn
- ønsker
- var
- we
- web
- webtjenester
- velkommen
- var
- når
- om
- hvilken
- Hviske
- HVEM
- bred
- vil
- med
- innenfor
- uten
- Vant
- ord
- ord
- arbeidsflyt
- arbeid
- år
- Du
- Din
- zephyrnet