Přeskočit na hlavní obsah
Překladatel
Tato stránka byla automaticky přeložena službou překladu strojů společnosti Microsoft. Dozvědět se více

Blog aplikace Microsoft Translator

Nervové strojové překlady umožňující inovace lidské parity v oblaku

V březnu 2018 jsme Oznámil (Hassan et al. 2018) průlomový výsledek, ve kterém jsme poprvé ukázali systém strojového překladu, který by mohl vykonávat i personální překladatele (v konkrétním scénáři – čínsko-anglický překlad zpráv). Jednalo se o vzrušující průlom v výzkumu strojového překladu, ale systém, který jsme pro tento projekt vybudovali, byl složitý systém výzkumu v těžké váze, který zahrnuje více špičkového technika. Zatímco jsme výstup tohoto systému uvolnìli na několika testovacích sadách, samotný systém nebyl vhodný pro nasazení v reálném čase rozhraní API shluku strojového překladu.

Dnes jsme nadšeni oznamováním dostupnosti naší nejnovější generace modelů nervových strojů. Tyto modely zahrnují většinu dobroty našeho výzkumného systému a jsou nyní k dispozici ve výchozím nastavení při použití rozhraní Microsoft Translator API. Tyto nové modely jsou k dispozici dnes v čínštině, němčině, francouzštině, hindštině, italštině, španělštině, japonštině, korejštině a ruštině, z a do angličtiny. Brzy přijdou další jazyky.

Získávání z výzkumného papíru do shluku API

V uplynulém roce jsme hledali způsoby, jak přinést velkou část kvality našeho systému lidské parity do společnosti Microsoft Převaděče rozhraní API, zatímco nadále nabízí nízkonákladový překlad v reálném čase. Zde jsou některé kroky na této cestě.

Výuka učitelů a studentů

Naším prvním krokem bylo přepnutí do rámce "učitel-student", kde trénoval lehký student v reálném čase, aby napodoboval síť učitelů v těžké váze (Ba a Caruana 2014). To lze provést školením studenta, který není na paralelních údajích, na kterých jsou systémy MT obvykle trénovány, ale na překlady vypracované učitelem (Kim a Rush 2016). Jedná se o jednodušší úkol než o učení se od nezpracovaných dat a umožňuje mělčímu, jednoduššího studenta, aby velmi pozorně sledoval komplexního učitele. Jak by se dalo očekávat, naše počáteční pokusy stále utrpěly kvalitní poklesy od učitele ke studentovi (žádný oběd zdarma!), ale přesto jsme se v rámci WNMT 2018 sdíleli na sdíleném úkolu při účinnějším dekódování (Junczys-Dowmunt et al. 2018a). Z tohoto úsilí byly obzvlášť vzrušující výsledky, protože transformátor (Vaswani et al. 2017) modely a jejich modifikace se dobře hrají s výukou učitelů-studentů a jsou úžasně efektivní při odvození procesoru.

Z těchto počátečních výsledků a po mnoha iteracích jsme objevili recept, který dovoluje našemu jednoduchému studentovi mít téměř stejnou kvalitu jako složitý učitel (někdy je tu koneckonců oběd zdarma?). Nyní jsme mohli svobodně budovat rozsáhlé, složité modely učitelů, abychom maximalizovali kvalitu, aniž bychom si dělali starosti s omezeními v reálném čase (příliš mnoho).

Překladu v reálném čase

Naše rozhodnutí přejít na pedagoga studentský rámec bylo motivováno velkou prací Kim a Rush (2016) pro jednoduché modely založené na RNN. V té chvíli nebylo jasné, zda by vykazované přínosy byly pro modely transformátorů zjevné (viz Vaswani et al. 2017 Podrobnosti o tomto modelu). Rychle jsme však zjistili, že tomu tak skutečně je.

