Whisper

Whisper

OpenAI Whisper er et open-source ASR-system, der nøjagtigt konverterer tale til tekst på 99 sprog, med understøttelse af transskription, oversættelse og sprogidentifikation til robust AI-automatisering.

Forstå OpenAI Whisper

Er Whisper en model eller et system?

OpenAI Whisper kan betragtes som både en model og et system, afhængigt af konteksten.

  • Som en model består Whisper af neurale netværksarkitekturer, der er specielt designet til ASR-opgaver. Det inkluderer flere modeller i forskellige størrelser, fra 39 millioner til 1,55 milliarder parametre. Større modeller tilbyder bedre nøjagtighed, men kræver flere computerressourcer.
  • Som et system omfatter Whisper ikke kun modelarkitekturen, men også hele infrastrukturen og de processer, der omgiver det. Dette inkluderer træningsdata, forbehandlingsmetoder og integrationen af forskellige opgaver, det kan udføre, såsom sprogidentifikation og oversættelse.

Grundlæggende funktioner i Whisper

Whispers primære funktion er at transskribere tale til tekst-output. Det udmærker sig ved:

  • Flersproget talegenkendelse: Understøtter 99 sprog, hvilket gør det til et stærkt værktøj til globale applikationer.
  • Taleoversættelse: Kan oversætte tale fra ethvert understøttet sprog til engelsk tekst.
  • Sprogidentifikation: Registrerer automatisk det talte sprog uden forudgående angivelse.
  • Robusthed over for accenter og baggrundsstøj: Trænet på forskelligartede data, håndterer Whisper effektivt forskellige accenter og støjende omgivelser.

Hvordan fungerer OpenAI Whisper?

Transformer-arkitektur

Kernen i Whisper er Transformer-arkitekturen, specifikt en encoder-decoder-model. Transformere er neurale netværk, der er fremragende til at behandle sekventielle data og forstå kontekst over lange sekvenser. Transformer-arkitekturen blev introduceret i “Attention is All You Need”-artiklen i 2017 og er blevet grundlaget for mange NLP-opgaver.

Whispers proces involverer:

  1. Lydforbehandling: Input-lyd opdeles i 30 sekunders bidder og konverteres til et log-Mel-spektrogram, der indfanger frekvens og intensitet af lydsignalet over tid.
  2. Encoder: Behandler spektrogrammet og genererer en numerisk repræsentation af lyden.
  3. Decoder: Udnytter en sprogmodel til at forudsige sekvensen af teksttokens (ord eller dele af ord), der svarer til lydinputtet.
  4. Brug af specielle tokens: Inddrager specielle tokens til at håndtere opgaver som sprogidentifikation, tidsstempler og opgavespecifikke instruktioner (fx transskriber eller oversæt).

Træning på flersproget multitask-superviseret data

Whisper blev trænet på et enormt datasæt af 680.000 timers superviseret data indsamlet fra nettet. Dette inkluderer:

  • Flersproget data: Omkring 117.000 timers data er på 99 forskellige sprog, hvilket øger modellens evne til at generalisere på tværs af sprog.
  • Varierede akustiske forhold: Datasættet indeholder lyd fra forskellige domæner og miljøer og sikrer robusthed over for forskellige accenter, dialekter og baggrundsstøj.
  • Multitask-læring: Ved at træne på flere opgaver samtidigt (transskription, oversættelse, sprogidentifikation) lærer Whisper fælles repræsentationer, der forbedrer den samlede ydeevne.

Anvendelser og brugsscenarier

Transskriptionstjenester

  • Virtuelle møder og notetagning: Automatiser transskription i platforme, der henvender sig til generel lyd og specifikke brancher som uddannelse, sundhed, journalistik og juridiske tjenester.
  • Indholdsproduktion: Generér transskriberinger for podcasts, videoer og live-streams for at øge tilgængeligheden og give tekstreferencer.

Sprogoversættelse

  • Global kommunikation: Oversæt tale på ét sprog til engelsk tekst, hvilket fremmer kommunikation på tværs af sprog.
  • Sproglæringsværktøjer: Hjælp elever med at forstå udtale og betydning på forskellige sprog.

AI-automatisering og chatbots

  • Stemmeaktiverede chatbots: Integrer Whisper i chatbots for at muliggøre stemmeinteraktioner og forbedre brugeroplevelsen.
  • AI-assistenter: Udvikl assistenter, der kan forstå og behandle talte kommandoer på forskellige sprog.

