ZOO Digital leverer end-to-end lokalisering og medietjenester for at tilpasse originalt tv- og filmindhold til forskellige sprog, regioner og kulturer. Det gør globaliseringen nemmere for verdens bedste indholdsskabere. ZOO Digital, som er betroet af de største navne inden for underholdning, leverer højkvalitets lokalisering og medietjenester i stor skala, herunder dubbing, undertekstning, scripting og compliance.
Typiske lokaliseringsarbejdsgange kræver manuel højttalerdiaarisering, hvor en lydstrøm segmenteres baseret på højttalerens identitet. Denne tidskrævende proces skal fuldføres, før indhold kan dubbes til et andet sprog. Med manuelle metoder kan en 30-minutters episode tage mellem 1-3 timer at lokalisere. Gennem automatisering tilstræber ZOO Digital at opnå lokalisering på under 30 minutter.
I dette indlæg diskuterer vi implementering af skalerbare maskinlæringsmodeller (ML) til at diaarisere medieindhold ved hjælp af Amazon SageMaker, med fokus på WhisperX model.
Baggrund
ZOO Digitals vision er at levere en hurtigere omsætning af lokaliseret indhold. Dette mål er flaskehalsede af den manuelt intensive karakter af øvelsen sammensat af den lille arbejdsstyrke af dygtige mennesker, der kan lokalisere indhold manuelt. ZOO Digital arbejder med over 11,000 freelancere og lokaliserede over 600 millioner ord alene i 2022. Udbuddet af dygtige folk bliver dog overgået af den stigende efterspørgsel efter indhold, hvilket kræver automatisering for at hjælpe med lokaliseringsarbejdsgange.
Med et mål om at accelerere lokaliseringen af indholdsarbejdsgange gennem maskinlæring engagerede ZOO Digital AWS Prototyping, et investeringsprogram fra AWS til at bygge arbejdsbelastninger sammen med kunderne. Engagementet fokuserede på at levere en funktionel løsning til lokaliseringsprocessen, samtidig med at der blev givet praktisk træning til ZOO Digital-udviklere på SageMaker, Amazon Transcribog Amazon Oversæt.
Kundeudfordring
Efter at en titel (en film eller et afsnit af en tv-serie) er blevet transskriberet, skal højttalere tildeles hvert talesegment, så de korrekt kan tildeles stemmekunstnerne, der er castet til at spille karaktererne. Denne proces kaldes højttalerdiarisering. ZOO Digital står over for udfordringen med at dagbogsføre indhold i stor skala, samtidig med at det er økonomisk rentabelt.
Løsningsoversigt
I denne prototype gemte vi de originale mediefiler i en specificeret Amazon Simple Storage Service (Amazon S3) spand. Denne S3-bøtte blev konfigureret til at udsende en hændelse, når der registreres nye filer i den, hvilket udløser en AWS Lambda fungere. For instruktioner om konfiguration af denne trigger, se selvstudiet Brug af en Amazon S3-trigger til at starte en Lambda-funktion. Efterfølgende påkaldte Lambda-funktionen SageMaker-endepunktet for inferens ved hjælp af Boto3 SageMaker Runtime-klient.
WhisperX model, baseret på OpenAI's Whisper, udfører transskriptioner og diarisering for medieaktiver. Det er bygget på Hurtigere hvisken genimplementering, der tilbyder op til fire gange hurtigere transskription med forbedret tidsstempeljustering på ordniveau sammenlignet med Whisper. Derudover introducerer den højttalerdiarisering, som ikke findes i den originale Whisper-model. WhisperX bruger Whisper-modellen til transskriptioner, den Wav2Vec2 model til at forbedre tidsstempeljusteringen (som sikrer synkronisering af transskriberet tekst med lydtidsstempler), og pyannote model for diarisering. FFmpeg bruges til at indlæse lyd fra kildemedier, der understøtter forskellige medieformater. Den gennemsigtige og modulære modelarkitektur tillader fleksibilitet, fordi hver komponent i modellen kan udskiftes efter behov i fremtiden. Det er dog vigtigt at bemærke, at WhisperX mangler fulde administrationsfunktioner og ikke er et produkt på virksomhedsniveau. Uden vedligeholdelse og support er den muligvis ikke egnet til produktionsinstallation.
I dette samarbejde implementerede og evaluerede vi WhisperX på SageMaker ved hjælp af en asynkron inferens-endepunkt at være vært for modellen. SageMaker asynkrone endepunkter understøtter uploadstørrelser på op til 1 GB og inkorporerer automatiske skaleringsfunktioner, der effektivt afbøder trafikstigninger og sparer omkostninger i lavsæsonen. Asynkrone endepunkter er særligt velegnede til behandling af store filer, såsom film og tv-serier i vores use case.
Følgende diagram illustrerer kerneelementerne i de eksperimenter, vi udførte i dette samarbejde.
I de følgende sektioner dykker vi ned i detaljerne om implementering af WhisperX-modellen på SageMaker og evaluerer diariseringsydelsen.
Download modellen og dens komponenter
WhisperX er et system, der inkluderer flere modeller til transkription, tvungen justering og diarisering. For jævn SageMaker-drift uden behov for at hente modelartefakter under inferens, er det vigtigt at forhåndsdownloade alle modelartefakter. Disse artefakter indlæses derefter i SageMaker serveringsbeholderen under initiering. Fordi disse modeller ikke er direkte tilgængelige, tilbyder vi beskrivelser og eksempelkode fra WhisperX-kilden, som giver instruktioner om download af modellen og dens komponenter.
WhisperX bruger seks modeller:
De fleste af disse modeller kan fås fra Knusende ansigt ved hjælp af huggingface_hub-biblioteket. Vi bruger følgende download_hf_model()
funktion til at hente disse modelartefakter. Et adgangstoken fra Hugging Face, genereret efter accept af brugeraftalerne for følgende pyannote-modeller, er påkrævet:
import huggingface_hub
import yaml
import torchaudio
import urllib.request
import os CONTAINER_MODEL_DIR = "/opt/ml/model"
WHISPERX_MODEL = "guillaumekln/faster-whisper-large-v2"
VAD_MODEL_URL = "https://whisperx.s3.eu-west-2.amazonaws.com/model_weights/segmentation/0b5b3216d60a2d32fc086b47ea8c67589aaeb26b7e07fcbe620d6d0b83e209ea/pytorch_model.bin"
WAV2VEC2_MODEL = "WAV2VEC2_ASR_BASE_960H"
DIARIZATION_MODEL = "pyannote/speaker-diarization" def download_hf_model(model_name: str, hf_token: str, local_model_dir: str) -> str: """ Fetches the provided model from HuggingFace and returns the subdirectory it is downloaded to :param model_name: HuggingFace model name (and an optional version, appended with @[version]) :param hf_token: HuggingFace access token authorized to access the requested model :param local_model_dir: The local directory to download the model to :return: The subdirectory within local_modeL_dir that the model is downloaded to """ model_subdir = model_name.split('@')[0] huggingface_hub.snapshot_download(model_subdir, token=hf_token, local_dir=f"{local_model_dir}/{model_subdir}", local_dir_use_symlinks=False) return model_subdir
VAD-modellen hentes fra Amazon S3, og Wav2Vec2-modellen hentes fra torchaudio.pipelines-modulet. Baseret på følgende kode kan vi hente alle modellernes artefakter, inklusive dem fra Hugging Face, og gemme dem i den angivne lokale modelmappe:
def fetch_models(hf_token: str, local_model_dir="./models"): """ Fetches all required models to run WhisperX locally without downloading models every time :param hf_token: A huggingface access token to download the models :param local_model_dir: The directory to download the models to """ # Fetch Faster Whisper's Large V2 model from HuggingFace download_hf_model(model_name=WHISPERX_MODEL, hf_token=hf_token, local_model_dir=local_model_dir) # Fetch WhisperX's VAD Segmentation model from S3 vad_model_dir = "whisperx/vad" if not os.path.exists(f"{local_model_dir}/{vad_model_dir}"): os.makedirs(f"{local_model_dir}/{vad_model_dir}") urllib.request.urlretrieve(VAD_MODEL_URL, f"{local_model_dir}/{vad_model_dir}/pytorch_model.bin") # Fetch the Wav2Vec2 alignment model torchaudio.pipelines.__dict__[WAV2VEC2_MODEL].get_model(dl_kwargs={"model_dir": f"{local_model_dir}/wav2vec2/"}) # Fetch pyannote's Speaker Diarization model from HuggingFace download_hf_model(model_name=DIARIZATION_MODEL, hf_token=hf_token, local_model_dir=local_model_dir) # Read in the Speaker Diarization model config to fetch models and update with their local paths with open(f"{local_model_dir}/{DIARIZATION_MODEL}/config.yaml", 'r') as file: diarization_config = yaml.safe_load(file) embedding_model = diarization_config['pipeline']['params']['embedding'] embedding_model_dir = download_hf_model(model_name=embedding_model, hf_token=hf_token, local_model_dir=local_model_dir) diarization_config['pipeline']['params']['embedding'] = f"{CONTAINER_MODEL_DIR}/{embedding_model_dir}" segmentation_model = diarization_config['pipeline']['params']['segmentation'] segmentation_model_dir = download_hf_model(model_name=segmentation_model, hf_token=hf_token, local_model_dir=local_model_dir) diarization_config['pipeline']['params']['segmentation'] = f"{CONTAINER_MODEL_DIR}/{segmentation_model_dir}/pytorch_model.bin" with open(f"{local_model_dir}/{DIARIZATION_MODEL}/config.yaml", 'w') as file: yaml.safe_dump(diarization_config, file) # Read in the Speaker Embedding model config to update it with its local path speechbrain_hyperparams_path = f"{local_model_dir}/{embedding_model_dir}/hyperparams.yaml" with open(speechbrain_hyperparams_path, 'r') as file: speechbrain_hyperparams = file.read() speechbrain_hyperparams = speechbrain_hyperparams.replace(embedding_model_dir, f"{CONTAINER_MODEL_DIR}/{embedding_model_dir}") with open(speechbrain_hyperparams_path, 'w') as file: file.write(speechbrain_hyperparams)
Vælg den passende AWS Deep Learning Container til at betjene modellen
Når modelartefakterne er gemt ved hjælp af den foregående eksempelkode, kan du vælge forudbygget AWS Deep Learning-containere (DLC'er) fra følgende GitHub repo. Når du vælger Docker-billedet, skal du overveje følgende indstillinger: framework (Hugging Face), opgave (inferens), Python-version og hardware (for eksempel GPU). Vi anbefaler at bruge følgende billede: 763104351884.dkr.ecr.[REGION].amazonaws.com/huggingface-pytorch-inference:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04
Dette billede har alle de nødvendige systempakker forudinstalleret, såsom ffmpeg. Husk at erstatte [REGION] med den AWS-region, du bruger.
For andre nødvendige Python-pakker skal du oprette en requirements.txt
fil med en liste over pakker og deres versioner. Disse pakker vil blive installeret, når AWS DLC er bygget. Følgende er de ekstra pakker, der er nødvendige for at være vært for WhisperX-modellen på SageMaker:
Opret et inferensscript for at indlæse modellerne og køre inferens
Dernæst opretter vi en brugerdefineret inference.py
script for at skitsere, hvordan WhisperX-modellen og dens komponenter indlæses i containeren, og hvordan inferensprocessen skal køres. Scriptet indeholder to funktioner: model_fn
, transform_fn
. Det model_fn
funktionen aktiveres for at indlæse modellerne fra deres respektive placeringer. Efterfølgende overføres disse modeller til transform_fn
funktion under inferens, hvor transskriptions-, alignment- og diariseringsprocesser udføres. Det følgende er et kodeeksempel for inference.py
:
import io
import json
import logging
import tempfile
import time import torch
import whisperx DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu' def model_fn(model_dir: str) -> dict: """ Deserialize and return the models """ logging.info("Loading WhisperX model") model = whisperx.load_model(whisper_arch=f"{model_dir}/guillaumekln/faster-whisper-large-v2", device=DEVICE, language="en", compute_type="float16", vad_options={'model_fp': f"{model_dir}/whisperx/vad/pytorch_model.bin"}) logging.info("Loading alignment model") align_model, metadata = whisperx.load_align_model(language_code="en", device=DEVICE, model_name="WAV2VEC2_ASR_BASE_960H", model_dir=f"{model_dir}/wav2vec2") logging.info("Loading diarization model") diarization_model = whisperx.DiarizationPipeline(model_name=f"{model_dir}/pyannote/speaker-diarization/config.yaml", device=DEVICE) return { 'model': model, 'align_model': align_model, 'metadata': metadata, 'diarization_model': diarization_model } def transform_fn(model: dict, request_body: bytes, request_content_type: str, response_content_type="application/json") -> (str, str): """ Load in audio from the request, transcribe and diarize, and return JSON output """ # Start a timer so that we can log how long inference takes start_time = time.time() # Unpack the models whisperx_model = model['model'] align_model = model['align_model'] metadata = model['metadata'] diarization_model = model['diarization_model'] # Load the media file (the request_body as bytes) into a temporary file, then use WhisperX to load the audio from it logging.info("Loading audio") with io.BytesIO(request_body) as file: tfile = tempfile.NamedTemporaryFile(delete=False) tfile.write(file.read()) audio = whisperx.load_audio(tfile.name) # Run transcription logging.info("Transcribing audio") result = whisperx_model.transcribe(audio, batch_size=16) # Align the outputs for better timings logging.info("Aligning outputs") result = whisperx.align(result["segments"], align_model, metadata, audio, DEVICE, return_char_alignments=False) # Run diarization logging.info("Running diarization") diarize_segments = diarization_model(audio) result = whisperx.assign_word_speakers(diarize_segments, result) # Calculate the time it took to perform the transcription and diarization end_time = time.time() elapsed_time = end_time - start_time logging.info(f"Transcription and Diarization took {int(elapsed_time)} seconds") # Return the results to be stored in S3 return json.dumps(result), response_content_type
Inden for modellens bibliotek, sammen med requirements.txt
fil, sikre tilstedeværelsen af inference.py
i en kode undermappe. Det models
mappen skal ligne følgende:
Lav en tarball af modellerne
Når du har oprettet modellerne og kodemapperne, kan du bruge følgende kommandolinjer til at komprimere modellen til en tarball (.tar.gz-fil) og uploade den til Amazon S3. I skrivende stund, ved at bruge den hurtigere hviskende Large V2-model, er den resulterende tarball, der repræsenterer SageMaker-modellen, 3 GB i størrelse. For mere information, se Modelhostingmønstre i Amazon SageMaker, del 2: Kom godt i gang med implementering af realtidsmodeller på SageMaker.
Opret en SageMaker-model og implementer et slutpunkt med en asynkron forudsigelse
Nu kan du oprette SageMaker-modellen, endepunktskonfigurationen og det asynkrone endepunkt med AsyncPredictor ved at bruge den model tarball, der blev oprettet i det foregående trin. For instruktioner, se Opret et asynkront inferensendepunkt.
Evaluer diariseringsydelsen
For at vurdere WhisperX-modellens diariseringsydelse i forskellige scenarier valgte vi tre episoder fra hver to engelske titler: en dramatitel bestående af 30-minutters episoder og en dokumentartitel bestående af 45-minutters episoder. Vi brugte Pyannotes metrics toolkit, pyannote.metrics, for at beregne diariseringsfejlrate (DER). I evalueringen tjente manuelt transskriberede og diariserede transskriptioner leveret af ZOO som grundsandheden.
Vi definerede DER som følger:
I alt er længden af jorden sandhedsvideo. FA (Falsk alarm) er længden af segmenter, der betragtes som tale i forudsigelser, men ikke i sandhed. Miss er længden af segmenter, der betragtes som tale i grundsandhed, men ikke i forudsigelse. Fejl, også kaldet Forvirring, er længden af segmenter, der er tildelt forskellige højttalere i forudsigelse og grundsandhed. Alle enheder måles i sekunder. De typiske værdier for DER kan variere afhængigt af den specifikke applikation, datasæt og kvaliteten af diariseringssystemet. Bemærk, at DER kan være større end 1.0. En lavere DER er bedre.
For at kunne beregne DER for et stykke medie kræves en jordsandhedsdiarisering samt WhisperX transskriberede og diariserede output. Disse skal analyseres og resultere i lister over tuples, der indeholder en højttaleretiket, talesegmentets starttidspunkt og talesegmentets sluttidspunkt for hvert talesegment i medierne. Højttaleretiketterne behøver ikke at matche mellem WhisperX- og jordsandhedsdiariserne. Resultaterne er for det meste baseret på tidspunktet for segmenterne. pyannote.metrics tager disse tuples af jordsandhedsdiariseringer og outputdiariseringer (omtalt i pyannote.metrics-dokumentationen som henvisningen , hypotese) for at beregne DER. Følgende tabel opsummerer vores resultater.
Videotype | DER | Korrekt | Miss | Fejl | Falsk alarm |
Drama | 0.738 | 44.80 % | 21.80 % | 33.30 % | 18.70 % |
Dokumentar | 1.29 | 94.50 % | 5.30 % | 0.20 % | 123.40 % |
Gennemsnit | 0.901 | 71.40 % | 13.50 % | 15.10 % | 61.50 % |
Disse resultater afslører en signifikant præstationsforskel mellem drama- og dokumentartitlerne, hvor modellen opnår markant bedre resultater (ved at bruge DER som en samlet metrik) for dramaepisoderne sammenlignet med dokumentartitlen. En nærmere analyse af titlerne giver indsigt i potentielle faktorer, der bidrager til dette performancegab. En nøglefaktor kunne være den hyppige tilstedeværelse af baggrundsmusik, der overlapper med tale i dokumentartitlen. Selvom forbehandling af medier for at forbedre diarisationsnøjagtigheden, såsom fjernelse af baggrundsstøj for at isolere tale, var uden for denne prototypes omfang, åbner det muligheder for fremtidigt arbejde, der potentielt kan forbedre WhisperX's ydeevne.
Konklusion
I dette indlæg udforskede vi samarbejdspartnerskabet mellem AWS og ZOO Digital, hvor vi brugte maskinlæringsteknikker med SageMaker og WhisperX-modellen for at forbedre diariseringsarbejdsgangen. AWS-teamet spillede en central rolle i at hjælpe ZOO med at udarbejde prototyper, evaluere og forstå den effektive udrulning af brugerdefinerede ML-modeller, specielt designet til diaarisering. Dette omfattede inkorporering af automatisk skalering for skalerbarhed ved hjælp af SageMaker.
Udnyttelse af AI til diarisering vil føre til betydelige besparelser i både omkostninger og tid, når der genereres lokaliseret indhold til ZOO. Ved at hjælpe transskribentere med hurtigt og præcist at skabe og identificere højttalere, adresserer denne teknologi opgavens traditionelt tidskrævende og fejludsatte karakter. Den konventionelle proces involverer ofte flere gennemløb gennem videoen og yderligere kvalitetskontroltrin for at minimere fejl. Vedtagelsen af kunstig intelligens til diaarisering muliggør en mere målrettet og effektiv tilgang og øger dermed produktiviteten inden for en kortere tidsramme.
Vi har skitseret de vigtigste trin for at implementere WhisperX-modellen på SageMaker asynkrone slutpunkt, og opfordrer dig til at prøve det selv ved hjælp af den medfølgende kode. For yderligere indsigt i ZOO Digitals tjenester og teknologi, besøg ZOO Digitals officielle side. For detaljer om implementering af OpenAI Whisper-modellen på SageMaker og forskellige inferensmuligheder, se Vær vært for Whisper-modellen på Amazon SageMaker: Udforsk muligheder for slutninger. Du er velkommen til at dele dine tanker i kommentarerne.
Om forfatterne
Ying Hou, PhD, er Machine Learning Prototyping Architect hos AWS. Hendes primære interesseområder omfatter Deep Learning med fokus på GenAI, Computer Vision, NLP og forudsigelse af tidsseriedata. I sin fritid nyder hun at tilbringe kvalitetsøjeblikke med sin familie, fordybe sig i romaner og vandre i Storbritanniens nationalparker.
Ethan Cumberland er AI Research Engineer hos ZOO Digital, hvor han arbejder med at bruge AI og Machine Learning som hjælpeteknologier til at forbedre arbejdsgange inden for tale, sprog og lokalisering. Han har en baggrund i software engineering og forskning inden for sikkerheds- og politidomænet, med fokus på at udtrække struktureret information fra nettet og udnytte open source ML-modeller til at analysere og berige indsamlede data.
Gaurav Kaila leder AWS Prototyping-teamet for Storbritannien og Irland. Hans team arbejder med kunder på tværs af forskellige brancher for at ide og samudvikle forretningskritiske arbejdsbelastninger med mandat til at fremskynde indførelse af AWS-tjenester.
- 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/streamline-diarization-using-ai-as-an-assistive-technology-zoo-digitals-story/
- :har
- :er
- :ikke
- :hvor
- $OP
- 000
- 1
- 10
- 100
- 11
- 140
- 2022
- 220
- 28
- 30
- 350
- 600
- 7
- 8
- a
- I stand
- fremskynde
- acceptere
- adgang
- tilgængelig
- nøjagtighed
- opnå
- opnå
- tværs
- tilpasse
- Yderligere
- Derudover
- adresser
- Vedtagelse
- Efter
- aggregat
- aftaler
- AI
- ai forskning
- sigte
- målsætninger
- alarm
- tilpasse
- justering
- tilpasning
- Alle
- tillader
- alene
- langs med
- også
- Skønt
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- Analyserer
- analyse
- ,
- En anden
- Anvendelse
- tilgang
- passende
- arkitektur
- ER
- områder
- Artister
- AS
- vurdere
- Aktiver
- tildelt
- hjælpe
- bistår
- At
- lyd
- autoriseret
- auto
- Automation
- veje
- AWS
- baggrund
- baseret
- BE
- fordi
- været
- før
- være
- BEDSTE
- Bedre
- mellem
- Beyond
- Største
- BIN
- både
- bygget
- virksomhed
- men
- by
- beregne
- kaldet
- CAN
- tilfælde
- udfordre
- tegn
- Vælg
- tættere
- kode
- samarbejde
- kollaborativ
- kommentarer
- sammenlignet
- Afsluttet
- Compliance
- komponent
- komponenter
- forværres
- computer
- Computer Vision
- gennemført
- konfigureret
- konfigurering
- Overvej
- betragtes
- Bestående
- Container
- indeholder
- indhold
- indhold skabere
- bidrager
- kontrol
- konventionelle
- Core
- korrekt
- Koste
- Omkostninger
- kunne
- skabe
- oprettet
- Oprettelse af
- skabere
- kritisk
- kulturer
- skik
- Kunder
- data
- dyb
- dyb læring
- definerede
- leverer
- leverer
- dykke
- Efterspørgsel
- Afhængigt
- indsætte
- indsat
- implementering
- implementering
- konstrueret
- detaljer
- opdaget
- udviklere
- enhed
- diagram
- DICT
- forskel
- forskellige
- digital
- Digitals
- direkte
- mapper
- Vejviser
- diskutere
- forskelligartede
- Docker
- dokumentarfilm
- dokumentation
- domæne
- Dont
- downloade
- downloading
- Drama
- døbt
- i løbet af
- hver
- lettere
- Effektiv
- effektiv
- effektivt
- elementer
- andet
- indlejring
- anvendelse
- muliggør
- Encompass
- tilskynde
- ende
- ende til ende
- Endpoint
- beskæftiget
- engagement
- ingeniør
- Engineering
- Engelsk
- forbedre
- berigende
- sikre
- sikring
- enterprise-niveau
- Underholdning
- episode
- fejl
- fejl
- væsentlig
- evaluere
- evalueret
- evaluere
- evaluering
- begivenhed
- Hver
- eksempel
- Dyrke motion
- eksperimenter
- udforsket
- Udforskning
- Ansigtet
- ansigter
- faktor
- faktorer
- falsk
- familie
- hurtigere
- Funktionalitet
- føler sig
- Hentet
- File (Felt)
- Filer
- Fleksibilitet
- Fokus
- fokuserede
- fokusering
- efter
- følger
- Til
- tvunget
- fire
- Framework
- Gratis
- hyppig
- fra
- fuld
- funktion
- funktionel
- funktioner
- yderligere
- fremtiden
- kløft
- genai
- genereret
- generere
- få
- GitHub
- globalisering
- mål
- GPU
- Ground
- hands-on
- Hardware
- he
- hende
- høj kvalitet
- hans
- host
- Hosting
- HOURS
- Hvordan
- Men
- HTML
- http
- HTTPS
- KrammerFace
- identificere
- Identity
- if
- illustrerer
- billede
- importere
- Forbedre
- forbedret
- in
- medtaget
- omfatter
- Herunder
- indarbejde
- inkorporering
- stigende
- industrier
- oplysninger
- indledning
- indsigt
- installeret
- anvisninger
- interesse
- ind
- Introducerer
- investering
- påberåbes
- involverer
- irland
- IT
- ITS
- jpg
- json
- Nøgle
- nøglefaktor
- etiket
- Etiketter
- Sprog
- Sprog
- stor
- større
- føre
- Leads
- læring
- Længde
- løftestang
- Bibliotek
- linjer
- Liste
- Lister
- belastning
- lastning
- lokale
- Lokalisering
- lokalt
- placeringer
- log
- logning
- Lang
- lavere
- maskine
- machine learning
- vedligeholdelse
- maerker
- ledelse
- Mandat
- manuel
- manuelt
- Match
- Kan..
- Medier
- Metadata
- metoder
- metrisk
- Metrics
- million
- minimere
- minutter
- afbøde
- ML
- model
- modeller
- modulær
- Moduler
- Moments
- mere
- for det meste
- film
- Film
- flere
- Musik
- skal
- navn
- navne
- national
- Natur
- nødvendig
- Behov
- behov
- Ny
- NLP
- Støj
- især
- Bemærk
- opnået
- of
- tilbyde
- tilbyde
- officiel
- tit
- on
- ONE
- open source
- OpenAI
- åbner
- drift
- Indstillinger
- or
- original
- OS
- Andet
- vores
- ud
- skitse
- skitseret
- output
- udgange
- i løbet af
- pakker
- del
- især
- Partnerskab
- Bestået
- gennemløb
- sti
- stier
- mønstre
- Mennesker
- Udfør
- ydeevne
- udføres
- udfører
- stykke
- pipeline
- afgørende
- plato
- Platon Data Intelligence
- PlatoData
- Leg
- spillet
- politiarbejde
- Indlæg
- potentiale
- potentielt
- forud
- præcist
- forudsigelse
- Forudsigelser
- tilstedeværelse
- præsentere
- tidligere
- primære
- behandle
- Processer
- forarbejdning
- Produkt
- produktion
- produktivitet
- Program
- prototype
- prototyping
- give
- forudsat
- giver
- leverer
- Python
- kvalitet
- R
- Sats
- Læs
- ægte
- realtid
- anbefaler
- henvise
- benævnt
- region
- regioner
- huske
- fjernelse
- erstatte
- repræsenterer
- anmode
- kræver
- påkrævet
- Krav
- forskning
- dem
- resultere
- resulterer
- Resultater
- afkast
- afkast
- afsløre
- roller
- Kør
- kører
- runtime
- s
- sagemaker
- prøve
- Gem
- gemt
- Besparelser
- Skalerbarhed
- skalerbar
- Scale
- skalering
- scenarier
- rækkevidde
- script
- sekunder
- sektioner
- sikkerhed
- segment
- segmentering
- segmenter
- valgt
- udvælgelse
- Series
- serveret
- Tjenester
- servering
- indstillinger
- Del
- hun
- bør
- signifikant
- Simpelt
- SIX
- Størrelse
- størrelser
- faglært
- lille
- udjævne
- So
- Software
- software Engineering
- løsninger
- Kilde
- Højttaler
- højttalere
- specifikke
- specifikt
- specificeret
- tale
- udgifterne
- spikes
- starte
- påbegyndt
- Trin
- Steps
- opbevaring
- opbevaret
- Historie
- strøm
- strømline
- struktureret
- Efterfølgende
- væsentlig
- sådan
- egnede
- forsyne
- support
- Støtte
- byttet rundt
- hurtigt
- synkronisering
- systemet
- bord
- Tag
- tager
- målrettet
- Opgaver
- hold
- teknikker
- Teknologier
- Teknologier
- midlertidig
- tekst
- end
- at
- Fremtiden
- UK
- deres
- Them
- derefter
- derved
- Disse
- de
- denne
- dem
- tre
- Gennem
- tid
- Tidsserier
- tidskrævende
- tidsramme
- gange
- tidsstempel
- tider
- Titel
- titler
- til
- token
- tog
- toolkit
- fakkel
- traditionelt
- Trafik
- Kurser
- gennemsigtig
- udløse
- udløsning
- betroet
- Sandheden
- prøv
- tutorial
- tv
- to
- typisk
- Uk
- under
- under 30
- forståelse
- enheder
- Opdatering
- på
- brug
- brug tilfælde
- anvendte
- Bruger
- bruger
- ved brug af
- udnyttet
- udnytter
- Værdier
- forskellige
- variere
- udgave
- versioner
- levedygtig
- video
- vision
- Besøg
- Voice
- W
- var
- we
- web
- webservices
- GODT
- hvornår
- mens
- Hviske
- vilje
- med
- inden for
- uden
- ord
- Arbejde
- workflow
- arbejdsgange
- Workforce
- virker
- Verdens
- skrivning
- yaml
- Du
- Din
- dig selv
- zephyrnet
- ZOO