Student transformátoru by mohl použít velmi zjednodušený dekódovací algoritmus (hladové hledání), kde si právě vybereme jediné nejlepší přeložené slovo v každém kroku, nikoli obvyklou metodu (hledání paprsku), která zahrnuje hledání v obrovském prostoru možného Překlady. Tato změna měla minimální dopad na kvalitu, ale vedla k velkému zlepšení rychlosti překladu. Naproti tomu, model učitele by při přechodu z vyhledávání paprsku na chamtivé hledání utrpěl značný pokles kvality.

Zároveň jsme si uvědomili, že místo použití nejnovější architektury nervů (transformátor s vlastní pozorností) v dekodéru by mohl být student upraven tak, aby používal drasticky zjednodušenou a rychlejší opakující se (RNN) architekturu. To je důležité, protože zatímco kodér transformátoru může být vypočítán na celé zdrojové větě paralelně, je cílová věta generována po jednom slově, takže rychlost dekodéru má velký vliv na celkovou rychlost překladu. Ve srovnání s vlastní pozorností redukuje opakovací dekodér algoritmickou složitost z kvadratického na lineární v délce cílové věty. Zejména v nastavení studentů na učitele jsme nespatřili v důsledku těchto úprav žádnou ztrátu kvality, ani pro automatické, ani pro výsledky lidského hodnocení. Několik dalších vylepšení, například sdílení parametrů, vedlo k dalšímu snížení složitosti a zvýšené rychlosti.

Další výhodou rámce pro učitele a studenta jsme byli velmi nadšeni tím, že zlepšení kvality v čase stále rostoucích a měnících se učitelů lze snadno převzít do neměnící se studentské architektury. V případech, kdy jsme v tomto ohledu viděli problémy, mírné zvýšení kapacity studentského modelu by mezeru opět zavřela.

Dvojí učení

Klíčové porozumění za dvojím učením (On et al. 2016) je kontrola, zda uživatelé někdy používají ke kontrole kvality překladu. Předpokládejme, že využíváme online překladače pro přechod z angličtiny na italštinu. Když nebudem číst Italsky, jak můžeme vědět, jestli to udělal dobře? Před klepnutím na tlačítko Odeslat v e-mailu si můžeme zvolit kontrolu kvality překladem italštiny zpět do angličtiny (možná na jiném webu). Pokud se Angličané vrátíme příliš daleko od originálu, je pravděpodobné, že jeden z překladů vyšel z kolejí.

Dvojí učení používá stejný přístup ke studiu dvou systémů (např. Angličtina-> italština a italština-> angličtina), a to pomocí přenosu po kruhové cestě z jednoho systému k bodování, ověření a vyškolování druhého systému.

Dvojí učení bylo významným přispěvatelem našeho výsledku výzkumu v lidské paritě. Při cestě z výzkumného systému k našemu receptu jsme tento přístup široce generalizujeme. Nejen, že jsme spolu spolupracovali na výstupu dvou systémů, také jsme používali stejné kritérium pro filtrování paralelních dat.

Vyčištění nepřesných dat

Strojové překladové systémy jsou trénován na "paralelních datech", tj. dvojicích dokumentů, které jsou vzájemně překlady, v ideálním případě vytvořené lidskou překladatelkou. Jak se ukázalo, tyto paralelní údaje jsou často plné nepřesných překladů. Někdy nejsou tyto dokumenty skutečně rovnoběžné, ale jen uvolněné paraphrázy. Překladatelé se mohou rozhodnout, že opustí nějaký zdroj materiálu nebo vloží další informace. Data mohou obsahovat překlepy, pravopisné chyby a gramatické chyby. Někdy jsou naše algoritmy dolování dat oklamáni podobnými, ale neparalelními daty, nebo dokonce větami v nesprávném jazyce. Nejhorší je, že mnoho webových stránek, které vidíme, je nevyžádaná pošta, nebo vlastně spíše strojový překlad než lidský překlad. Neuronové systémy jsou velmi citlivé na tento druh nepřesnosti dat. Zjistili jsme, že budovy nervových modelů k automatickému identifikování a zbavování se těchto nepřesností daly výrazné zlepšení kvality našich systémů. Náš přístup k filtrování dat vyústil v první místo v WMT18 Parallel corpus filtrování benchmarku (Junczys-Dowmunt 2018a) a pomáhal budovat jeden z nejsilnějších anglicko-německých překladatelských systémů v WMT18 úkol překladu příspěvků (Junczys-Dowmunt 2018b). Používali jsme vylepšenou verzi tohoto přístupu ve výrobních systémech, které jsme dnes propustili.