Tilgængelighedsforbedringer

  • Undertekster: Generér undertekster til videoindhold, hvilket hjælper personer med hørenedsættelse.
  • Hjælpemidler: Muliggør at enheder kan transskribere og oversætte tale for brugere, der har brug for sproglig støtte.

Callcentre og kundesupport

  • Realtidstransskription: Giv agenter realtidstransskriberinger af kundesamtaler for bedre service.
  • Sentimentanalyse: Analysér transskriberet tekst for at vurdere kundesindstilling og forbedre interaktioner.

Fordele ved OpenAI Whisper

Flersproget understøttelse

Med understøttelse af 99 sprog udmærker Whisper sig ved at kunne håndtere forskellige sproglige input. Denne flersprogede kapacitet gør det velegnet til globale applikationer og tjenester, der retter sig mod internationale brugere.

Høj nøjagtighed og robusthed

Takket være omfattende superviseret data opnår Whisper høje nøjagtigheder i transskriptionsopgaver. Dets robusthed over for forskellige accenter, dialekter og baggrundsstøj gør det pålideligt i mange virkelighedsscenarier.

Alsidighed i opgaver

Ud over transskription kan Whisper udføre:

  • Sprogidentifikation: Registrerer det talte sprog uden forudgående input.
  • Taleoversættelse: Oversætter tale fra ét sprog til engelsk tekst.
  • Tidsstempelgenerering: Tilføjer tidsstempler på sætning-/frase-niveau i transskriptioner.

Open-source tilgængelighed

Whisper er udgivet som open-source software, hvilket gør det muligt for udviklere at:

  • Tilpasse og finjustere: Justér modellen til specifikke opgaver eller domæner.
  • Integrere i applikationer: Indlejre Whisper i produkter og tjenester uden licensbegrænsninger.
  • Bidrage til fællesskabet: Forbedre modellen og dele forbedringer.

Begrænsninger og overvejelser

Computationskrav

  • Ressourcekrævende: Større modeller kræver betydelig beregningskraft og hukommelse (op til 10 GB VRAM for den største model).
  • Behandlingstid: Transskriptionshastighed kan variere, idet større modeller kører langsommere end mindre.

Tilbøjelighed til hallucinationer

  • Unøjagtige transskriptioner: Whisper kan nogle gange producere tekst, der ikke blev sagt (hallucinationer). Dette er mere sandsynligt på visse sprog eller ved dårlig lydkvalitet.

Begrænset understøttelse af ikke-engelske sprog

  • Databias: En stor del af træningsdataene er på engelsk, hvilket kan påvirke nøjagtigheden på mindre repræsenterede sprog.
  • Finjustering nødvendig: Yderligere træning kan være påkrævet for at forbedre ydeevnen på bestemte sprog eller dialekter.

Inputbegrænsninger

  • Lydlængde: Whisper behandler lyd i 30 sekunders bidder, hvilket kan gøre det vanskeligere at transskribere længere sammenhængende lyd.
  • Begrænsninger på filstørrelse: Open-source-modellen kan have begrænsninger på inputfilers størrelse og formater.

OpenAI Whisper i AI-automatisering og chatbots

Forbedring af brugerinteraktioner

Ved at integrere Whisper i chatbots og AI-assistenter kan udviklere muliggøre:

  • Stemmestyring: Brugere kan interagere med systemet via tale i stedet for tekst.
  • Flersproget understøttelse: Henvendelse til brugere, der foretrækker eller kræver forskellige sprog.
  • Bedre tilgængelighed: Hjælp til brugere med handicap eller dem, der ikke kan bruge traditionelle inputmetoder.

Effektivisering af arbejdsgange

  • Automatiseret transskription: Mindsker manuelt arbejde med notetagning og dokumentation.
  • Dataanalyse: Konverter talte indhold til tekst for analyse, overvågning og indsigt.

Eksempler i praksis

  • Virtuelle møde-bots: Værktøjer, der deltager i onlinemøder for at transskribere samtaler i realtid.
  • Kundeservicebots: Systemer, der kan forstå og besvare talte henvendelser, hvilket forbedrer kundeoplevelsen.
  • Uddannelsesplatforme: Applikationer, der transskriberer forelæsninger eller leverer oversættelser til studerende.

