tiedeman's picture
Initial commit
7ccb26a
---
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 08:59:36 EEST 2024
* port machine: LM0-400-22516.local