Neuronowe mašininis vertimas leidžianti žmogaus pariteto naujovės debesis
Kovo 2018 mes Paskelbė (Hassan et al. 2018) persilaužimo rezultatas, kai mes parodė pirmą kartą mašininio vertimo sistema, kuri galėtų atlikti taip pat žmogaus vertėjai (konkrečiu atveju-kinų-anglų naujienų vertimas). Tai buvo jaudinantis persilaužimas mašininio vertimo tyrimuose, tačiau sistema, kurią mes sukūrėme šiam projektui, buvo kompleksinė, sunkaus svorio tyrimų sistema, turinti kelis pažangiausius metodus. Nors mes išleidome šios sistemos produkciją į keletą bandymų rinkinių, pati sistema nebuvo tinkama dislokuotis realiu laiku kompiuterinio vertimo debesis API.
Šiandien mes džiaugiamės galėdami pranešti, gamybos mūsų naujausios kartos neuroninių mašininio vertimo modelių prieinamumą. Šie modeliai apima didžiąją dalį mūsų mokslinių tyrimų sistemos gėris ir dabar galima pagal nutylėjimą, kai naudojate Microsoft Translator API. Šie nauji modeliai yra prieinami šiandien kinų, vokiečių, prancūzų, hindi, italų, ispanų, japonų, korėjiečių ir rusų, iš ir į anglų. Netrukus bus daugiau kalbų.
Pirmieji iš mokslinių tyrimų popieriaus debesis API
Per pastaruosius metus, mes jau ieškome būdų, kaip pasiekti, kad daug mūsų žmogaus pariteto sistemos kokybę į "Microsoft" Translator API, o toliau siūlyti nebrangias realaus laiko vertimo paslaugas. Štai keletas žingsnių, kad kelionė.
Mokytojų ir studentų mokymas
Mūsų pirmasis žingsnis buvo pereiti prie "mokytojas-studentas" sistemą, kurioje mes traukinys lengvas realaus laiko studentas imituojantis Sunkiasvorio mokytojų tinklas (Ba ir Caruana 2014). Tai pasiekiama mokant studentą ne lygiagrečiai duomenis, kad MT sistemos paprastai yra mokomi, bet vertimai gaminami mokytojas (Kim ir skubėti 2016). Tai paprastesnis uždavinys, nei mokytis iš pirminių duomenų, ir leidžia shallower, paprasčiau studentas labai atidžiai sekti sudėtingą mokytoją. Kaip galima tikėtis, mūsų pradiniai bandymai dar patyrė kokybės lašai iš mokytojo į studentą (ne nemokamai pietūs!), tačiau mes vis dėlto užėmė pirmąją vietą WNMT 2018 bendra užduotis dėl efektyvaus dekodavimo (Junczys-dowmunt et al. 2018a). Kai kurie ypač įdomių rezultatų iš šios pastangos buvo, kad transformatorius (Vaswani et al. 2017) modeliai ir jų pakeitimai žaisti gerai su mokytojų ir studentų mokymo ir yra stulbinantis efektyvus per išvadą dėl CPU.
Mokymasis iš šių pradinių rezultatų ir po daug iteracijos mes atrado receptą, kuris leidžia mūsų paprastas studentas turi beveik tą pačią kokybę, kaip sudėtingas mokytojas (kartais yra nemokama pietūs juk?). Dabar mes buvome laisvi statyti didelius, sudėtingus mokytojų modelius, siekiant maksimaliai padidinti kokybę, nesirūpindami realiu laiku apribojimų (per daug).
Realaus laiko Vertimas
Mūsų sprendimas pereiti prie mokytojų ir studentų sistemos buvo motyvuotas dideliu darbo Kim ir skubėti (2016) paprastiems RNN modeliams. Tuo metu buvo neaišku, ar gauta nauda būtų akivaizdi ir transformatorių modeliams (žr. Vaswani et al. 2017 daugiau informacijos apie šį modelį). Tačiau mes greitai atradome, kad tai iš tiesų buvo atvejis.
Transformatorius studentas galėtų naudoti labai supaprastinta dekodavimo algoritmas (gobšus paieška), kur mes tiesiog pasirinkti vieną geriausią išverstą žodį kiekviename žingsnyje, o ne įprastu būdu (šviesų paieška), kuri apima paiešką per milžinišką erdvę galima Vertimai. Šis pokytis turėjo minimalų kokybės poveikį, tačiau lėmė didelių patobulinimų vertimo greičiu. Priešingai, mokytojo modelis nukentėtų nuo žymaus kokybės kritimo, kai perėjimas nuo šviesos paieškos prie gobšus paieška.
Tuo pačiu metu, mes supratome, kad, o ne naudojant naujausią neuronowe architektūra (transformatorius su savęs dėmesio) ir dekoderis, studentas gali būti pakeistas naudoti drastiškai supaprastinta ir greičiau pasikartojantis (RNN) architektūra. Tai svarbu, nes nors transformatorius Encoder gali būti apskaičiuojamas per visą šaltinį sakinys lygiagrečiai, tikslinės sakinys generuoja vieną žodį vienu metu, todėl iš dekoderio greitis turi didelį poveikį bendram vertimo greičiu. Palyginti su savęs dėmesio, pasikartojantis dekoderis sumažina algoritminės sudėtingumo nuo kvadratinės iki linijinio į tikslinės sakinio ilgį. Ypač mokytojų ir mokinių aplinkoje mes nematėme kokybės praradimo dėl šių pakeitimų, nei dėl automatinių, nei dėl žmonių vertinimo rezultatų. Keli papildomi patobulinimai, pvz., parametrų bendrinimas, lėmė tolesnį sudėtingumo mažinimą ir didesnį greitį.
Kitas mokytojų ir studentų sistemos privalumas mums buvo labai malonu matyti tai, kad kokybės patobulinimai laikui bėgant vis didėjančią ir besikeičiančios mokytojai yra lengvai perkeliami į nekeičiančios studentų architektūros. Tais atvejais, kai mes matėme problemų šiuo klausimu, šiek tiek padidėjo studentų modelio pajėgumai vėl būtų uždaryti spragą.
Dvejopas mokymasis
Pagrindinės įžvalgos apie dvigubą mokymąsi (Jis et al. 2016) ar "kelionės pirmyn ir atgal vertimas" tikrina, ar žmonės kartais naudoja vertimo kokybei patikrinti. Tarkime, mes naudojame internete vertėjas eiti iš anglų į italų. Jei mes neturime skaityti italų, kaip mes žinome, jei tai padaryti gerą darbą? Prieš spustelėdami Siųsti dėl elektroninio pašto, mes galime pasirinkti patikrinti kokybę verčiant italų atgal į anglų (gal kitą svetainę). Jei anglų mes grįžti nuklydo per toli nuo originalo, šansai yra vienas iš vertimų praėjo bėgiai.
Dvigubas mokymasis naudoja tą patį požiūrį į traukinį dviejų sistemų (pvz., anglų-> italų ir italų-> anglų) lygiagrečiai, naudojant kelionės pirmyn ir atgal iš vienos sistemos į balą, patvirtinti ir mokyti kitos sistemos.
Dvejopas mokymasis buvo pagrindinis mūsų žmogiškojo ir pariteto tyrimo rezultatas. Vykdami iš mokslinių tyrimų sistemos į mūsų gamybos receptas, mes apibendrinti šį požiūrį plačiai. Mes ne tik bendrai mokyti porų sistemų viena kitos produkcija, mes taip pat naudojamas tas pats kriterijus filtravimo mūsų lygiagrečiai duomenis.
Netikslius duomenis
Mašininio vertimo sistemos yra apmokytos "lygiagrečiais duomenimis", t. y. viena kitos vertimai, kuriuos idealiai sukūrė žmogiškojo vertėjo dokumentai. Kaip paaiškėja, tai lygiagrečiai duomenys dažnai pilna netikslūs vertimai. Kartais dokumentai nėra tikrai lygiagrečios, bet tik laisvi Perfrazuoja vieni kitus. Žmonių vertėjai gali pasirinkti palikti tam tikrą žaliavą arba įterpti papildomos informacijos. Duomenys gali būti klaidų, rašybos klaidų, gramatines klaidas. Kartais mūsų duomenų gavybos algoritmai yra supainiojo panašūs, bet ne lygiagrečiai duomenis, ar net sakinius klaidingą kalbą. Blogiausia, kad interneto puslapiuose mes matome daug spam, arba iš tikrųjų gali būti mašininio vertimo, o ne žmogaus vertimai. Neuronowe sistemos yra labai jautrūs šios netikslumo tipo duomenų. Mes nustatėme, kad pastato Neuroniniai modeliai automatiškai nustatyti ir atsikratyti šių netikslumų buvo labai pagerėjo mūsų sistemų kokybę. Mūsų požiūris į duomenų filtravimą pirmą kartą buvo atliktas WMT18 lygiagrečiai Corpus filtravimo etalonas (Junczys-dowmunt 2018a) ir padėjo sukurti vieną iš stipriausių anglų-vokiečių kalbų vertimo sistemų WMT18 Naujienos vertimo užduotis (Junczys-dowmunt 2018b). Mes panaudojame patobulintas šio metodo versijas gamybos sistemose, kurias mes išleidome šiandien.
Factored Word atstovybės
Perkeliant mokslinių tyrimų technologiją į gamybą, iškyla keletas realių iššūkių. Pirmieji skaičiai, datos, laikai, didžiųjų raidžių rašymas, tarpai ir t.t. teisės yra daug daugiau gamybos nei mokslinių tyrimų sistemoje.
Apsvarstykite kapitalizacijos iššūkis. Jei mes verčiame sakinys "WATCH CAT VIDEOS čia". Mes žinome, kaip išversti "katė". Mes norėtume išversti "CAT" taip pat. Bet dabar apsvarstyti "Watch US Soccer čia". Mes nenorime painioti žodžio "mus" ir akronimas "JAV" šiame kontekste.
Norėdami išspręsti šią, mes panaudojame požiūris žinomas kaip atsižvelgti mašininio vertimo (Koehn ir Hoang 2007, Sennrich ir Haddow 2016), kuri veikia taip: Vietoj vieno skaitmeninio atvaizdavimo (įdėjimas) "Cat" arba "CAT", mes naudojame kelis embeddings, žinomas kaip "veiksniai". Šiuo atveju pirminis įdėjimas būtų tas pats "katė" ir "katė", bet atskiras veiksnys būtų atstovauti kapitalizacija, rodo, kad tai buvo visų didžiųjų raidžių vienoje instancijoje, o kita mažosios raidės. Panašūs faktoriai yra naudojami šaltinio ir tikslinės pusėje.
Mes naudojame panašius veiksnius, Norėdami tvarkyti žodžių fragmentus ir tarpus tarp žodžių (kompleksinė problema ne tarpai arba tarpai tarp kalbų, pavyzdžiui, kinų, korėjiečių, japonų arba tajų).
Veiksniai taip pat žymiai pagerino vertimo skaičių, kuris yra labai svarbus daugelyje scenarijų. Skaičius vertimas yra daugiausia algoritminės transformacijos. Pavyzdžiui, 1 234 000 gali būti parašyta kaip 12, 34000 hindi, 1.234.000 vokiečių kalba, ir 123,4 万 kinų kalba. Tradiciškai, skaičiai yra atstovaujama kaip žodžiai, kaip grupių simbolių įvairaus ilgio. Tai sunku mašininio mokymosi atrasti algoritmą. Vietoj to, mes pašarų kiekvieną skaitmenį skaičių atskirai, su veiksniais žymėjimo pradžios ir pabaigos. Šis paprastas fokusas tvirtai ir patikimai pašalina beveik visas numerių vertimo klaidas.
Greitesnis modelis mokymo
Kai mes mokymo viena sistema link vieno tikslo, kaip mes padarėme dėl žmogaus-pariteto mokslinių tyrimų projektą, mes tikimės, kad mesti didelį skaičių įrangos modelių, kurie užtrukti savaites traukiniu. Kai mokymo gamybos modeliai 20 + kalbų porų, šis metodas tampa neužtikrinti. Mums reikia ne tik pagrįstų savo ruožtu, bet taip pat turime moderti mūsų techninės įrangos poreikius. Šiam projektui mes padarėme keletą efektyvumo patobulinimų, Marian NMT (Junczys-dowmunt et al. 2018b).
Marian NMT yra atviro kodo Neural MT Toolkit, kad Microsoft Translator yra pagrįstas. Marian yra grynas C++ neuronų mašina vertimo Toolkit, ir, kaip rezultatas, labai efektyvus, nereikia GPU vykdymo metu, ir labai efektyvus ne mokymo metu
Dėl savo įmontuotu pobūdį, tai yra gana lengva optimizuoti Marian už NMT konkrečias užduotis, kurios sukelia vienas iš efektyviausių NMT komplektus prieinama. Pažvelkite į Gaires. Jei jus domina Neural MT mokslinių tyrimų ir plėtros, prašome prisijungti ir prisidėti prie bendruomenė dėl GitHub.
Mūsų patobulinimai dėl mišrių tiksliųjų mokymo ir dekodavimo, taip pat didelių pavyzdinių mokymų netrukus bus prieinami visuomenės GitHub saugykloje.
Mes džiaugiamės apie neuroninio mašininio vertimo ateitį. Mes ir toliau bus įdiegti naują modelį architektūros likusių kalbų ir Individualizuotos Vertėjas ištisus metus. Mūsų vartotojai automatiškai gaus žymiai kokybiškesnį vertimą per Translator APIMūsų Translator App, "Microsoft Office" ir "Edge" naršyklė. Tikimės, kad naujieji patobulinimai padės jūsų asmeniniam ir profesiniam gyvenimui ir laukiame jūsų atsiliepimų.
Nuorodos
- Jimmy ba ir Rich Caruana. 2014. ar Deep Nets tikrai reikia būti gilus? Pažanga neuronowe informacijos tvarkymo sistemų 27. Puslapiai 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 Čin, Frank Seide, Xu Tan, Fei Tian, Lijun Wu, Shuangzhi Wu, Yingce Xia, Dongdong Zhang, Zhirui Zhang, Ming Zhou. 2018. pasiekti žmogaus lyginumo dėl Automatinis kinų į anglų Naujienos vertimas. http://arxiv.org/abs/1803.05567
- Jis, di ir Xia, Yingce ir Qin, Tao ir Wang, Liwei ir Yu, Nenghai ir Liu, tie-Yan ir ma, Wei-Ying. 2016. dvigubas mokymasis mašininio vertimo. Pažanga neuronowe informacijos apdorojimo sistemos 29. Puslapiai 820-828. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
- Marcin Junczys-dowmunt. 2018a. dviguba sąlyginė kryžminė Entropija filtravimas Noisy lygiagrečiai corpora. Trečiojo konferencijos dėl mašininio vertimo procedūra: bendri užduočių dokumentai. Belgija, puslapiai 888-895. https://aclweb.org/anthology/papers/W/W18/W18-6478/
- Marcin Junczys-dowmunt. 2018b. Microsoft pateikimo WMT2018 Naujienos vertimo užduotis: kaip aš sužinojau, kad nerimauti ir meilė duomenys. Trečiojo konferencijos dėl mašininio vertimo procedūra: bendri užduočių dokumentai. Belgija, puslapiai 425-430. https://www.aclweb.org/anthology/W18-6415/
- Marcin Junczys-dowmunt, Kenneth Heafield, Hieu Hoang, Roman Grundkiewicz, Anthony Aue. 2018a. Marian: rentabilus aukštos kokybės nervinių mašinų vertimas c + +. Byla dėl 2-ojo seminaro neuroninių mašinų vertimo ir kartos. Melburnas, Australija, puslapiai 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 beržo. 2018b. Marian: Greita neuronowe mašina vertimo c + +. Byla ACL 2018, sistemos demonstracijos. Melburnas, Australija, puslapiai 116-121. https://www.aclweb.org/anthology/P18-4020/
- Yoon Kim ir Aleksandras M. skubėti. 2016. sekos lygio žinių distiliavimas. Byloje 2016 konferencija empirinių metodų natūralios kalbos apdorojimas, EMNLP 2016, Austin, Teksasas, JAV, lapkritis 1-4, 2016, puslapiai 1317 – 1327. https://aclweb.org/anthology/papers/D/D16/D16-1139/
- Philipp Koehn, Hieu Hoang. 2007. faktored vertimo modeliai. 2007 Jungtinės konferencijos empiriniais metodais natūralios kalbos apdorojimo ir kompiuterinės natūralios kalbos mokymosi procesuose nagrinėjimas (EMNLP-CoNLL). Praha, Čekija, puslapiai 868-876. https://www.aclweb.org/anthology/D07-1091/
- Rikas Sennrich, Barry Haddow. 2016. kalbų įvesties funkcijos pagerinti neuronowe mašininis vertimas. Pirmosios konferencijos dėl mašininio vertimo procedūra: 1 tomas, mokslo darbai. Berlynas, Vokietija, puslapiai 83-91. https://www.aclweb.org/anthology/W16-2209/
- Vaswani, Ashish ir shazeer, Noam ir Parmar, Niki ir Uszkoreit, Jakob ir Jones, Llion ir Gomez, Aidan N ir Kaiser, Lukasz ir Polosukhin, Illia. 2017. dėmesys yra viskas, kas jums reikia. Pažanga neuronowe informacijos apdorojimo sistemų 30. Puslapiai 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need