Alternativer til OpenAI Whisper

Open-source alternativer

  • Mozilla DeepSpeech: En open-source ASR-motor, der muliggør træning af egne modeller.
  • Kaldi: Et værktøj, der er meget brugt i både forskning og industri til talegenkendelse.
  • Wav2vec: Meta AI’s system til selv-superviseret talebearbejdning.

Kommercielle API’er

  • Google Cloud Speech-to-Text: Tilbyder talegenkendelse med omfattende sprogsupport.
  • Microsoft Azure AI Speech: Leverer taleservices med tilpasningsmuligheder.
  • AWS Transcribe: Amazons talegenkendelsestjeneste med funktioner som brugerdefineret ordforråd.

Specialiserede udbydere

  • Gladia: Tilbyder en hybrid og forbedret Whisper-arkitektur med ekstra funktioner.
  • AssemblyAI: Leverer speech-to-text API’er med funktioner som indholdsmoderering.
  • Deepgram: Tilbyder realtidstransskription med mulighed for at træne egne modeller.

Faktorer at overveje, når du vælger Whisper

Nøjagtighed og hastighed

  • Afvejninger: Større modeller giver højere nøjagtighed, men kræver flere ressourcer og er langsommere.
  • Test: Vurder ydeevnen med data, der afspejler din virkelige anvendelse.

Lydmængde

  • Skalerbarhed: Overvej hardware- og infrastrukturomkostninger ved behandling af store mængder lyd.
  • Batch-behandling: Implementér metoder til effektiv håndtering af store datasæt.

Avancerede funktioner

  • Ekstra funktionalitet: Vurder om funktioner som live-transskription eller taleridentifikation er nødvendige.
  • Tilpasning: Vurder hvor meget arbejde det kræver at implementere ekstra funktioner.

Sprogunderstøttelse

  • Målrettede sprog: Undersøg modellens ydeevne på de sprog, der er relevante for din løsning.
  • Finjustering: Planlæg eventuelt ekstra træning for mindre repræsenterede sprog.

Ekspertise og ressourcer

  • Teknisk ekspertise: Sikr, at dit team har de nødvendige færdigheder til at implementere og tilpasse modellen.
  • Infrastruktur: Vurder hardwarekrav og hostingmuligheder.

Omkostningsovervejelser

  • Open-source vs. kommercielt: Afvej de indledende besparelser ved open-source mod potentielle langsigtede udgifter til vedligehold og skalering.
  • Total ejerskabsomkostning: Inkluder hardware, udviklingstid og løbende support.

Hvordan bruges Whisper i Python?

Whisper er implementeret som et Python-bibliotek, hvilket muliggør problemfri integration i Python-baserede projekter. Brug af Whisper i Python indebærer opsætning af det rette miljø, installation af nødvendige afhængigheder og anvendelse af bibliotekets funktioner til at transskribere eller oversætte lydfiler.

Opsætning af Whisper i Python

Før du bruger Whisper, skal du forberede dit udviklingsmiljø ved at installere Python, PyTorch, FFmpeg og selve Whisper-biblioteket.

Forudsætninger

  • Python: Version 3.8 til 3.11 anbefales.
  • PyTorch: Et deep learning framework, der kræves for at køre Whisper-modellen.
  • FFmpeg: Et kommandolinjeværktøj til håndtering af lyd- og videofiler.
  • Whisper-biblioteket: Python-pakken fra OpenAI.

Trin 1: Installér Python og PyTorch

Hvis du ikke har Python installeret, kan du hente det fra den officielle hjemmeside. For at installere PyTorch, brug pip:

pip install torch

Alternativt kan du besøge PyTorchs hjemmeside for specifikke installationsvejledninger til dit styresystem og Python-version.

Trin 2: Installér FFmpeg

Whisper kræver FFmpeg for at behandle lydfiler. Installér FFmpeg med den relevante pakkehåndtering til dit styresystem.

Ubuntu/Debian:

sudo apt update && sudo apt install ffmpeg

MacOS (med Homebrew):

brew install ffmpeg

Windows (med Chocolatey):

choco install ffmpeg

Trin 3: Installér Whisper-biblioteket

Installér Whisper Python-pakken med pip:

pip install -U openai-whisper

For at installere den nyeste version direkte fra GitHub:

