Dyk ned i dyb læring (D2L.ai) er en open source lærebog, der gør deep learning tilgængelig for alle. Den indeholder interaktive Jupyter-notebooks med selvstændig kode i PyTorch, JAX, TensorFlow og MXNet, samt eksempler fra den virkelige verden, udstillingsfigurer og matematik. Indtil videre er D2L blevet adopteret af mere end 400 universiteter rundt om i verden, såsom University of Cambridge, Stanford University, Massachusetts Institute of Technology, Carnegie Mellon University og Tsinghua University. Dette arbejde er også gjort tilgængeligt på kinesisk, japansk, koreansk, portugisisk, tyrkisk og vietnamesisk, med planer om at lancere spansk og andre sprog.
Det er en udfordrende bestræbelse at have en onlinebog, der løbende holdes ajour, skrevet af flere forfattere og tilgængelig på flere sprog. I dette indlæg præsenterer vi en løsning, som D2L.ai brugte til at løse denne udfordring ved at bruge Funktionen Active Custom Translation (ACT). of Amazon Oversæt og opbygning af en flersproget automatisk oversættelsespipeline.
Vi demonstrerer, hvordan man bruger AWS Management Console , Amazon Translate offentlig API at levere automatisk maskinbatch-oversættelse og analysere oversættelserne mellem to sprogpar: engelsk og kinesisk og engelsk og spansk. Vi anbefaler også bedste praksis, når du bruger Amazon Translate i denne automatiske oversættelsespipeline for at sikre oversættelseskvalitet og effektivitet.
Løsningsoversigt
Vi byggede automatiske oversættelsespipelines til flere sprog ved hjælp af ACT-funktionen i Amazon Translate. ACT giver dig mulighed for at tilpasse oversættelsesoutput på farten ved at levere skræddersyede oversættelseseksempler i form af parallelle data. Parallelle data består af en samling teksteksempler på et kildesprog og de ønskede oversættelser på et eller flere målsprog. Under oversættelsen udvælger ACT automatisk de mest relevante segmenter fra de parallelle data og opdaterer oversættelsesmodellen med det samme baseret på disse segmentpar. Dette resulterer i oversættelser, der bedre matcher stilen og indholdet af de parallelle data.
Arkitekturen indeholder flere sub-pipelines; hver sub-pipeline håndterer et sprog oversættelse såsom engelsk til kinesisk, engelsk til spansk, og så videre. Flere oversættelses-sub-pipelines kan behandles parallelt. I hver sub-pipeline bygger vi først de parallelle data i Amazon Translate ved hjælp af højkvalitetsdatasættet med tailed oversættelseseksempler fra de menneske-oversatte D2L-bøger. Derefter genererer vi det skræddersyede maskinoversættelsesoutput på farten under kørsel, hvilket opnår bedre kvalitet og nøjagtighed.
I de følgende afsnit viser vi, hvordan man bygger hver oversættelsespipeline ved hjælp af Amazon Translate med ACT sammen med Amazon SageMaker , Amazon Simple Storage Service (Amazon S3).
Først lægger vi kildedokumenterne, referencedokumenterne og det parallelle datatræningssæt i en S3-spand. Derefter bygger vi Jupyter-notebooks i SageMaker for at køre oversættelsesprocessen ved hjælp af Amazon Translate offentlige API'er.
Forudsætninger
For at følge trinene i dette indlæg skal du sørge for at have en AWS-konto med følgende:
- Adgang til AWS identitets- og adgangsstyring (IAM) til rolle- og politikkonfiguration
- Adgang til Amazon Translate, SageMaker og Amazon S3
- En S3-bøtte til at gemme kildedokumenter, referencedokumenter, parallelt datasæt og output af oversættelse
Opret en IAM-rolle og -politikker for Amazon Translate med ACT
Vores IAM-rolle skal indeholde en tilpasset tillidspolitik for Amazon Translate:
Denne rolle skal også have en tilladelsespolitik, der giver Amazon Translate læseadgang til inputmappen og undermapper i Amazon S3, der indeholder kildedokumenterne, og læse/skriveadgang til output S3-bøtten og mappen, der indeholder de oversatte dokumenter:
For at køre Jupyter-notebooks i SageMaker til oversættelsesjob skal vi give en indlejret tilladelsespolitik til SageMaker-udførelsesrollen. Denne rolle overfører Amazon Translate-servicerollen til SageMaker, der giver SageMaker-notebooks mulighed for at få adgang til kilden og oversatte dokumenter i de udpegede S3-bøtter:
Forbered parallelle datatræningsprøver
De parallelle data i ACT skal trænes af en inputfil, der består af en liste over teksteksempler, for eksempel et par kildesprog (engelsk) og målsprog (kinesisk). Inputfilen kan være i TMX-, CSV- eller TSV-format. Følgende skærmbillede viser et eksempel på en CSV-inputfil. Den første kolonne er kildesprogsdataene (på engelsk), og den anden kolonne er målsprogsdataene (på kinesisk). Følgende eksempel er uddraget fra D2L-en bog og D2L-zh bog.
Udfør tilpasset parallel datatræning i Amazon Translate
Først opsætter vi S3-bøtten og mapperne som vist på det følgende skærmbillede. Det source_data
mappen indeholder kildedokumenterne før oversættelsen; de genererede dokumenter efter batch-oversættelsen lægges i outputmappen. Det ParallelData
mappen indeholder den parallelle datainputfil, der er forberedt i det foregående trin.
Efter upload af inputfilerne til source_data
mappe, kan vi bruge CreateParallelData API for at køre et parallelt dataoprettelsesjob i Amazon Translate:
For at opdatere eksisterende parallelle data med nye træningsdatasæt kan vi bruge UpdateParallelData API:
S3_BUCKET = “YOUR-S3_BUCKET-NAME”
pd_name = “pd-d2l-short_test_sentence_enzh_all”
pd_description = “Parallel Data for English to Chinese”
pd_fn = “d2l_short_test_sentence_enzh_all.csv”
response_t = translate_client.update_parallel_data( Name=pd_name, # pd_name is the parallel data name Description=pd_description, # pd_description is the parallel data description ParallelDataConfig={ 'S3Uri': 's3://'+S3_BUCKET+'/Paralleldata/'+pd_fn, # S3_BUCKET is the S3 bucket name defined in the previous step 'Format': 'CSV' },
)
print(pd_name, ": ", response_t['Status'], " updated.")
Vi kan tjekke træningsjobbets fremskridt på Amazon Translate-konsollen. Når jobbet er færdigt, vises den parallelle datastatus som Aktiv og er klar til brug.
Kør asynkroniseret batch-oversættelse ved hjælp af parallelle data
Batch-oversættelsen kan udføres i en proces, hvor flere kildedokumenter automatisk oversættes til dokumenter på målsprog. Processen involverer at uploade kildedokumenterne til inputmappen i S3-bøtten og derefter anvende StartTextTranslationJob API af Amazon Translate for at starte et asynkroniseret oversættelsesjob:
Vi valgte fem kildedokumenter på engelsk fra D2L-bogen (D2L-en) til masseoversættelsen. På Amazon Translate-konsollen kan vi overvåge oversættelsesopgavens fremskridt. Når jobstatus ændres til Afsluttet, kan vi finde de oversatte dokumenter på kinesisk (D2L-zh) i S3 bucket output-mappen.
Evaluer oversættelseskvaliteten
For at demonstrere effektiviteten af ACT-funktionen i Amazon Translate anvendte vi også den traditionelle metode med Amazon Translate-realtidsoversættelse uden parallelle data til at behandle de samme dokumenter og sammenlignede outputtet med batchoversættelsesoutputtet med ACT. Vi brugte BLEU-scoren (BiLingual Evaluation Understudy) til at benchmarke oversættelseskvaliteten mellem de to metoder. Den eneste måde at nøjagtigt måle kvaliteten af maskinoversættelsesoutput er at få en ekspertgennemgang og vurdere kvaliteten. BLEU giver dog et skøn over den relative kvalitetsforbedring mellem to output. En BLEU-score er typisk et tal mellem 0-1; den beregner ligheden mellem maskinoversættelsen og referencen for menneskelig oversættelse. Den højere score repræsenterer bedre kvalitet i naturlig sprogforståelse (NLU).
Vi har testet et sæt dokumenter i fire pipelines: engelsk til kinesisk (en til zh), kinesisk til engelsk (zh til en), engelsk til spansk (en til es) og spansk til engelsk (es til en). Den følgende figur viser, at oversættelsen med ACT gav en højere gennemsnitlig BLEU-score i alle oversættelsespipelines.
Vi observerede også, at jo mere granuleret de parallelle datapar er, jo bedre er oversættelsesydelsen. For eksempel bruger vi følgende parallelle datainputfil med par af afsnit, som indeholder 10 poster.
Til det samme indhold bruger vi følgende parallelle datainputfil med sætningspar og 16 poster.
Vi brugte begge parallelle datainputfiler til at konstruere to parallelle dataenheder i Amazon Translate og oprettede derefter to batch-oversættelsesjob med det samme kildedokument. Følgende figur sammenligner outputoversættelserne. Det viser, at outputtet ved hjælp af parallelle data med par af sætninger bedre end det, der brugte parallelle data med par af afsnit, for både engelsk til kinesisk oversættelse og kinesisk til engelsk oversættelse.
Hvis du er interesseret i at lære mere om disse benchmarkanalyser, så se Automatisk maskinoversættelse og synkronisering til "Dyk ind i dyb læring".
Ryd op
For at undgå tilbagevendende omkostninger i fremtiden anbefaler vi, at du rydder op i de ressourcer, du har oprettet:
- På Amazon Translate-konsollen skal du vælge de parallelle data, du har oprettet, og vælge Slette. Alternativt kan du bruge DeleteParallelData API eller AWS kommandolinjegrænseflade (AWS CLI) slet-parallel-data kommando for at slette parallelle data.
- Slet S3-bøtten bruges til at være vært for kilde- og referencedokumenter, oversatte dokumenter og parallelle datainputfiler.
- Slet IAM-rollen og -politikken. For instruktioner, se Sletning af roller eller instansprofiler , Sletning af IAM-politikker.
Konklusion
Med denne løsning sigter vi mod at reducere arbejdsbyrden for menneskelige oversættere med 80 %, samtidig med at oversættelseskvaliteten bevares og flere sprog understøttes. Du kan bruge denne løsning til at forbedre din oversættelseskvalitet og effektivitet. Vi arbejder på yderligere at forbedre løsningsarkitekturen og oversættelseskvaliteten til andre sprog.
Din feedback er altid velkommen; efterlad venligst dine tanker og spørgsmål i kommentarfeltet.
Om forfatterne
Yunfei Bai er Senior Solutions Architect hos AWS. Med en baggrund inden for AI/ML, datavidenskab og analyse hjælper Yunfei kunder med at adoptere AWS-tjenester for at levere forretningsresultater. Han designer AI/ML og dataanalyseløsninger, der overvinder komplekse tekniske udfordringer og driver strategiske mål. Yunfei har en ph.d. i elektronik og elektroteknik. Uden for arbejdet nyder Yunfei at læse og musik.
Rachel Hu er anvendt videnskabsmand ved AWS Machine Learning University (MLU). Hun har ledet et par kursusdesigns, herunder ML Operations (MLOps) og Accelerator Computer Vision. Rachel er en AWS senior taler og har talt ved topkonferencer, herunder AWS re:Invent, NVIDIA GTC, KDD og MLOps Summit. Før hun kom til AWS, arbejdede Rachel som maskinlæringsingeniør ved at bygge naturlige sprogbehandlingsmodeller. Uden for arbejdet nyder hun yoga, ultimativ frisbee, læsning og rejser.
Watson Srivathsan er hovedproduktchef for Amazon Translate, AWS's naturlige sprogbehandlingstjeneste. I weekenderne vil du finde ham udforske naturen i Pacific Northwest.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- EVM Finans. Unified Interface for Decentralized Finance. Adgang her.
- Quantum Media Group. IR/PR forstærket. Adgang her.
- PlatoAiStream. Web3 Data Intelligence. Viden forstærket. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/build-a-multilingual-automatic-translation-pipeline-with-amazon-translate-active-custom-translation/
- :har
- :er
- :hvor
- $OP
- 10
- 100
- 11
- 12
- 14
- 16
- 17
- 7
- a
- Om
- accelerator
- adgang
- tilgængelig
- Konto
- nøjagtighed
- præcist
- opnår
- Lov
- Handling
- aktiv
- adresse
- vedtage
- vedtaget
- Efter
- AI
- AI / ML
- sigte
- Alle
- tillade
- tillader
- sammen
- også
- altid
- Amazon
- Amazon Oversæt
- Amazon Web Services
- an
- Analyser
- analytics
- analysere
- ,
- API'er
- anvendt
- Anvendelse
- arkitektur
- ER
- omkring
- AS
- At
- forfattere
- auto
- Automatisk Ur
- automatisk
- til rådighed
- gennemsnit
- undgå
- AWS
- AWS maskinindlæring
- AWS re: Invent
- baggrund
- baseret
- BE
- været
- før
- benchmark
- BEDSTE
- bedste praksis
- Bedre
- mellem
- bog
- Bøger
- både
- bygge
- Bygning
- bygget
- virksomhed
- by
- beregner
- Cambridge
- CAN
- Carnegie Mellon
- udfordre
- udfordringer
- udfordrende
- Ændringer
- kontrollere
- kinesisk
- Vælg
- kode
- samling
- Kolonne
- KOM
- kommentarer
- sammenlignet
- fuldføre
- komplekse
- computer
- Computer Vision
- gennemført
- konferencer
- Bestående
- består
- Konsol
- konstruere
- indeholder
- indeholder
- indhold
- kontinuerligt
- Omkostninger
- Kursus
- oprettet
- skabelse
- skik
- Kunder
- tilpasse
- tilpassede
- data
- Dataanalyse
- datalogi
- datasæt
- Dato
- dyb
- dyb læring
- definerede
- levere
- demonstrere
- beskrivelse
- udpeget
- designs
- ønskes
- dokumentet
- dokumenter
- køre
- i løbet af
- hver
- effekt
- effektivitet
- effektivitet
- elektronisk
- bestræbe sig
- ingeniør
- Engineering
- Engelsk
- sikre
- enheder
- skøn
- evaluering
- alle
- eksempel
- eksempler
- udførelse
- eksisterende
- ekspert
- Udforskning
- langt
- Feature
- Funktionalitet
- tilbagemeldinger
- få
- Figur
- tal
- File (Felt)
- Filer
- Finde
- Fornavn
- følger
- efter
- Til
- formular
- format
- fire
- fra
- yderligere
- fremtiden
- generere
- genereret
- klasse
- indrømme
- tilskud
- Håndterer
- Have
- he
- hjælper
- høj kvalitet
- højere
- ham
- besidder
- host
- Hvordan
- How To
- Men
- HTML
- http
- HTTPS
- menneskelig
- Identity
- Forbedre
- forbedring
- in
- Herunder
- indlede
- indgang
- instans
- Institut
- anvisninger
- interaktiv
- interesseret
- ind
- IT
- japansk
- Job
- Karriere
- sammenføjning
- jpg
- holdt
- koreansk
- Sprog
- Sprog
- lancere
- førende
- læring
- Forlade
- Line (linje)
- Liste
- maskine
- machine learning
- lavet
- Vedligeholdelse
- lave
- maerker
- ledelse
- leder
- Massachusetts
- Massachusetts Tekniske Institut
- Match
- matematik
- måle
- Mellon
- metode
- metoder
- ML
- MLOps
- model
- modeller
- Overvåg
- mere
- mest
- flere
- Musik
- skal
- navn
- Natural
- Natural Language Processing
- Behov
- behov
- Ny
- nummer
- Nvidia
- målsætninger
- of
- on
- ONE
- online
- kun
- open source
- Produktion
- or
- Andet
- udendørs
- output
- uden for
- Overvind
- Pacific
- par
- par
- Parallel
- gennemløb
- ydeevne
- tilladelse
- Tilladelser
- pipeline
- planer
- plato
- Platon Data Intelligence
- PlatoData
- Vær venlig
- politikker
- politik
- Portugisisk
- Indlæg
- praksis
- forberedt
- præsentere
- tidligere
- Main
- behandle
- Behandlet
- forarbejdning
- produceret
- Produkt
- produktchef
- Progress
- giver
- leverer
- offentlige
- sætte
- pytorch
- kvalitet
- Spørgsmål
- RE
- Læs
- Læsning
- klar
- virkelige verden
- realtid
- anbefaler
- tilbagevendende
- reducere
- relative
- relevant
- repræsenterer
- ressource
- Ressourcer
- svar
- Resultater
- gennemgå
- roller
- roller
- Kør
- sagemaker
- samme
- Videnskab
- Videnskabsmand
- score
- Anden
- Sektion
- sektioner
- segment
- segmenter
- valgt
- senior
- tjeneste
- Tjenester
- sæt
- hun
- vist
- Shows
- Simpelt
- So
- indtil nu
- løsninger
- Løsninger
- Kilde
- Spansk
- Højttaler
- talt
- Stanford
- Stanford University
- Statement
- Status
- Trin
- Steps
- opbevaring
- butik
- Strategisk
- stil
- sådan
- Summit
- Støtte
- synkronisering
- skræddersyet
- mål
- Teknisk
- Teknologier
- tensorflow
- afprøvet
- lærebog
- end
- at
- Fremtiden
- The Source
- verdenen
- derefter
- Disse
- denne
- dem
- tid
- til
- top
- traditionelle
- uddannet
- Kurser
- Oversætte
- Oversættelse
- Traveling
- Stol
- Tsinghua
- tyrkisk
- to
- typisk
- ultimativ
- forståelse
- Universiteter
- universitet
- University of Cambridge
- Opdatering
- opdateret
- opdateringer
- Uploading
- brug
- anvendte
- ved brug af
- udgave
- vietnamesisk
- vision
- Watson
- Vej..
- we
- web
- webservices
- velkommen
- GODT
- hvornår
- som
- mens
- vilje
- med
- uden
- Arbejde
- arbejdede
- arbejder
- world
- skriftlig
- Yoga
- Du
- Din
- zephyrnet