Overslaan naar hoofdinhoud
Translator
Deze pagina is automatisch vertaald door de machine vertaalservice van Microsoft Translator. Meer informatie

Microsoft Translator Blog

Neurale machine vertaling waardoor menselijke pariteit innovaties in de Cloud

In maart 2018 we Aangekondigd (Hassan et al. 2018) een doorbraak resultaat waar we toonden voor de eerste keer een machine translation systeem dat zowel kunnen presteren als menselijke vertalers (in een specifiek scenario-Chinees-Engels Nieuws vertaling). Dit was een spannende doorbraak in machine translation onderzoek, maar het systeem dat we gebouwd voor dit project was een complex, zwaargewicht onderzoeksysteem, waarin meerdere Cutting-Edge technieken. Terwijl we de output van dit systeem vrijgegeven op verschillende testsets, het systeem zelf was niet geschikt voor implementatie in een real-timemachine Translation Cloud API.

Vandaag zijn wij opgewekt om de beschikbaarheid in productie van onze recentste generatie van neurale machine Vertaal modellen aan te kondigen. Deze modellen nemen het grootste deel van de goedheid van ons onderzoeksysteem op en zijn nu beschikbaar door gebrek wanneer u de Microsoft Vertaler API gebruikt. Deze nieuwe modellen zijn vandaag beschikbaar in het Chinees, Duits, Frans, Hindi, Italiaans, Spaans, Japans, Koreaans en Russisch, van en naar het Engels. Meer talen komen binnenkort.

Vervoer van onderzoek papier naar Cloud API

In het afgelopen jaar zijn we op zoek naar manieren om een groot deel van de kwaliteit van onze mens-pariteit systeem te brengen in de Microsoft Translator API, terwijl de lage-kosten real-time vertaling te bieden. Hier zijn enkele van de stappen op die reis.

Docent-student training

Onze eerste stap was om over te schakelen naar een "Teacher-Student" kader, waar we trainen een lichtgewicht real-time student aan een zwaargewicht leraar netwerk na te bootsen (BA en Caruana 2014). Dit wordt verwezenlijkt door de student niet op de parallelle gegevens te trainen dat de systemen van MT gewoonlijk worden opgeleid, maar op vertalingen die door de leraar worden geproduceerd (Kim en Rush 2016). Dit is een eenvoudiger taak dan het leren van ruwe gegevens, en laat een ondiepere, eenvoudiger student om zeer nauwlettend volgen van de complexe leraar. Zoals men zou kunnen verwachten, onze eerste pogingen nog steeds geleden kwaliteit druppels van leraar naar student (geen gratis lunch!), maar we toch nam de eerste plaats in de WNMT 2018 gedeelde taak op efficiënte decodering (Junczys-Dowmunt et al. 2018a). Sommige bijzonder opwindende resultaten van deze inspanning waren dat transformator (Deutekom et al. 2017) modellen en hun wijzigingen spelen goed met leraar-student opleiding en zijn verbazingwekkend efficiënt tijdens de gevolgtrekking op de CPU.

Leren van deze eerste resultaten en na veel iteratie ontdekten we een recept dat onze eenvoudige student in staat stelt om bijna dezelfde kwaliteit als de complexe leraar hebben (soms is er een gratis lunch na al?). Nu waren we vrij om grote, complexe leraren modellen te bouwen om de kwaliteit te maximaliseren, zonder zorgen te maken over real-time beperkingen (te veel).

Real-time vertaling

Onze beslissing om over te schakelen naar een leerkracht-student kader werd gemotiveerd door het grote werk van Kim en Rush (2016) voor eenvoudige RNN-gebaseerde modellen. Op dat moment was het onduidelijk of de gerapporteerde voordelen zou manifesteren voor transformator modellen en (Zie Deutekom et al. 2017 voor meer informatie over dit model). We hebben echter al snel ontdekt dat dit inderdaad het geval was.

De transformator student kan gebruik maken van een sterk vereenvoudigd decodeer algoritme (gulzig zoeken) waar we gewoon de single best vertaalde woord te halen bij elke stap, in plaats van de gebruikelijke methode (Beam-zoeken), die gaat zoeken door de enorme ruimte van mogelijke Translations. Deze verandering had een minimale kwaliteits impact, maar leidde tot grote verbeteringen in de Vertaal snelheid. Daarentegen, een leraar model zou lijden een significante daling van de kwaliteit bij het overschakelen van Beam-zoeken naar gulzige-zoeken.