pip install git+https://github.com/openai/whisper.git

Bemærkning til Windows-brugere

Sørg for, at Udviklertilstand er aktiveret:

  1. Gå til Indstillinger.
  2. Navigér til Privatliv og sikkerhed > For udviklere.
  3. Aktiver Udviklertilstand.

Tilgængelige modeller og specifikationer

Whisper tilbyder flere modeller, der varierer i størrelse og evner. Modellerne spænder fra tiny til large, hvor hver især balancerer hastighed og nøjagtighed forskelligt.

StørrelseParametreKun engelsk modelFlersproget modelPåkrævet VRAMRelativ hastighed
tiny39 Mtiny.entiny~1 GB~32x
base74 Mbase.enbase~1 GB~16x
small244 Msmall.ensmall~2 GB~6x
medium769 Mmedium.enmedium~5 GB~2x
large1550 MN/Alarge~10 GB1x

Valg af den rette model

  • Kun engelsk-modeller (.en): Optimeret til engelsk transskription og giver forbedret ydeevne for engelske lydfiler.
  • Flersprogede modeller: Kan transskribere flere sprog og er velegnet til globale anvendelser.
  • Modelstørrelse: Større modeller giver højere nøjagtighed, men kræver flere computerressourcer. Vælg en model, der passer til din hardware og dine krav til ydeevne.

Brug af Whisper i Python

Når dit miljø er sat op, og de nødvendige komponenter er installeret, kan du begynde at bruge Whisper i dine Python-projekter.

Import af biblioteket og indlæsning af en model

Start med at importere Whisper-biblioteket og indlæse en model:

import whisper

# Indlæs den ønskede model
model = whisper.load_model("base")

Erstat "base" med navnet på den model, der passer til dit formål.

Transskribering af lydfiler

Whisper tilbyder en enkel transcribe-funktion til at konvertere lydfiler til tekst.

Eksempel: Transskribering af en engelsk lydfil

# Transskriber lydfilen
result = model.transcribe("path/to/english_audio.mp3")

# Udskriv transskriptionen
print(result["text"])

Forklaring

  • model.transcribe(): Behandler lydfilen og returnerer et dictionary med transskriptionen og andre metadata.
  • result["text"]: Giver adgang til den transskriberede tekst fra resultatet.

Oversættelse af lyd til engelsk

Whisper kan oversætte lyd fra forskellige sprog til engelsk.

Eksempel: Oversæt spansk lyd til engelsk

# Transskriber og oversæt spansk lyd til engelsk
result = model.transcribe("path/to/spanish_audio.mp3", task="translate")

# Udskriv den oversatte tekst
print(result["text"])

Forklaring

  • task="translate": Instruerer modellen i at oversætte lyden til engelsk i stedet for at transskribere ordret.

Angivelse af sprog

Selv om Whisper automatisk kan registrere sproget, kan det forbedre nøjagtigheden og hastigheden at angive sproget.

Eksempel: Transskriber fransk lyd

# Transskriber fransk lyd med angivet sprog
result = model.transcribe("path/to/french_audio.wav", language="fr")

# Udskriv transskriptionen
print(result["text"])

Registrering af lydens sprog

Whisper kan identificere sproget i en lydfil ved at bruge detect_language-metoden.

Eksempel: Sprogdetektion

# Indlæs og forbehandl lyden
audio = whisper.load_audio("path/to/unknown_language_audio.mp3")
audio = whisper.pad_or_trim(audio)

# Konvertér til log-Mel-spektrogram
mel = whisper.log_mel_spectrogram(audio).to(model.device)

# Registrér sproget
_, probs = model.detect_language(mel)
language = max(probs, key=probs.get)

print(f"Detected language: {language}")

Forklaring

  • whisper.load_audio(): Indlæser lydfilen.
  • whisper.pad_or_trim(): Justerer lydlængden til modellens inputkrav.
  • whisper.log_mel_spectrogram(): Konverterer lyd til det format, modellen forventer.
  • model.detect_language(): Returnerer sandsynligheder for hvert sprog og identificerer det mest sandsynlige.

Avanceret brug og tilpasning

For mere kontrol over transskriptionsprocessen kan du bruge lavere-niveau funktioner og tilpasse afkodningsmuligheder.

Brug af decode-funktionen

decode-funktionen gør det muligt at angive indstillinger som sprog, opgave og om tidsstempler skal medtages.

