--- library_name: transformers language: - de - en - es - fr - lt - lv - prg - pt - sgs tags: - translation - opus-mt-tc-bible license: apache-2.0 model-index: - name: opus-mt-tc-bible-big-deu_eng_fra_por_spa-bat results: - task: name: Translation deu-lit type: translation args: deu-lit dataset: name: flores200-devtest type: flores200-devtest args: deu-lit metrics: - name: BLEU type: bleu value: 22.6 - name: chr-F type: chrf value: 0.54957 - task: name: Translation eng-lit type: translation args: eng-lit dataset: name: flores200-devtest type: flores200-devtest args: eng-lit metrics: - name: BLEU type: bleu value: 27.7 - name: chr-F type: chrf value: 0.59338 - task: name: Translation fra-lit type: translation args: fra-lit dataset: name: flores200-devtest type: flores200-devtest args: fra-lit metrics: - name: BLEU type: bleu value: 22.3 - name: chr-F type: chrf value: 0.54683 - task: name: Translation por-lit type: translation args: por-lit dataset: name: flores200-devtest type: flores200-devtest args: por-lit metrics: - name: BLEU type: bleu value: 22.6 - name: chr-F type: chrf value: 0.55033 - task: name: Translation spa-lit type: translation args: spa-lit dataset: name: flores200-devtest type: flores200-devtest args: spa-lit metrics: - name: BLEU type: bleu value: 16.9 - name: chr-F type: chrf value: 0.50725 - task: name: Translation deu-lav type: translation args: deu-lav dataset: name: flores101-devtest type: flores_101 args: deu lav devtest metrics: - name: BLEU type: bleu value: 24.4 - name: chr-F type: chrf value: 0.54724 - task: name: Translation eng-lav type: translation args: eng-lav dataset: name: flores101-devtest type: flores_101 args: eng lav devtest metrics: - name: BLEU type: bleu value: 31.0 - name: chr-F type: chrf value: 0.59955 - task: name: Translation eng-lit type: translation args: eng-lit dataset: name: flores101-devtest type: flores_101 args: eng lit devtest metrics: - name: BLEU type: bleu value: 27.2 - name: chr-F type: chrf value: 0.58961 - task: name: Translation fra-lav type: translation args: fra-lav dataset: name: flores101-devtest type: flores_101 args: fra lav devtest metrics: - name: BLEU type: bleu value: 24.2 - name: chr-F type: chrf value: 0.54276 - task: name: Translation fra-lit type: translation args: fra-lit dataset: name: flores101-devtest type: flores_101 args: fra lit devtest metrics: - name: BLEU type: bleu value: 22.4 - name: chr-F type: chrf value: 0.54665 - task: name: Translation spa-lav type: translation args: spa-lav dataset: name: flores101-devtest type: flores_101 args: spa lav devtest metrics: - name: BLEU type: bleu value: 17.8 - name: chr-F type: chrf value: 0.50131 - task: name: Translation deu-lav type: translation args: deu-lav dataset: name: ntrex128 type: ntrex128 args: deu-lav metrics: - name: BLEU type: bleu value: 16.8 - name: chr-F type: chrf value: 0.47980 - task: name: Translation deu-lit type: translation args: deu-lit dataset: name: ntrex128 type: ntrex128 args: deu-lit metrics: - name: BLEU type: bleu value: 17.6 - name: chr-F type: chrf value: 0.50645 - task: name: Translation eng-lav type: translation args: eng-lav dataset: name: ntrex128 type: ntrex128 args: eng-lav metrics: - name: BLEU type: bleu value: 20.6 - name: chr-F type: chrf value: 0.51026 - task: name: Translation eng-lit type: translation args: eng-lit dataset: name: ntrex128 type: ntrex128 args: eng-lit metrics: - name: BLEU type: bleu value: 21.5 - name: chr-F type: chrf value: 0.54187 - task: name: Translation fra-lav type: translation args: fra-lav dataset: name: ntrex128 type: ntrex128 args: fra-lav metrics: - name: BLEU type: bleu value: 15.5 - name: chr-F type: chrf value: 0.45346 - task: name: Translation fra-lit type: translation args: fra-lit dataset: name: ntrex128 type: ntrex128 args: fra-lit metrics: - name: BLEU type: bleu value: 16.2 - name: chr-F type: chrf value: 0.48870 - task: name: Translation por-lav type: translation args: por-lav dataset: name: ntrex128 type: ntrex128 args: por-lav metrics: - name: BLEU type: bleu value: 17.3 - name: chr-F type: chrf value: 0.47809 - task: name: Translation por-lit type: translation args: por-lit dataset: name: ntrex128 type: ntrex128 args: por-lit metrics: - name: BLEU type: bleu value: 17.5 - name: chr-F type: chrf value: 0.50653 - task: name: Translation spa-lav type: translation args: spa-lav dataset: name: ntrex128 type: ntrex128 args: spa-lav metrics: - name: BLEU type: bleu value: 17.1 - name: chr-F type: chrf value: 0.47690 - task: name: Translation spa-lit type: translation args: spa-lit dataset: name: ntrex128 type: ntrex128 args: spa-lit metrics: - name: BLEU type: bleu value: 17.1 - name: chr-F type: chrf value: 0.50412 - task: name: Translation deu-lit type: translation args: deu-lit dataset: name: tatoeba-test-v2021-08-07 type: tatoeba_mt args: deu-lit metrics: - name: BLEU type: bleu value: 39.8 - name: chr-F type: chrf value: 0.65379 - task: name: Translation eng-lav type: translation args: eng-lav dataset: name: tatoeba-test-v2021-08-07 type: tatoeba_mt args: eng-lav metrics: - name: BLEU type: bleu value: 46.4 - name: chr-F type: chrf value: 0.68823 - task: name: Translation eng-lit type: translation args: eng-lit dataset: name: tatoeba-test-v2021-08-07 type: tatoeba_mt args: eng-lit metrics: - name: BLEU type: bleu value: 39.8 - name: chr-F type: chrf value: 0.67792 - task: name: Translation multi-multi type: translation args: multi-multi dataset: name: tatoeba-test-v2020-07-28-v2023-09-26 type: tatoeba_mt args: multi-multi metrics: - name: BLEU type: bleu value: 43.3 - name: chr-F type: chrf value: 0.68018 - task: name: Translation spa-lit type: translation args: spa-lit dataset: name: tatoeba-test-v2021-08-07 type: tatoeba_mt args: spa-lit metrics: - name: BLEU type: bleu value: 43.3 - name: chr-F type: chrf value: 0.68133 - task: name: Translation eng-lav type: translation args: eng-lav dataset: name: newstest2017 type: wmt-2017-news args: eng-lav metrics: - name: BLEU type: bleu value: 21.5 - name: chr-F type: chrf value: 0.53192 - task: name: Translation eng-lit type: translation args: eng-lit dataset: name: newstest2019 type: wmt-2019-news args: eng-lit metrics: - name: BLEU type: bleu value: 18.3 - name: chr-F type: chrf value: 0.51714 --- # opus-mt-tc-bible-big-deu_eng_fra_por_spa-bat ## Table of Contents - [Model Details](#model-details) - [Uses](#uses) - [Risks, Limitations and Biases](#risks-limitations-and-biases) - [How to Get Started With the Model](#how-to-get-started-with-the-model) - [Training](#training) - [Evaluation](#evaluation) - [Citation Information](#citation-information) - [Acknowledgements](#acknowledgements) ## Model Details Neural machine translation model for translating from unknown (deu+eng+fra+por+spa) to Baltic languages (bat). This model is part of the [OPUS-MT project](https://github.com/Helsinki-NLP/Opus-MT), an effort to make neural machine translation models widely available and accessible for many languages in the world. All models are originally trained using the amazing framework of [Marian NMT](https://marian-nmt.github.io/), an efficient NMT implementation written in pure C++. The models have been converted to pyTorch using the transformers library by huggingface. Training data is taken from [OPUS](https://opus.nlpl.eu/) and training pipelines use the procedures of [OPUS-MT-train](https://github.com/Helsinki-NLP/Opus-MT-train). **Model Description:** - **Developed by:** Language Technology Research Group at the University of Helsinki - **Model Type:** Translation (transformer-big) - **Release**: 2024-05-30 - **License:** Apache-2.0 - **Language(s):** - Source Language(s): deu eng fra por spa - Target Language(s): lav lit prg sgs - Valid Target Language Labels: >>lav<< >>lit<< >>ndf<< >>olt<< >>prg<< >>prg_Latn<< >>sgs<< >>svx<< >>sxl<< >>xcu<< >>xgl<< >>xsv<< >>xzm<< - **Original Model**: [opusTCv20230926max50+bt+jhubc_transformer-big_2024-05-30.zip](https://object.pouta.csc.fi/Tatoeba-MT-models/deu+eng+fra+por+spa-bat/opusTCv20230926max50+bt+jhubc_transformer-big_2024-05-30.zip) - **Resources for more information:** - [OPUS-MT dashboard](https://opus.nlpl.eu/dashboard/index.php?pkg=opusmt&test=all&scoreslang=all&chart=standard&model=Tatoeba-MT-models/deu%2Beng%2Bfra%2Bpor%2Bspa-bat/opusTCv20230926max50%2Bbt%2Bjhubc_transformer-big_2024-05-30) - [OPUS-MT-train GitHub Repo](https://github.com/Helsinki-NLP/OPUS-MT-train) - [More information about MarianNMT models in the transformers library](https://huggingface.co/docs/transformers/model_doc/marian) - [Tatoeba Translation Challenge](https://github.com/Helsinki-NLP/Tatoeba-Challenge/) - [HPLT bilingual data v1 (as part of the Tatoeba Translation Challenge dataset)](https://hplt-project.org/datasets/v1) - [A massively parallel Bible corpus](https://aclanthology.org/L14-1215/) This is a multilingual translation model with multiple target languages. A sentence initial language token is required in the form of `>>id<<` (id = valid target language ID), e.g. `>>lav<<` ## Uses This model can be used for translation and text-to-text generation. ## Risks, Limitations and Biases **CONTENT WARNING: Readers should be aware that the model is trained on various public data sets that may contain content that is disturbing, offensive, and can propagate historical and current stereotypes.** Significant research has explored bias and fairness issues with language models (see, e.g., [Sheng et al. (2021)](https://aclanthology.org/2021.acl-long.330.pdf) and [Bender et al. (2021)](https://dl.acm.org/doi/pdf/10.1145/3442188.3445922)). ## How to Get Started With the Model A short example code: ```python from transformers import MarianMTModel, MarianTokenizer src_text = [ ">>lav<< Replace this with text in an accepted source language.", ">>sgs<< This is the second sentence." ] model_name = "pytorch-models/opus-mt-tc-bible-big-deu_eng_fra_por_spa-bat" tokenizer = MarianTokenizer.from_pretrained(model_name) model = MarianMTModel.from_pretrained(model_name) translated = model.generate(**tokenizer(src_text, return_tensors="pt", padding=True)) for t in translated: print( tokenizer.decode(t, skip_special_tokens=True) ) ``` You can also use OPUS-MT models with the transformers pipelines, for example: ```python from transformers import pipeline pipe = pipeline("translation", model="Helsinki-NLP/opus-mt-tc-bible-big-deu_eng_fra_por_spa-bat") print(pipe(">>lav<< Replace this with text in an accepted source language.")) ``` ## Training - **Data**: opusTCv20230926max50+bt+jhubc ([source](https://github.com/Helsinki-NLP/Tatoeba-Challenge)) - **Pre-processing**: SentencePiece (spm32k,spm32k) - **Model Type:** transformer-big - **Original MarianNMT Model**: [opusTCv20230926max50+bt+jhubc_transformer-big_2024-05-30.zip](https://object.pouta.csc.fi/Tatoeba-MT-models/deu+eng+fra+por+spa-bat/opusTCv20230926max50+bt+jhubc_transformer-big_2024-05-30.zip) - **Training Scripts**: [GitHub Repo](https://github.com/Helsinki-NLP/OPUS-MT-train) ## Evaluation * [Model scores at the OPUS-MT dashboard](https://opus.nlpl.eu/dashboard/index.php?pkg=opusmt&test=all&scoreslang=all&chart=standard&model=Tatoeba-MT-models/deu%2Beng%2Bfra%2Bpor%2Bspa-bat/opusTCv20230926max50%2Bbt%2Bjhubc_transformer-big_2024-05-30) * test set translations: [opusTCv20230926max50+bt+jhubc_transformer-big_2024-05-29.test.txt](https://object.pouta.csc.fi/Tatoeba-MT-models/deu+eng+fra+por+spa-bat/opusTCv20230926max50+bt+jhubc_transformer-big_2024-05-29.test.txt) * test set scores: [opusTCv20230926max50+bt+jhubc_transformer-big_2024-05-29.eval.txt](https://object.pouta.csc.fi/Tatoeba-MT-models/deu+eng+fra+por+spa-bat/opusTCv20230926max50+bt+jhubc_transformer-big_2024-05-29.eval.txt) * benchmark results: [benchmark_results.txt](benchmark_results.txt) * benchmark output: [benchmark_translations.zip](benchmark_translations.zip) | langpair | testset | chr-F | BLEU | #sent | #words | |----------|---------|-------|-------|-------|--------| | deu-lit | tatoeba-test-v2021-08-07 | 0.65379 | 39.8 | 1115 | 7091 | | eng-lav | tatoeba-test-v2021-08-07 | 0.68823 | 46.4 | 1631 | 9932 | | eng-lit | tatoeba-test-v2021-08-07 | 0.67792 | 39.8 | 2528 | 14942 | | spa-lit | tatoeba-test-v2021-08-07 | 0.68133 | 43.3 | 454 | 2352 | | deu-lav | flores101-devtest | 0.54724 | 24.4 | 1012 | 22092 | | eng-lav | flores101-devtest | 0.59955 | 31.0 | 1012 | 22092 | | eng-lit | flores101-devtest | 0.58961 | 27.2 | 1012 | 20695 | | fra-lav | flores101-devtest | 0.54276 | 24.2 | 1012 | 22092 | | fra-lit | flores101-devtest | 0.54665 | 22.4 | 1012 | 20695 | | spa-lav | flores101-devtest | 0.50131 | 17.8 | 1012 | 22092 | | deu-lit | flores200-devtest | 0.54957 | 22.6 | 1012 | 20695 | | eng-lit | flores200-devtest | 0.59338 | 27.7 | 1012 | 20695 | | fra-lit | flores200-devtest | 0.54683 | 22.3 | 1012 | 20695 | | por-lit | flores200-devtest | 0.55033 | 22.6 | 1012 | 20695 | | spa-lit | flores200-devtest | 0.50725 | 16.9 | 1012 | 20695 | | eng-lav | newstest2017 | 0.53192 | 21.5 | 2001 | 39392 | | eng-lit | newstest2019 | 0.51714 | 18.3 | 998 | 19711 | | deu-lav | ntrex128 | 0.47980 | 16.8 | 1997 | 44709 | | deu-lit | ntrex128 | 0.50645 | 17.6 | 1997 | 41189 | | eng-lav | ntrex128 | 0.51026 | 20.6 | 1997 | 44709 | | eng-lit | ntrex128 | 0.54187 | 21.5 | 1997 | 41189 | | fra-lav | ntrex128 | 0.45346 | 15.5 | 1997 | 44709 | | fra-lit | ntrex128 | 0.48870 | 16.2 | 1997 | 41189 | | por-lav | ntrex128 | 0.47809 | 17.3 | 1997 | 44709 | | por-lit | ntrex128 | 0.50653 | 17.5 | 1997 | 41189 | | spa-lav | ntrex128 | 0.47690 | 17.1 | 1997 | 44709 | | spa-lit | ntrex128 | 0.50412 | 17.1 | 1997 | 41189 | ## Citation Information * Publications: [Democratizing neural machine translation with OPUS-MT](https://doi.org/10.1007/s10579-023-09704-w) and [OPUS-MT – Building open translation services for the World](https://aclanthology.org/2020.eamt-1.61/) and [The Tatoeba Translation Challenge – Realistic Data Sets for Low Resource and Multilingual MT](https://aclanthology.org/2020.wmt-1.139/) (Please, cite if you use this model.) ```bibtex @article{tiedemann2023democratizing, title={Democratizing neural machine translation with {OPUS-MT}}, author={Tiedemann, J{\"o}rg and Aulamo, Mikko and Bakshandaeva, Daria and Boggia, Michele and Gr{\"o}nroos, Stig-Arne and Nieminen, Tommi and Raganato, Alessandro and Scherrer, Yves and Vazquez, Raul and Virpioja, Sami}, journal={Language Resources and Evaluation}, number={58}, pages={713--755}, year={2023}, publisher={Springer Nature}, issn={1574-0218}, doi={10.1007/s10579-023-09704-w} } @inproceedings{tiedemann-thottingal-2020-opus, title = "{OPUS}-{MT} {--} Building open translation services for the World", author = {Tiedemann, J{\"o}rg and Thottingal, Santhosh}, booktitle = "Proceedings of the 22nd Annual Conference of the European Association for Machine Translation", month = nov, year = "2020", address = "Lisboa, Portugal", publisher = "European Association for Machine Translation", url = "https://aclanthology.org/2020.eamt-1.61", pages = "479--480", } @inproceedings{tiedemann-2020-tatoeba, title = "The Tatoeba Translation Challenge {--} Realistic Data Sets for Low Resource and Multilingual {MT}", author = {Tiedemann, J{\"o}rg}, booktitle = "Proceedings of the Fifth Conference on Machine Translation", month = nov, year = "2020", address = "Online", publisher = "Association for Computational Linguistics", url = "https://aclanthology.org/2020.wmt-1.139", pages = "1174--1182", } ``` ## Acknowledgements The work is supported by the [HPLT project](https://hplt-project.org/), funded by the European Union’s Horizon Europe research and innovation programme under grant agreement No 101070350. We are also grateful for the generous computational resources and IT infrastructure provided by [CSC -- IT Center for Science](https://www.csc.fi/), Finland, and the [EuroHPC supercomputer LUMI](https://www.lumi-supercomputer.eu/). ## Model conversion info * transformers version: 4.45.1 * OPUS-MT git hash: 0882077 * port time: Tue Oct 8 00:43:04 EEST 2024 * port machine: LM0-400-22516.local