Neural Machine oversettelse aktivere Human paritet innovasjoner i skyen
I mars 2018 vi Annonsert (Hassan et al. 2018) et gjennombrudd resultat der vi viste for første gang en Machine Translation system som kan utføre så vel som menneskelige oversettere (i et bestemt scenario-kinesisk-engelsk oversettelse). Dette var et spennende gjennombrudd i Machine Oversettelses forskning, men systemet vi bygget for dette prosjektet var et komplekst, tungt forsknings system, som omfatter flere cutting-edge teknikker. Mens vi sluppet utdataene for dette systemet på flere test sett, systemet selv var ikke egnet for distribusjon i en sanntids maskin oversettelse Cloud API.
I dag er vi glade for å kunngjøre tilgjengeligheten i produksjonen av vår nyeste generasjon av nevrale maskin Translation modeller. Disse modellene innlemme det meste av godhet av vårt forsknings system og er nå tilgjengelig som standard når du bruker Microsoft Translator API. Disse nye modellene er tilgjengelig i dag på kinesisk, tysk, fransk, hindi, italiensk, spansk, japansk, koreansk og russisk, fra og til engelsk. Flere språk kommer snart.
Komme fra Research Paper til Cloud API
I løpet av det siste året har vi vært på utkikk etter måter å bringe mye av kvaliteten på vår menneskelige-paritet system i Microsoft Translator API, mens du fortsetter å tilby lave kostnader sanntid oversettelse. Her er noen av trinnene på den reisen.
Lærer-student opplæring
Vårt første skritt var å bytte til en "Teacher-student" rammeverk, der vi trene en lett Real-Time student å etterligne et tungt lærer nettverk (Ba og Caruana 2014). Dette oppnås ved å trene studenten ikke på parallell data som MT systemer er vanligvis trent på, men på oversettelser produsert av læreren (Kim og Rush 2016). Dette er en enklere oppgave enn å lære fra rådata, og tillater en grunnere, enklere student å nøye følge den komplekse læreren. Som man kunne forvente, våre første forsøk fortsatt LED kvalitet synker fra lærer til student (ingen gratis lunsj!), men vi likevel tok første plass i WNMT 2018 delt oppgave om effektiv dekoding (Junczys-Dowmunt et al. 2018a). Noen spesielt spennende resultater fra dette arbeidet var at transformator (Vaswani et al. 2017) modeller og deres modifikasjoner spille bra med lærer-student trening og er forbløffende effektiv under slutning på CPU.
Lære av disse første resultatene, og etter en rekke gjentakelse oppdaget vi en oppskrift som gjør at våre enkle studenten å ha nesten samme kvalitet som den komplekse læreren (noen ganger er det en gratis lunsj likevel?). Nå var vi fri til å bygge store, komplekse læreren modeller for å maksimere kvalitet, uten å bekymre deg for sanntids begrensninger (for mye).
Real-Time oversettelse
Vår beslutning om å bytte til en lærer-student ramme var motivert av det store arbeidet ved Kim og Rush (2016) for enkle RNN-baserte modeller. På dette tidspunktet var det uklart om de rapporterte fordelene ville manifestere for Transformer modeller i tillegg (se Vaswani et al. 2017 for detaljer om denne modellen). Men vi raskt oppdaget at dette var faktisk tilfelle.
Transformatoren studenten kunne bruke en sterkt forenklet dekoding algoritme (grådig søk) der vi bare plukke singelen best oversatt ord på hvert trinn, i stedet for den vanlige metoden (Beam-søk) som innebærer å søke gjennom den enorme plassen mulig Oversettelser. Denne endringen hadde minimal innvirkning på kvaliteten, men førte til store forbedringer i Oversettelses hastighet. Derimot, en lærer modell ville lide en betydelig nedgang i kvalitet når du bytter fra Beam-søk til grådig-søk.
På samme tid, innså vi at i stedet for å bruke den nyeste neural Architecture (transformator med selv-oppmerksomhet) i dekoderen, kan studenten bli endret til å bruke en drastisk forenklet og raskere tilbakevendende (RNN) arkitektur. Dette betyr noe fordi mens Transformer Encoder kan beregnes over hele kilde setningen parallelt, er målet setning generert et enkelt ord om gangen, slik at hastigheten på dekoderen har en stor innvirkning på den totale hastigheten på oversettelsen. Sammenlignet med selv oppmerksomhet, reduserer den tilbakevendende dekoderen algoritmer kompleksitet fra kvadratisk til lineær i målsetning lengde. Spesielt i læreren-student innstillingen, så vi ingen tap i kvalitet på grunn av disse endringene, verken for automatisk eller for menneskelig evaluering resultater. Flere ytterligere forbedringer som parameter deling førte til ytterligere reduksjoner i kompleksitet og økt hastighet.
En annen fordel med lærer-student rammeverk vi var veldig glade for å se er at kvaliteten forbedringer over tid av stadig voksende og skiftende lærere er lett overføres til en ikke-skiftende student arkitektur. I tilfeller der vi så problemer i denne forbindelse, liten økning i student modell kapasitet ville lukke gapet igjen.
Dobbel læring
Nøkkel innsikten bak dobbel læring (Han et al. 2016) er "rundreise oversettelse" sjekk at folk noen ganger bruker for å sjekke Oversettelses kvalitet. Anta at vi bruker en online oversetter til å gå fra engelsk til italiensk. Hvis vi ikke leser italiensk, hvordan vet vi om det er gjort en god jobb? Før du klikker Sende på en e-post, kan vi velge å sjekke kvaliteten ved å oversette den italienske tilbake til engelsk (kanskje på et annet nettsted). Hvis den engelske vi kommer tilbake har kommet for langt fra originalen, sjansene er en av oversettelsene gikk av skinnene.
Dobbel læring bruker samme tilnærming for å trene to systemer (f. eks engelsk-> italiensk og italiensk-> engelsk) i parallell, ved hjelp av rundtur oversettelse fra ett system til å score, validere og trene det andre systemet.
Dobbel læring var en stor bidragsyter til vår menneske-paritet forskningsresultat. I går fra forskningssystemet til vår produksjon oppskriften, generalisert vi denne tilnærmingen bredt. Ikke bare gjorde vi co-tog par av systemer på hverandres produksjon, vi også brukt samme kriterium for filtrering våre parallelle data.
Rydder opp unøyaktige data
Maskinoversettelsessystemer er opplært på "parallelle data", det vil si par av dokumenter som er oversettelser av hverandre, ideelt sett skapt av en menneskelig oversetter. Som det viser seg, denne parallelle data er ofte full av unøyaktige oversettelser. Noen ganger dokumentene er ikke helt parallelle, men bare løs parafraser av hverandre. Menneskelige oversettere kan velge å utelate noe kildemateriale eller sette inn ytterligere informasjon. Dataene kan inneholde skrivefeil, stavefeil, grammatiske feil. Noen ganger er våre data mining algoritmer lurt av lignende, men ikke-parallelle data, eller til og med setninger på feil språk. Verst av alt, mye av nettsidene vi ser er spam, eller kan faktisk være Maskinoversettelser snarere enn menneskelige oversettelser. Nevrale systemer er svært følsomme for denne typen unøyaktigheter i dataene. Vi fant ut at å bygge nevrale modeller for å automatisk identifisere og kvitte seg med disse unøyaktigheter ga sterke forbedringer i kvaliteten på våre systemer. Vår tilnærming til data filtrering resulterte i det første stedet i WMT18 parallell Corpus Filtering benchmark (Junczys-Dowmunt 2018a) og bidro til å bygge en av de sterkeste engelsk-tyske Oversettelses systemer i WMT18 nyheter oversettelse oppgave (Junczys-Dowmunt 2018b). Vi brukte forbedrede versjoner av denne tilnærmingen i produksjonssystemene vi lanserte i dag.
Beregnet ord representasjoner
Når du flytter en forsknings teknologi til produksjon, oppstår flere utfordringer i den virkelige verden. Få tall, datoer, klokkeslett, store bokstaver, mellomrom, etc. rettsaker mye mer i produksjon enn i et forsknings system.
Vurder utfordringen med kapitalisering. Hvis vi oversette setningen "WATCH CAT videoer her". Vi vet hvordan å oversette "katt". Vi ønsker å oversette "CAT" på samme måte. Men nå vurdere "se amerikansk fotball her". Vi ønsker ikke å forvirre ordet "oss" og akronym "US" i denne sammenheng.
For å håndtere dette, brukte vi en tilnærming kjent som priset maskin oversettelse (Koehn og Hoang 2007, Sennrich og Haddow 2016) som fungerer som følger. I stedet for en enkelt numerisk representasjon ("innebygging") for "katt" eller "CAT", bruker vi flere innebygginger, kjent som "faktorer". I dette tilfellet vil den primære innebygging være den samme for "katt" og "katt", men en egen faktor vil representere kapitalisering, som viser at det var alle-caps i ett tilfelle, men små bokstaver i den andre. Lignende faktorer brukes på kilden og målet side.
Vi bruker lignende faktorer for å håndtere ord fragmenter og mellomrom mellom ord (et komplekst problem i språk som ikke er mellomrom eller halv avstand, for eksempel kinesisk, koreansk, japansk eller Thai).
Faktorer også dramatisk forbedret oversettelse av tall, som er kritisk i mange scenarier. Nummer oversettelse er for det meste en algoritme transformasjon. For eksempel kan 1 234 000 skrives som 12, 34000 på hindi, 1.234.000 på tysk, og 123,4 万 på kinesisk. Tradisjonelt er tall representert som ord, som grupper av tegn av varierende lengde. Dette gjør det vanskelig for maskinlæring å oppdage algoritmen. I stedet mater vi hvert eneste siffer av et tall separat, med faktorer som markerer begynnelse og slutt. Denne enkle knep robust og pålitelig fjernet nesten alle tall-oversettelse feil.
Raskere modell trening
Når vi trener et enkelt system mot et enkelt mål, som vi gjorde for Human-paritet forskningsprosjekt, forventer vi å kaste stort antall hardware på modeller som tar uker å trene. Når du trener produksjonsmodeller for 20 + språk par, blir denne tilnærmingen uholdbar. Ikke bare trenger vi rimelig turn-around ganger, men vi trenger også å moderere vår hardware krav. For dette prosjektet har vi gjort en rekke ytelsesforbedringer for å Marian NMT (Junczys-Dowmunt et al. 2018b).
Marian NMT er åpen kildekode neural MT Toolkit som Microsoft Translator er basert på. Marian er en ren c + + nevrale maskin oversettelse verktøykasse, og som et resultat, ekstremt effektiv, ikke krever GPU under kjøring, og svært effektiv på trening tid
På grunn av sin selvtillit inneholdt naturen, er det ganske enkelt å optimalisere Marian for NMT bestemte oppgaver, som resulterer i en av de mest effektive NMT verktøysett tilgjengelig. Ta en titt på Benchmarks. Hvis du er interessert i neural MT forskning og utvikling, kan du bli med og bidra til samfunnet på GitHub.
Våre forbedringer i forbindelse med blandet presisjon trening og dekoding, samt for stor modell trening vil snart bli gjort tilgjengelig i den offentlige GitHub depotet.
Vi er begeistret for fremtiden for nevrale maskin oversettelse. Vi vil fortsette å rulle ut den nye modellen arkitekturen til de resterende språkene og Tilpasset oversetter gjennom hele dette året. Våre brukere vil automatisk få betydelig bedre kvalitet oversettelser gjennom Translator APIVåre Translator app, Microsoft Office og Edge-nettleseren. Vi håper de nye forbedringene hjelper dine personlige og profesjonelle liv og ser frem til din tilbakemelding.
Referanser
- Jimmy ba og Rich Caruana. 2014. har Deep Nets virkelig trenger å være Deep? Fremskritt i nevrale informasjons behandlingssystemer 27. Sider 2654-2662. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
- Hany Hassan, Anthony Aue, Chang Chen, Vishal Chowdhary, Jonathan Clark, Christian Federmann, Xuedong Huang, Marcin Junczys-Dowmunt, William Lewis, MU Li, Shujie Liu, tie-Yan Liu, Renqian Luo, Arul Menezes, Tao Qin, Frank seide, Xu Tan, Fei Tian, Lijun Wu, Shuangzhi Wu, Yingce Xia, Dongdong Zhang, Zhirui Zhang, Ming Zhou. 2018. oppnå menneskelig paritet på automatisk kinesisk til engelsk News Translation. http://arxiv.org/abs/1803.05567
- Han, di og Xia, Yingce og Qin, Tao og Wang, han og Yu, Nenghai og Liu, tie-Yan og MA, Wei-Ying. 2016. dual Learning for maskin oversettelse. Fremskritt innen nevrale informasjons behandlingssystemer 29. Sider 820-828. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
- Marcin Junczys-Dowmunt. 2018a. dual betinget kryss-entropi filtrering av støyende parallelle corpora. Proceedings av den tredje konferansen om maskin oversettelse: delt oppgave Papers. Belgia, sider 888-895. https://aclweb.org/anthology/papers/W/W18/W18-6478/
- Marcin Junczys-Dowmunt. 2018b. Microsoft ' s innlevering til WMT2018 nyheter oversettelse oppgave: hvordan jeg lærte å slutte å bekymre og Love dataene. Proceedings av den tredje konferansen om maskin oversettelse: delt oppgave Papers. Belgia, sider 425-430. https://www.aclweb.org/anthology/W18-6415/
- Marcin Junczys-Dowmunt, Kenneth Heafield, Hieu Hoang, Roman Grundkiewicz, Anthony Aue. 2018a. Marian: kostnadseffektiv høy kvalitet neural Machine oversettelse i c + +. Proceedings av 2nd workshop om neural Machine oversettelse og generasjon. Melbourne, Australia, sider 129-135. https://aclweb.org/anthology/papers/W/W18/W18-2716/
- Marcin Junczys-Dowmunt, Roman Grundkiewicz, Tomasz Dwojak, Hieu Hoang, Kenneth Heafield, tom Neckermann, Frank seide, Ulrich Germann, Alham Fikri AJI, Nikolay Bogoychev, André F. T. Martins, Alexandra Birch. 2018b. Marian: fast neural Machine oversettelse i c + +. Proceedings av ACL 2018, system demonstrasjoner. Melbourne, Australia, sider 116-121. https://www.aclweb.org/anthology/P18-4020/
- Yoon Kim og Alexander M. rush. 2016. Sequence-Level kunnskap destillasjon. I Proceedings av 2016-konferansen om empiriske metoder i naturlig språkbehandling, EMNLP 2016, Austin, Texas, USA, november 1-4, 2016, sider 1317-1327. https://aclweb.org/anthology/papers/D/D16/D16-1139/
- Philipp Koehn, Hieu Hoang. 2007. priset oversettelse modeller. Proceedings av 2007 felles konferanse om empiriske metoder i naturlig språk prosessering og beregningsorientert naturlig språklæring (EMNLP-CoNLL). Praha, Tsjekkia, sider 868-876. https://www.aclweb.org/anthology/D07-1091/
- Rico Sennrich, Barry Haddow. 2016. språklige input-funksjoner forbedre neural Machine oversettelse. Proceedings av den første konferansen om maskin oversettelse: Volume 1, forskningsartikler. Berlin, Tyskland, sider 83-91. https://www.aclweb.org/anthology/W16-2209/
- Vaswani, Ashish og Shazeer, Noam og PARMAR, Niki og Uszkoreit, Jakob og Jones, Llion og Gomez, Aidan N og Kaiser, Lukasz og Polosukhin, Illia. 2017. oppmerksomhet er alt du trenger. Fremskritt i nevrale informasjons behandlingssystemer 30. Sider 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need