Jak již proběhlo médii, překladač CUBBITT dokázal překládat novinové články v kvalitě srovnatelné s běžnými lidskými překladateli. Podle výsledků zaslepeného testu byly překladu CUBBIT hodnoceny jako sice méně plynulé, ale zato přesnější. Na vývoji překladače se podílí Martin Popel z Ústavu formální a aplikované lingvistiky MFF UK, hlavní autor článku na toto téma publikovaného v Nature Communications.
Popel M. et. al.: Nature Communication, 2020, DOI: 10.1038/s41467-020-18073-9
https://www.nature.com/articles/s41467-020-18073-9
Základní fakta o překladači obsahuje tisková zpráva MFF UK: Překladač z Matfyzu dohání v kvalitě běžné překladatele
Na vývoj překladače se dále podílejí vědci z Google Brain a z University of Oxford.
Jedna z nových myšlenek, díky které překladač dosáhl výrazného zlepšení oproti předchozím verzím, spočívala ve způsobu, jakým byla neuronové sítí při trénování střídavě předkládána autentická a syntetická paralelní data (páry českých vět a jejich automatických překladů do angličtiny).
V následujícím rozhovoru odpovídá Mgr. Martin Popel, Ph.D. na několik upřesňujících otázek:
Často zmiňovaná hardwarová náročnost neuronových sítí platí ve vašem případě pouze pro fázi učení, nebo i samotného provozu? Využíváte nějaké speciální GPU nebo tenzorové procesory? (TPU)
Nejnáročnější je opravdu fáze trénování neuronové sítě. Já jsem ji trénoval několik týdnů na osmi GPU kartách (GTX 1080 Ti): Konečná fáze trvala 8 dní, ale tomu předcházely dvě fáze, kdy jsem připravoval lepší trénovací data (tzv. syntetická) a po každé trénovací fázi bylo potřeba ještě přeložit asi jeden milion slov. K překladům jsem využíval výpočetní cluster LINDAT/CLARIAH-CZ, a to jak GPU, tak CPU (podle aktuálně volné kapacity).
Překlad z angličtiny do češtiny na lindat.cz/cubbitt nyní běží na jedné GPU kartě. Původně běžel jen na CPU s rychlostí asi 1 věta (průměrné délky 15 slov) za sekundu. Rychlost je vyšší, když se překládá více vět naráz (třeba 32 vět).
Tenzorové procesory (TPU od Googlu) jsem nezkoušel, ale bylo by možné je použít i k trénování i k překladu.
Myslíte, že tento typ aplikace je vhodný k tomu, aby někdy běžel v mobilu, nebo spíše to bude vždy provozováno na serveru (nejen z hlediska samotného výkonu, ale dále vyžívaných sad dat)?
Můj současný model není vhodný pro současné mobily. Natrénovaný model má přes 200 milionů parametrů.
Existují ale techniky, kterými je možné model zmenšit (tzv. vydestilovat z něj menší model) a zrychlit, aniž by se příliš snížila kvalita překladu. V nedávném experimentu s kolegy z Edinburské university se nám podařilo překlad asi 20krát zrychlit, přičemž kvalita překladu (podle metriky BLEU) se snížila o pouhá 4 %.
Takovýto model by už mohl být použit i na moderních chytrých telefonech. V rámci projektu Bergamot (https://browser.mt/) se moji kolegové z Matfyzu snaží zprovoznit můj překladač přímo v prohlížeči Firefox.
Pro úplnost dodávám, že překladače od Microsoftu či Googlu umožňují offline překlad na mobilech již nějakou dobu. Kvalita bývá ale výrazně nižší než při zapnutých datech.
Je to tak, že pro jakoukoliv dvojici jazyků se vaším postupem vygenerujete překladač stejně a jeho kvalita je tedy závislá jen na množství spárovaných vět, které jsou k dispozici? Nebo to v průběhu učení neuronové sítě ještě nějak ručně ladíte, pro každou dvojici jazyků třeba jinak apod.?
Překladač mohu natrénovat pro libovolný pár jazyků, pro který mám dost trénovacích dat. Neuronová síť se sama naučí specifika daných jazyků, základní architekturu sítě není potřeba výrazně upravovat (pro menší trénovací data se vyplatí použít menší model a změnit pár hyperparametrů trénování).
Kvalita překladu pak závisí nejen na množství dat, ale i na jejich kvalitě. Důležitou součástí mé práce tedy je čištění trénovacích dat – musím odfiltrovat věty, které jsou třeba v jiném jazyce nebo se nejedná o dobré překlady.
Při trénování překladače pak pravidelně měřím kvalitu překladu a občas se i dívám na přeložené věty, abych získal nějaký vhled do toho, jakých chyb se překladač dopouští. Podle toho pak mohu upravit hyperparametry trénování nebo složení trénovacích dat.
Pro některé jazyky je pak výhodné znát jejich základní vlastnosti, třeba pro japonštinu rozdíl mezi písmy hiragana, katakana a kandži a rozdíl mezi písmem poloviční a plné šířky.
Samotná znalost daného cizího jazyka není pro natrénování neuronového překladače nezbytná (natrénoval jsem například anglicko-francouzský a anglicko-polský překladač, aniž bych uměl francouzsky a polsky), i když se může někdy hodit.
Jak plánujete překladač dále využívat, myslím i obchodně? Jednáte o licencování?
Překladač chceme zachovat na adrese lindat.cz/cubbitt dostupný pro osobní nekomerční použití. Zároveň jednáme s několika firmami o komerčním použití. Osobně se chci zaměřit spíš na další výzkum a vývoj překladače, obchodní záležitosti rád přenechám jiným kolegům.
Myslíte, že by byl váš překladač dobře použitelný i pro knihy typu pop science, přičemž výsledný text by pak vyžadoval ne víc než běžnou redakci (která se provádí i po lidském překladateli)?
Kvalita překladu má mnoho složek. My jsme v naší evaluaci rozlišovali dvě základní: přesnost překladu (zachování významu) a plynulost (jak dobře to zní v cílovém jazyce bez ohledu na zdrojový).
Při překladu novinových článků byl hodnocen strojový překlad jako mírně přesnější, ale méně plynulý než lidský překlad.
Překlad beletrie jsme sice nevyhodnocovali, ale je jasné, že je mnohem náročnější (i pro lidské překladatele) a strojový překlad by tam byl výrazně horší.
Překlad populárně naučných knih je sice někde na rozmezí, ale i tak si myslím, že by současný automatický překlad vyžadoval více než běžnou redakci. To ale neznamená, že by nešel použít pro urychlení celého procesu.
Jak se stalo, že jste dokázali vytvořit kvalitnější nástroj, než je např. Google Translator?
Je třeba zdůraznit, že překladač CUBBITT jsem nevynalezl celý sám, ale navázal jsem na dosavadní výzkum publikovaný vědci z akademické sféry, ale i firem jako Google a Microsoft.
CUBBITT znamená „Charles University Block-Backtranslation-Improved Transformer Translation“, přičemž architektura Transformer, která způsobila převrat v oblasti hlubokého učení, byla vynalezena a publikována vědci z Googlu. Dva z nich jsou spoluautory článku o CUBBITTu.
Můj přínos je zejména v metodě Block-backtranslation. Ta je teď publikovaná (článek v Nature Communications je open access, tedy zdarma), takže ji může použít kdokoliv – pro jakýkoliv jazykový pár. Pro úspěch anglicko-českého překladu byl ještě podstatný paralelní korpus CzEng, tedy databáze anglických vět a jejich českých překladů. Korpus CzEng budujeme s kolegy z Ústavu formální a aplikované lingvistiky už přes deset let a poskytujeme ho zdarma pro nekomerční výzkumné účely.
Pro velké firmy samozřejmě není z ekonomického hlediska anglicko-český překlad tak důležitý jako překlad do čínštiny, němčiny, francouzštiny apod. I velké firmy se musejí rozhodovat, pro které jazyky nasadí nové technologie nejdřív a pro které jazyky až později. Předpokládám, že vliv na to nemá jen ekonomické hledisko, ale i otázka prestiže a aktuální konkurence. V této souvislosti bych rád zmínil, že překonat kvalitu Google Translate se našemu týmu z Matfyzu podařilo již v roce 2013, byť tenkrát byl náš překladač založen na zcela jiných principech než dnešní CUBBITT. (podrobnosti Tech.ihned.cz)
Překladač je dostupný na adrese https://lindat.cz/cubbitt. Překladač CUBBIT zde kromě anglicko-českého překladu zajišťuje překlad z češtiny do angličtiny a překlad mezi angličtinou a francouzštinou (v obou směrech). Další kombinace zajišťuje jiný typ překladače s nižší kvalitou.