Fakta reprezentována slovem

Při přesunu výzkumné technologie do výroby se objeví několik problémů reálného světa. Získání čísel, kalendářních dat, časů, velkých písmen, mezer atd., to záleží spíše na výrobě než v systému výzkumu.

Zamyslete se nad výzvou k psaní velkých písmen. Pokud překládáme větu "Sledujte kočičí videa". Víme jak přeložit "kočka". Chtěli bychom přeložit "CAT" stejným způsobem. Ale teď Uvažme "Sledujte americký fotbal". V tomto kontextu nechceme plést slovo "my" a zkratku "USA".

Abychom to zvládli, použili jsme přístup známý jako "factorovaný strojový překlad" (Koehn a Hoang 2007Sennrich a Haddow 2016), který funguje následovně. Namísto jediné číselné reprezentace ("vkládání") pro "Cat" nebo "CAT", se používá více prvků, známých jako "faktory". V tomto případě by primární vložení bylo stejné pro "CAT" a "Cat", ale samostatný faktor by představoval velké písmeno, což by znamenalo, že se jednalo o všechny kapitalizace v jedné instanci, ale malá písmena v druhé. Podobné faktory se používají u zdroje a cílové strany.

Podobné faktory se používají k manipulaci s fragmenty slov a mezer mezi slovy (složitý problém v jazycích s nemezerami nebo polomezerami, jako je čínština, korejština, japonština nebo Thajština).

Faktory také dramaticky zlepšily překlady čísel, což je v mnoha scénářích kritické. Překlad čísla je většinou Algoritmická transformace. Například 1 234 000 lze zapsat jako 12, 34000 v hindštině, 1.234.000 v němčině a 123,4 万 v čínštině. Tradičně jsou čísla reprezentována jako slova, jako skupiny znaků různé délky. To dělá pro strojní učení těžké zjistit algoritmus. Místo toho krmíme každý jednotlivý číselný znak samostatně s faktory označmi začátek a konec. Tento jednoduchý trik robustně a spolehlivě odstranil téměř všechny chyby v překladu čísel.

Rychlejším školením modelu

Když budeme trénovat jeden systém směrem k jedinému cíli, jak jsme udělali pro výzkumný projekt v lidské paritě, očekáváme, že vydáme obrovské množství hardwaru do modelů, které budou muset trénovat celé týdny. Při výcviku modelů výroby pro 20ti jazykové páry se tento přístup stává neudržitelný. Nejen, že potřebujeme rozumný obrat, ale také musíme zmírnit požadavky na hardware. U tohoto projektu jsme provedli řadu zlepšení výkonu Marian NMT (Junczys-Dowmunt et al. 2018b).

Marian NMT je open-source nervová sada nástrojů, na které je založen Překladač Microsoft Translator. Marian je ryzí sada nervových strojů C++ a v důsledku toho je extrémně efektivní, nevyžadující GPUs za běhu a velmi efektivní v době tréninku.

Díky své samostatné povaze je velmi snadné optimalizovat Mariu pro specifické úkoly NMT, což má za následek jednu z nejefektivnějších sad nástrojů NMT dostupných. Prohlédněte si Měřítka. Máte-li zájem o výzkum a vývoj nervových MT, připojte se a Přispěte k obci GitHub.

Naše zlepšení týkající se školení a dekódování s kombinovaným přesným a s rozsáhlým modelovým výcvikem bude brzy zpřístupněné ve veřejném úložišti GitHub.

