Prevod i omoguce ljudske inovacije u oblaku
U martu 2018 smo objavio je (Hassan Et Al. 2018) rezultat toga gdje smo prvi put prikazivali sistem za prevođenje stroja koji bi mogao obavljati kao i ljudski prevodioci (u određenom scenariju--kineski-engleski prevod). Ovo je bio uzbudljiv proboj u istraživanju prevođenja mašine, ali sistem koji smo izgradili za ovaj projekat bio je kompleksni istraživački sistem u teškoj kategoriji, koji je sadržavao višestruke tehnike rezanja. Dok smo oslobodili izlaz sistema na nekoliko testova, sistem nije bio pogodan za raspoređivanje u realnom vremenu.
Danas smo uzbuđeni da objavimo dostupnost u proizvodnji naše najnovije generacije modela prevođenja nervnih mašina. Ovi modeli inkorporativno većinu dobrote našeg istraživačkog sistema i sada su dostupni po zadanom kada koristite Microsoftov API za prevodioca. Ovi novi modeli su danas dostupni na kineskom, Njemačkom, francuskom, Hindi, talijanskom, španjolskom, japanskom, korejskom i ruskom, od i do engleskog. Uskoro će doći još jezika.
Dobijanje od istraživačkih papira do oblaka API
Tokom protekle godine, tražili smo načine da donesemo mnogo kvaliteta sistema ljudskog bića u Microsoft API za prevodioca, dok nastavljamo s ponuda u realnom vremenu prevod. Evo nekih stepenica na tom putovanju.
Učitelj-učenik obuke
Naš prvi korak je bio prebaciti se na "nastavni-studentski" okvir, gdje obučimo lagani stvarni student koji bi imitiraju učiteljicu u teškoj kategoriji.Ba i Karuana 2014). Ovo je postignuto trenirajući studenta ne na paralelnim podacima da su na MT. sistemi obično obučeni, ali na prijestacijama koje proizvodi nastavnik (Kim i Rush 2016). Ovo je jednostavniji zadatak od učenja iz sirovih podataka, i dopušta plićaku, jednostavnijim učenicima da pažljivo prati kompleksnog učitelja. Kao što bi se moglo očekivati, naši početni pokušaji su još uvijek pretrpjeli kvalitetne kapi od učitelja do učenika (bez besplatnog ručka!), ali smo ipak zauzeli prvo mjesto u WNMT 2018 dijeljeni zadatak o efikasnom dekodiranje (Junczys-Dowmunt Et Al. 2018a). Neki posebno uzbudljiv rezultati tog napora bili su taj transformator (Vaswani Et Al. 2017) modeli i njihove modifikacije dobro se igraju sa učiteljicom-studentskog treninga i zapanjujuce su efikasni u vezi s CPU-om.
Učenje iz ovih početnih rezultata i nakon mnogo ponavljanje otkrili smo recept koji dozvoljava našem običnom studentu da ima skoro isti kvalitet kao i kompleksni učitelj (ponekad ipak postoji besplatan ručak?). Sada smo bili slobodni da izgradimo velike, kompleksne učiteljice na maksimalnoj kvaliteti, bez brige o realnom vremenu.
Prijevod u realnom vremenu
Naša odluka da se prebaci na nastavni studentski okvir motivirana je velikim radom do Kim i Rush (2016) za jednostavni RNN-bazirani modeli. U tom trenutku nije bilo jasno da li će se prijavljene beneficije manifestirati i za transformatore. Vaswani Et Al. 2017 za detalje ovog modela). Međutim, brzo smo otkrili da je to zaista bio slučaj.
Transformator bi mogao koristiti jako pojednostavljeni algoritam za dekodiranje (pohlepnu pretragu) gdje mi samo odaberu jedinu najbolju prevedu riječ na svakom koraku, a ne uobičajeni metod (zrak-pretraživanje) koji uključuje pretraživanje kroz ogroman prostor mogućih prevode. Ova promena je imala minimalni uticaj, ali je dovela do velikih poboljšanja brzine prevoda. Za razliku od toga, model nastavnika bi pretrpeo značajan pad kvaliteta kada bi se prebacili iz zraka u potragu za pohlepnim pretragom.
Istovremeno, mi smo shvatili da bi prije nego što bismo koristili najnoviju neuralnu arhitekturu (transformator) u dekoderu, učenik bi mogao biti modificiran da koristi drastično pojednostavljeni i brži (RNN) arhitekturu. To je važno, jer dok transformator može biti izračunan tokom cijele te presude u paralelnoj rečenici, Ciljna presuda stvara jednu riječ u isto vrijeme, tako da brzina dekodera ima veliki utjecaj na sveukupnu brzinu prevođenja. U poređenju sa samopažnjom, retrenutni dekoder smanjuje algoritamsku kompleksnost od kvadratike do linearnog u dužinu ciljanog cilja. Posebno kod nastavnika-studenata, nismo vidjeli nikakav gubitak kvaliteta zbog ovih modifikacija, niti za automatsko niti za rezultate ljudskih procjena. Nekoliko dodatnih poboljšanja poput podjele parametra dovelo je do daljnjih smanjenja kompleksnosti i povećane brzine.
Još jedna prednost nastavnika-studentskog okvira bili smo veoma uzbuđeni da vidimo da kvalitetna poboljšanja u vremenu ikada rastućeg i mijenjanja nastavnika se lako preveze na nepromjenjljiv studentski arhitektura. U slučajevima kada smo vidjeli probleme u ovom pogledu, blago povećanje kapaciteta učenika bi ponovo zatvoreno.
Dvostruko učenje
Ključni uvid iza dvostrukog učenja (On je Et Al. 2016) provjera "povratnog putovanja" provjere koju ljudi ponekad koriste da provjere kvalitet prevoda. Pretpostavimo da koristimo online prevodioca da idemo sa engleskog na italijansku. Ako ne čitamo italijanski, kako da znamo da li je uradio dobar posao? Prije klika Pošalji na e-pošti, mogli bismo odabrati da provjerimo kvalitet prevođenjem italijanskog nazad na engleski (možda na drugoj web stranici). Ako se Englezi koji su se vratili previše daleko od originala, šanse su da je jedan od prijepreta skrenuo sa pruge.
Dvostruko učenje koristi isti pristup za obuku dva sistema (npr. engleski-italijanski i italijanski--engleski) paralelno, koristeći jednoputni Prevod iz jednog sistema da postigne, potvrdite i trenira drugi sistem.
Dvostruko učenje je bio veliki doprinos našem rezultatu istraživanja u ljudskom paritetu. Od istraživačkih sistema do recepta proizvodnje, generalizirali smo ovaj pristup široko. Ne samo da smo kovozali parove sistema na izlazu, vec smo koristili isti kriterijum za filtriranje nasih paralelnih podataka.
Čistim netačne podatke
Sistemi za prevođenje su obučeni u "paralelnim podacima", odnosno paru dokumenata koji su preprijevi jedni druge, idealno stvoren od strane ljudskog prevodioca. Kako se ispostavilo, paralelni podaci su često puni nepreciznih prijeputa. Ponekad dokumenti nisu zaista paralelni ali samo labavi parafi jedni drugima. Ljudski prevodioci mogu odabrati da ostave neki materijalni materijal ili da umetnu dodatne informacije. Podaci mogu sadržavati typos, gramatike, gramatičke greške. Ponekad se naši podaci rudarski algoritmi zavaravaju sličnim, ali neparalelnim podacima, ili čak po rečju na pogrešnom jeziku. Najgore od svega, mnogo web stranica koje vidimo su spam, ili su možda u stvari preprijeti mašine, a ne preprijeti ljudi. Neuralni sistemi su veoma osjetljivi na ovu vrstu nepreciznosti u podacima. Našli smo da se neuronski modeli automatski identifikuju i da se otarase tih netačnosti daju snažne poboljšanja kvaliteta naših sistema. Naš pristup filtriranja podataka rezultirao je prvim mjestom u WMT18 paralelna oznaka za filtriranje Corpus (Junczys-Dowmunt 2018a) i pomogao izgraditi jedan od najsnažnijih engleskih-njemačkih sustava za prevođenje u WMT18 informativni zadatak Prevod (Junczys-Dowmunt 2018b). Koristili smo poboljšane verzije ovog pristupa u proizvodnim sistemima koje smo danas pustili.
Riječi
Kada premještaju istraživačku tehnologiju u proizvodnju, pojavi se nekoliko stvarnih izazova. Dobijanje brojeva, datuma, vremena, kapitalizacije, razmak, itd. prava stvar je mnogo više u proizvodnji nego u istraživačkom sistemu.
Razmotrite izazov kapitalizacije. Ako prevodim presudu "Gledajte video mačke ovdje". Znamo kako da prevedemo "mačka". Želimo prevesti "CAT" na isti način. Ali sada smatraj "gledaj nas nogomet ovdje". Ne želimo da zbunimo reč "mi" i akronim "nas" u ovom kontekstu.
Da bi se izborili sa ovim, koristili smo pristup poznat pod "Faktom"Koehn i Hoang 2007, Sennrich i Haddow 2016) koji radi kako slijedi. Umjesto jedne numerične zastupljenosti ("ugrađivanje") za "mačka" ili "mačka", mi koristimo višestruke empte, poznate kao "faktori". U ovom slučaju, primarna posteljina bi bila ista za "mačka" i "mačka", ali bi jedan poseban faktor predstavljao kapitalizaciju, pokazujući da je sve to bilo u jednom slučaju, ali malo u drugom. Slični faktori se koriste na izvoru i na ciljnu stranu.
Mi koristimo slične faktore da se izborimo sa djelićem riječi i razmak između riječi (kompleksno pitanje u nespacingu ili poluspacenskim jezicima poput kineskog, Korejskog, japanskog ili tajlandskog).
Faktori su također dramatično poboljšali Prijevod brojeva, što je presudno u mnogim scenarijima. Prevođenje broja je uglavnom algoritamska transformacija. Na primjer, 1.234.000 može biti napisano kao 12, 34000 na Hindi, 1.234.000 na njemačkom, i 123,4 万 na kineskom. Tradicionalno, brojevi su zastupljeni kao riječi, kao grupe znakova različitih dužina. Zato je teško da mašina nauči da otkrije algoritam. Umjesto toga, hranimo svaki broj odvojeno, sa faktorima koji označavaju početak i kraj. Ovaj jednostavni trik je robusno i pouzdano uklonio skoro sve greške u prevođenju brojeva.
Brže trening modela
Kada obučimo jedan sistem za jedan cilj, kao što smo uradili za istraživački projekt, očekujemo da bacamo ogroman broj hardvera na modele kojima je potrebno nedeljama da trenira. Kada obuku modela za 20 + jezičkih parova, ovaj pristup postaje neodrljiv. Ne samo da nam treba razumno skretanje vremena, već moramo i da umerimo naše hardverske zahtjeve. Za ovaj projekat, napravili smo veliki broj poboljšanja performansi za Marian NMT (Junczys-Dowmunt Et Al. 2018b).
Marian NMT je alatka za neuralno napajanje na otvorenom. Marian je čista C++ neuronska alatna mašina, i kao rezultat, ekstremno efikasno, ne traži GPUs u Runtime, i vrlo efikasno u vremenu obuke.
Zbog svoje samosadržane prirode, vrlo je lako Optimizirati Marian za NMT konkretne zadatke, koji rezultira jednim od najefikasnijih alatnih alata za NMT. Pogledaj u ciljeva. Ako ste zainteresirani za istraživanje i razvoj nervnih planina, pridružite se i doprinosimo zajednica na Githubu.
Naša poboljšanja vezana za miješane vježbe i dekodiranje, kao i za veliki model obuke će uskoro biti dostupna u javnom mjestu.
Uzbuрeni smo zbog buduжnosti prevođenja neuralne maљine. Nastavit ćemo sa novim modelom arhitekture na preostale jezike i Korisnički prilagođeni prevodilac tokom ove godine. Naši korisnici će automatski dobiti značajno bolje prijevoje u API za prevodiocaNaš Aplikacija za prevođenje, Microsoft Office i preglednik Ivica. Nadamo se da će nova poboljšanja pomoći vašim ličnim i profesionalnim životima i radovati se vašim povratkom.
Reference
- Jimmy ba i Rich Caruana. 2014. da li duboke mreže stvarno moraju biti duboke? Napredak u sistemima za obradu neuro informacija 27. Stranice 2654-2662. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
- Hejni Hassan, Anthony Aue, Chang Chen, Višal Chowdhary, Jonathan Clark, Christian Federmann, Xuedong Huang, Marcin Junczys-Dowmunt, William Lewis, mu li, Shujie Liu, Tie-Yan Liu, Renqian Luo, Arul Menez, Tao Qin, Frank Seide, Ksu Tan, Fei Tian, Lijun Wu, Shuangzhi Wu, Yingce Xia, Dongdong Zhang, Zhirui Zhang, Ming Zhou. 2018. postizanje ljudskog pariteta na automatsko prevođenje na engleskom. http://arxiv.org/abs/1803.05567
- On, Di i Xia, Yingce i Qin, Tao i Wang, Liwei i Yu, Nenghai i Liu, Tie-Yan i Ma, Wei-Ying. 2016. dvostruko učenje za prevođenje stroja. Napredak u sistemima za obradu neuro informacija 29. Stranice 820-828. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
- Marcin Junczys-Dowmunt. 2018a. dupli uslovni Prekoentropija filtriranje bučne paralelne korporacije. Postupak treće konferencije o prevođenju mašine: dijeljenim zadacima za zadatke. Belgija, stranice 888-895. https://aclweb.org/anthology/papers/W/W18/W18-6478/
- Marcin Junczys-Dowmunt. "2018b. Microsoft se pokori za WMT2018 News zadatak: kako sam naučio prestati brinuti i voljeti podatke. Postupak treće konferencije o prevođenju mašine: dijeljenim zadacima za zadatke. Belgija, stranice 425-430. https://www.aclweb.org/anthology/W18-6415/
- Marcin Junczys-Dowmunt, Kenneth Heafield, Hieu Hoang, roman Grundkiewicz, Anthony Aue. 2018a. u C++. Postupak u drugoj radionici na prevodu nervne mašine. Melbourne, Australija, stranice 129-135. https://aclweb.org/anthology/papers/W/W18/W18-2716/
- Marcin Junczys-Dowmunt, roman Grundkiewicz, Tomasz Dwojak, Hoang, Kenneth Heafield, tom Loermann, Frank Seid, Ulrich Germann, Alham Fikri aji, Nikolay Bogoychev, Andre F. T. Martins, Alexandra Birch. 2018b. prevod brze masine u C++. Proces ACL 2018, demonstracije sistema. Melbourne, Australija, stranice 116-121. https://www.aclweb.org/anthology/P18-4020/
- Yoon Kim i Alexander M. Rush. 2016. U postupku 2016 konferencije o empirijskom metodima u obradi prirodnog jezika, EMNIMP 2016, Austin, Texas, sad, novembar 1-4, 2016, stranice 1317 – 1327. https://aclweb.org/anthology/papers/D/D16/D16-1139/
- Philipp Koehn, Hieu Hoang. 2007. Postupak na 2007 zajedničkoj konferenciji o Empirijskim metodama u obradi prirodnog jezika i Učesničkog prirodnog jezika učenja (EMNLP-CoNLL). Prag, Češka Republika, stranice 868-876. https://www.aclweb.org/anthology/D07-1091/
- Rico Sennrich, Barry Haddow. 2016. lingvističko ulazne funkcije poboljšavaju prevođenje nervnih mašina. Postupak prve konferencije o prevođenju stroja: broj 1, istraživački papiri. Berlin, Njemačka, stranice 83-91. https://www.aclweb.org/anthology/W16-2209/
- Vaswani, Ashish i Shazeer, Noam i Parmar, Niki i Uszkorel, Jakob i Džons, Llion i Gomez, Ejdan N i Kajzer, Lukasz i Polosukhin, Illia. 2017. pažnja je sve što vam treba. Napredovanje u sistemima za obradu neuro informacija 30. Stranice 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need