Tezelfdertijd realiseerden wij dat eerder dan het gebruiken van de recentste neurale architectuur (transformator met zelf-aandacht) in de decoder, de student zou kunnen worden gewijzigd om een drastisch vereenvoudigde en snellere terugkerende (RNN) architectuur te gebruiken. Dit is belangrijk omdat terwijl de transformator encoder kan worden berekend over de hele bron zin in parallel, de doelgroep zin wordt gegenereerd een enkel woord op een moment, dus de snelheid van de decoder heeft een grote impact op de algehele snelheid van de vertaling. Vergeleken met zelf-aandacht, de terugkerende decoder vermindert algoritmische complexiteit van kwadratische tot lineair in de doelstelling zin lengte. Vooral in de leerkracht-student setting, zagen we geen verlies in kwaliteit als gevolg van deze wijzigingen, noch voor automatische noch voor de menselijke evaluatieresultaten. Verscheidene extra verbeteringen zoals het delen van de parameters leidden tot verdere vermindering van ingewikkeldheid en verhoogde snelheid.

Een ander voordeel van de Teacher-Student Framework we waren erg opgewonden om te zien is dat de kwaliteit verbeteringen in de tijd van de steeds groeiende en veranderende docenten zijn gemakkelijk overgedragen aan een niet-veranderende student architectuur. In gevallen waarin we zagen problemen in dit verband, lichte stijging van de student model capaciteit zou de kloof weer dicht.

Dubbel leren

Het belangrijkste inzicht achter Dual Learning (Hij et al. 2016) is de "round-trip vertaling" te controleren dat mensen soms gebruiken om de vertaling kwaliteit te controleren. Stel dat we een online vertaler gebruiken om van Engels naar Italiaans te gaan. Als we niet lezen Italiaans, hoe weten we of het een goede baan gedaan? Voordat u op Verzenden op een e-mail, kunnen we ervoor kiezen om de kwaliteit te controleren door het vertalen van de Italiaanse terug naar het Engels (misschien op een andere website). Als het Engels krijgen we terug is afgedwaald te ver van het origineel, de kans groot dat een van de vertalingen ging uit de rails.

Het dubbele leren gebruikt de zelfde benadering om twee systemen (b.v. Engels-> Italiaans en Italiaans-> Engels) parallel te trainen, gebruikend de round-trip vertaling van één systeem om te scoren, te valideren en het andere systeem op te leiden.

Dual Learning was een belangrijke bijdrage aan ons menselijk-pariteit onderzoekresultaat. In het gaan van het onderzoeksysteem naar ons productie recept, veralgemeenden wij deze benadering ruim. Niet alleen hebben we co-trein paren van systemen op elkaars output, gebruikten we ook hetzelfde criterium voor het filteren van onze parallelle gegevens.

Opruimen onjuiste gegevens

Machine translation systemen zijn opgeleid op "parallelle data", dat wil zeggen paren van documenten die zijn vertalingen van elkaar, idealiter gemaakt door een menselijke vertaler. Zo blijkt, is deze parallelle gegevens vaak vol van onjuiste vertalingen. Soms zijn de documenten niet echt parallel, maar alleen losse parafrasen van elkaar. Menselijke vertalers kunnen ervoor kiezen om een bronmateriaal te verlaten of extra informatie in te voegen. De gegevens kunnen typfouten, spelfouten, grammaticale fouten bevatten. Soms zijn onze data mining algoritmen voor de gek gehouden door soortgelijke, maar niet-parallelle gegevens, of zelfs door zinnen in de verkeerde taal. Het ergste van alles, veel van de webpagina's die we zien zijn spam, of kan in feite worden machinevertalingen in plaats van menselijke vertalingen. Neurale systemen zijn zeer gevoelig voor dit soort onnauwkeurigheid in de gegevens. We vonden dat de bouw van neurale modellen om automatisch te identificeren en te ontdoen van deze onnauwkeurigheden gaf sterke verbeteringen in de kwaliteit van onze systemen. Onze aanpak van data filtering resulteerde in de eerste plaats in de WMT18 parallelle corpus filtering benchmark (Junczys-Dowmunt 2018a) en hielp een van de sterkste Engels-Duitse vertaalsystemen te bouwen in de WMT18 Nieuws Vertaling taak (Junczys-Dowmunt 2018b). We gebruikten verbeterde versies van deze aanpak in de productiesystemen die we vandaag vrijgegeven.

