Maskinöversättningssystemet OpenNMT-tf 2.30.0 (Open Neural Machine Translation), som använder maskininlärningsmetoder, har släppts. Koden för modulerna som utvecklats av OpenNMT-tf-projektet är skriven i Python, använder TensorFlow-biblioteket och distribueras under MIT-licensen.
Parallellt utvecklas en version av OpenNMT baserad på PyTorch-biblioteket, vilken skiljer sig åt i nivån av stödda funktioner. Dessutom presenteras OpenNMT baserad på PyTorch som enklare att använda och multimodal, och versionen baserad på TensorFlow noteras som modulär, stabil och möjliggör användning av GPU-funktioner för att accelerera träningsprocessen för neurala nätverk. För att förenkla distributionen av produkten utvecklar projektet också en självförsörjande version av översättaren i C++ — CTranslate2, som använder förtränade modeller utan att vara bunden till ytterligare beroenden.
Modeller har förberetts för engelska, tyska och katalanska; för andra språk kan man självständigt skapa en modell baserad på en datamängd från OPUS-projektet (två filer överförs till systemet för träning - en med meningar på källspråket och den andra med en högkvalitativ översättning av dessa meningar till målspråket).
Projektet utvecklas i samarbete med SYSTRAN, ett företag som specialiserar sig på att skapa verktyg för maskinöversättning, och en grupp Harvard-forskare som utvecklar modeller för mänskliga språk för maskininlärningssystem. Användargränssnittet är så enkelt som möjligt och kräver endast inmatningsfilen med texten och filen för att spara översättningsresultatet. Tilläggssystemet gör det möjligt att implementera ytterligare funktioner baserade på OpenNMT, såsom automatisk referenshantering, textklassificering och generering av undertexter.
I den nya versionen:
- Stöd för TensorFlow 2.11-biblioteket har lagts till, men nya Keras-optimerare stöds ännu inte (kräver att tf.keras.optimizers.legacy-läget används).
- Lade till stöd för den nya grenen av CTranslate2 3.x-motorn, utformad för effektiv exekvering av modeller med "transformer"-arkitekturen.
- Lade till modellträningsparametern pad_to_bucket_boundary för att aktivera ytterligare utfyllnad som justerar bucketstorleken till multiplar av length_bucket_width.
- Integrerat stöd för chrf- och chrf++-mått från SacreBLEU-projektet, som jämför maskinöversättning med referensöversättning från människor.
- Tog bort modellattributet ctranslate2_spec, vilket inte längre används i CTranslate2.
Källa: opennet.ru