Eksempel: Tilpassede afkodningsindstillinger

# Angiv afkodningsindstillinger
options = whisper.DecodingOptions(language="de", without_timestamps=True)

# Afkod lyden
result = whisper.decode(model, mel, options)

# Udskriv den genkendte tekst
print(result.text)

Behandling af live-lydinput

Du kan integrere Whisper til at transskribere live-lydinput fra en mikrofon.

Eksempel: Transskribering af live-mikrofoninput

import whisper
import sounddevice as sd

# Indlæs modellen
model = whisper.load_model("base")

# Optag lyd fra mikrofonen
duration = 5  # sekunder
fs = 16000  # Samplingsrate
print("Optager...")
audio = sd.rec(int(duration * fs), samplerate=fs, channels=1, dtype='float32')
sd.wait

Ofte stillede spørgsmål

Hvad er OpenAI Whisper?

OpenAI Whisper er et avanceret automatisk talegenkendelsessystem (ASR) udviklet af OpenAI, designet til at transskribere talt sprog til skreven tekst ved hjælp af dyb læring. Det understøtter 99 sprog og udmærker sig inden for transskription, oversættelse og sprogidentifikation.

Hvordan fungerer Whisper?

Whisper bruger en transformer-baseret encoder-decoder-arkitektur, behandler lyd til log-Mel-spektrogrammer, og genererer tekst via en sprogmodel. Det blev trænet på 680.000 timers flersproget, multitask-data for høj nøjagtighed og robusthed.

Hvad er hovedfunktionerne ved Whisper?

Whisper understøtter flersproget talegenkendelse, taleoversættelse, automatisk sprogidentifikation, robusthed over for accenter og støj, og tilbyder open-source adgang til tilpasning og integration.

Hvilket hardware kræver Whisper?

Hardwarekravene afhænger af modellens størrelse: mindre modeller som 'tiny' kræver ~1GB VRAM, mens den største kræver ~10GB. Whisper kører hurtigere på GPU'er, men kan også køre på CPU'er med længere behandlingstid.

Kan Whisper integreres i Python-projekter?

Ja, Whisper er implementeret som et Python-bibliotek og kan installeres via pip. Det muliggør nem integration i Python-projekter til taletransskription, oversættelse og realtids stemmeapplikationer.

Hvilke almindelige anvendelser har Whisper?

Almindelige anvendelser inkluderer automatiseret møde-transskription, stemmeaktiverede chatbots, live oversættelse, tilgængelighedsværktøjer (undertekster og hjælpemidler), callcenter-automatisering og stemmeaktiverede automationssystemer.

Findes der alternativer til OpenAI Whisper?

Ja, alternativer inkluderer open-source motorer som Mozilla DeepSpeech, Kaldi, Wav2vec, samt kommercielle API'er såsom Google Cloud Speech-to-Text, Microsoft Azure AI Speech og AWS Transcribe.

Er Whisper open-source?

Ja, OpenAI Whisper er open-source, hvilket giver udviklere mulighed for at tilpasse, finjustere og integrere det i egne produkter og tjenester uden licensbegrænsninger.

Kom i gang med OpenAI Whisper

Integrer avancerede speech-to-text-funktioner i dine applikationer, automatiser arbejdsgange, og forbedr brugeroplevelsen med OpenAI Whisper og FlowHunt.

Lær mere

Brugerdefineret OpenAI LLM
Brugerdefineret OpenAI LLM

Brugerdefineret OpenAI LLM

Lås op for kraften i brugerdefinerede sprogmodeller med komponenten Custom OpenAI LLM i FlowHunt. Integrer problemfrit dine egne OpenAI-kompatible modeller—incl...

3 min læsning
AI LLM +5
Claude Opus
Claude Opus

Claude Opus

Find ud af mere om Opus-modellen af Claude fra Anthropic. Opdag dens styrker og svagheder, og hvordan den sammenlignes med andre modeller.

4 min læsning
AI Claude Opus +6
Stort sprogmodel (LLM)
Stort sprogmodel (LLM)

Stort sprogmodel (LLM)

En stor sprogmodel (LLM) er en type AI, der er trænet på enorme tekstmængder for at forstå, generere og manipulere menneskesprog. LLM'er bruger dyb læring og tr...

8 min læsning
AI Large Language Model +4