Factored woord vertegenwoordigingen

Bij het verplaatsen van een onderzoek technologie naar de productie, een aantal Real-World uitdagingen ontstaan. Het krijgen van aantallen, datums, tijden, kapitalisatie, regelafstand, enz. het recht is veel meer in productie dan in een onderzoeksysteem.

Overweeg de uitdaging van kapitalisatie. Als we het vertalen van de zin "WATCH CAT VIDEO'S hier". We weten hoe te vertalen "Cat". We zouden willen vertalen "CAT" op dezelfde manier. Maar nu overwegen "Watch US Soccer hier". We willen niet het woord "ons" en de afkorting "ons" in deze context verwarren.

Om dit te behandelen, gebruikten wij een benadering die als factored machine vertaling wordt bekend (Koehn en Hoang 2007Sennrich en Hassan 2016) die als volgt werkt. In plaats van een enkele numerieke representatie ("inbedding") voor "Cat" of "CAT", gebruiken we meerdere inbeddingen, bekend als "factoren". In dit geval zou de primaire inbedding hetzelfde zijn voor "CAT" en "Cat", maar een aparte factor zou vertegenwoordigen de kapitalisatie, waaruit blijkt dat het all-caps in een geval, maar kleine letters in de andere. De gelijkaardige factoren worden gebruikt op de bron en de doel kant.

Wij gebruiken gelijkaardige factoren om woord fragmenten en afstand tussen woorden (een complexe kwestie in niet-tussenruimte of semi-afstands talen zoals Chinees, Koreaan, Japanner of Thai) te behandelen.

Factoren ook drastisch verbeterde vertaling van nummers, die kritisch is in vele scenario's. De vertaling van het aantal is meestal een algoritmische transformatie. Bijvoorbeeld, 1.234.000 kan worden geschreven als 12, 34000 in het Hindi, 1.234.000 in het Duits, en 123,4 万 in het Chinees. Traditioneel worden getallen weergegeven als woorden, als groepen van tekens van verschillende lengte. Dit maakt het moeilijk voor machine leren om het algoritme te ontdekken. In plaats daarvan, voeden wij elk enkel cijfer van een aantal afzonderlijk, met factoren die begin en eind merken. Deze eenvoudige truc stevig en betrouwbaar verwijderde bijna alle aantal-vertaalfouten.

Snellere model training

Als we de opleiding van een enkel systeem naar een enkel doel, zoals we deden voor de Human-pariteit onderzoeksproject, verwachten we grote aantallen hardware te gooien op modellen die weken duren om te trainen. Bij de opleiding van de productie modellen voor 20 + taalparen, deze aanpak wordt onhoudbaar. Niet alleen hebben we behoefte aan redelijke turn-around tijden, maar we moeten ook onze hardware-eisen matigen. Voor dit project hebben we een aantal prestatieverbeteringen aangebracht om Marian NMT (Junczys-Dowmunt et al. 2018b).

Marian NMT is de open-source neurale MT Toolkit dat Microsoft Translator is gebaseerd op. Marian is een pure c + + neurale machine translation Toolkit, en, als gevolg daarvan, uiterst efficiënt, niet vereist Gpu's bij runtime, en zeer efficiënt in training tijd

Vanwege zijn self-contained aard, is het vrij eenvoudig te optimaliseren Marian voor NMT specifieke taken, wat resulteert in een van de meest efficiënte NMT toolkits beschikbaar. Neem een kijkje op de Benchmarks. Als u geïnteresseerd bent in neurale MT onderzoek en ontwikkeling, u deelnemen en bijdragen aan de Gemeenschap op github.

Onze verbeteringen met betrekking tot Mixed-Precision training en decodering, evenals voor grote model training zal binnenkort beschikbaar worden gesteld in de openbare github repository.

We zijn enthousiast over de toekomst van de neurale machine vertaling. We zullen de nieuwe model architectuur blijven uitrollen naar de overige talen en Aangepaste vertaler gedurende dit jaar. Onze gebruikers krijgen automatisch de vertalingen van aanzienlijk betere kwaliteit door de Translator APIOnze Translator app, Microsoft Office en de Edge-browser. We hopen dat de nieuwe verbeteringen helpen uw persoonlijke en professionele leven en kijken uit naar uw feedback.

 