Jsme nadšeni budoucností překladu nervového stroje. Dále budeme pokračovat v zavádění nové architektury modelu do zbývajících jazyků a Vlastní překladač v tomto roce. Naši uživatelé budou automaticky získat výrazně kvalitnější překlady prostřednictvím Převaděče rozhraní APINaši Překladač aplikací, Microsoft Office a v prohlížeči okrajů. Doufáme, že nová zlepšení pomohou vašemu osobnímu a profesionálnímu životu a těšíme se na vaše názory.

 

Odkazy

  • Jimmy ba a Rich Caruana. 2014. musí být hluboká síť opravdu hluboká? Pokroky v systémech zpracování nervových informací 27. Strany 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 an, Lijun Wu, Shuangzhi Wu, Yingce Xia, Dongdong Zhang, Zhirui Zhang, Ming Zhou. 2018. dosažení lidské parity u automatických čínských na překlad angličtiny. http://arxiv.org/abs/1803.05567
  • On, di a Xia, Yingce a Qin, Tao a Wang, Liwei a Yu, Nenghai a Liu, tie-Yan a ma, Wei-Ying. 2016. duální vzdělávání pro strojový překlad. Pokroky v systémech zpracování nervových informací 29. Strany 820-828. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
  • Marcin Junczys-Dowmunt. 2018a. duální podmíněné křížové entropie filtrování hlučných paralelních korporací. Jednání třetí konference o strojově překladu: dokumenty sdílených úkolů. Belgie, stránky 888-895. https://aclweb.org/anthology/papers/W/W18/W18-6478/
  • Marcin Junczys-Dowmunt. 2018b. žádost společnosti Microsoft o překlad úkolu WMT2018 News: jak jsem se naučil přestat se bát a milovat data. Jednání třetí konference o strojově překladu: dokumenty sdílených úkolů. Belgie, stránky 425-430. https://www.aclweb.org/anthology/W18-6415/
  • Marcin Junczys-Dowmunt, Kenneth Heafield, Hieu Hoang, Roman Grundkiewicz, Anthony Aue. 2018a. Marian: nákladově efektivní překlad nervového stroje v jazyce C++. Řízení 2. dílny o překladu a generaci nervového stroje. Melbourne, Austrálie, str. 129-135. https://aclweb.org/anthology/papers/W/W18/W18-2716/
  • Marcin Junczys-Dowmunt, Roman Grundkiewicz, Tomasz Dwoco, Hieu Hoang, Kenneth Heafield, tom Neckermann, Frank Seide, Ulrich Germann, Alham Fikri Aji, Nikolaj Bogojčov, André F. T. Martins, Alexandra birch. 2018b. Marian: rychlý překlad nervového stroje v jazyce C++. Řízení seznamu ACL 2018, systémové ukázky. Melbourne, Austrálie, str. 116-121. https://www.aclweb.org/anthology/P18-4020/
  • Yoon Kim a Alexander M. Rush. 2016. destilace znalostí na úrovni sekvence. V rámci řízení 2016 konference o empirických metodách v oblasti zpracování přírodního jazyka, EMNLP 2016, Austin, Texas, USA, listopad 1-4, 2016, Pages 1317 – 1327. https://aclweb.org/anthology/papers/D/D16/D16-1139/
  • Philipp Koehn, Hieu Hoang. 2007. promítané modely překladů Jednání společné konference 2007 o empirických metodách při zpracování přirozeného jazyka a výpočetním přírodním jazykovém učení (EMNLP-CoNLL). Praha, ÄŚeskĂ ' republika, str. 868-876. https://www.aclweb.org/anthology/D07-1091/
  • Rico Sennrich, Barry Haddow. 2016 jazykové vstupní funkce zlepšení překladu nervového stroje. Jednání první konference o strojově překladu: svazek 1, výzkumné dokumenty. Berlín, Německo, strany 83-91. https://www.aclweb.org/anthology/W16-2209/
  • Vaswani, Ashish a shazeer, Noam a Parmar, Niki a Uszkoreit, Jakob a Jones, LLEV a Gomez, Aidan N a Kaiser, Lukasz a Polosuchin, illia. 2017. je třeba věnovat pozornost. Pokroky v systémech zpracování nervových informací 30. Strany 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need