Verwijzingen

  • Jimmy BA en rijke Caruana. 2014. moeten diepe netten echt diep zijn? Vooruitgang in neurale informatieverwerking systemen 27. Pagina's 2654-2662. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
  • Hany Hassan, Anthony Aue, Chang Chen, Vishal Jorn, Jonathan Clark, Christian Federmann, Xuedong Huang, Marcin Junczys-Dowmunt, William Lewis, MU Li, Regine Liu, tie-Yan Liu, Renqian Luo, Dagobert Menezes, Tao Qin, Frank Rooney, Xu Tan, Fei Tian, Lijun Wu, Shuangzhi Wu, Yingce Xia, Dongdong Zhang, Zhirui Zhang, Ming Zhou. 2018. het bereiken van menselijke pariteit op automatische Chinees aan Engelse nieuws vertaling. http://arxiv.org/abs/1803.05567
  • Hij, di en Xia, Yingce en Qin, Tao en Wang, Liwei en Yu, Nenghai en Liu, tie-Yan en ma, Wei-Ying. 2016. dubbel leren voor automatische vertaling. Vooruitgang in neurale informatie verwerkingssystemen 29. Pagina's 820-828. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
  • Marcin Junczys-Dowmunt. 2018a. Dual voorwaardelijke cross-entropie filtering van luidruchtige parallelle corpora. Werkzaamheden van de derde conferentie over machine vertaling: gedeelde taak documenten. België, pagina's 888-895. https://aclweb.org/anthology/papers/W/W18/W18-6478/
  • Marcin Junczys-Dowmunt. 2018b. Microsoft's indiening bij de WMT2018 Nieuws Vertaling taak: hoe ik geleerd om te stoppen zorgwekkend en hou van de gegevens. Werkzaamheden van de derde conferentie over machine vertaling: gedeelde taak documenten. België, pagina's 425-430. https://www.aclweb.org/anthology/W18-6415/
  • Marcin Junczys-Dowmunt, Kenneth Heafield, van de Grundkiewicz van de roman, Anthony Aue. 2018a. Marian: kosteneffectieve hoge kwaliteit neurale machine vertaling in C++. Proceedings van de 2de workshop over neurale machine vertaling en generatie. Melbourne, Australië, pagina's 129-135. https://aclweb.org/anthology/papers/W/W18/W18-2716/
  • Marcin Junczys-Dowmunt, roman Grundkiewicz, Tomasz Dwojak, de familie van de Heafield, Neckermann Fikri, Nikolaj Rooney, André F. T. Martins, Alexandra Birch, Peter Alham 2018b. Marian: snelle neurale machine vertaling in C++. Proceedings van ACL 2018, systeem demonstraties. Melbourne, Australië, pagina's 116-121. https://www.aclweb.org/anthology/P18-4020/
  • Robert en Alexander M. Rush. 2016. sequentie-niveau kennis destillatie. In Proceedings van de 2016 conferentie over empirische methoden in natuurlijke taalverwerking, EMNLP 2016, Austin, Texas, USA, november 1-4, 2016, pagina's 1317 – 1327. https://aclweb.org/anthology/papers/D/D16/D16-1139/
  • Philipp Koehn, het Hoang van de. 2007. factored Vertaal modellen. Proceedings van de 2007 gezamenlijke conferentie over empirische methoden in natuurlijke taalverwerking en computationele Natural Language Learning (EMNLP-CoNLL). Praag, Tsjechische Republiek, pagina's 868-876. https://www.aclweb.org/anthology/D07-1091/
  • Rico Sennrich, Barry Hassan. 2016. taalkundige input functies verbeteren neurale machine vertaling. Werkzaamheden van de eerste conferentie over machine translation: deel 1, research papers. Berlijn, Duitsland, pagina's 83-91. https://www.aclweb.org/anthology/W16-2209/
  • Van der Wal, Ashish en shazeer, Noam en Parmar, Niki en Uszkoreit, Jakob en Jones, Llion en Gomez, Aidan N en Kaiser, Lukasz en Polosukhin, Illia. 2017. aandacht is alles wat je nodig hebt. Vooruitgang in neurale informatieverwerking systemen 30. Pagina's 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need