readme: ---
  language:
  - ar
  - da
  - nb
  - sv
  
  tags:
  - translation
  - opus-mt-tc
  
  license: cc-by-4.0
  model-index:
  - name: opus-mt-tc-big-ar-gmq
    results:
    - task:
        name: Translation ara-dan
        type: translation
        args: ara-dan
      dataset:
        name: flores101-devtest
        type: flores_101
        args: ara dan devtest
      metrics:
         - name: BLEU
           type: bleu
           value: 28.8
         - name: chr-F
           type: chrf
           value: 0.56203
    - task:
        name: Translation ara-nob
        type: translation
        args: ara-nob
      dataset:
        name: flores101-devtest
        type: flores_101
        args: ara nob devtest
      metrics:
         - name: BLEU
           type: bleu
           value: 20.5
         - name: chr-F
           type: chrf
           value: 0.50833
    - task:
        name: Translation ara-swe
        type: translation
        args: ara-swe
      dataset:
        name: flores101-devtest
        type: flores_101
        args: ara swe devtest
      metrics:
         - name: BLEU
           type: bleu
           value: 27.3
         - name: chr-F
           type: chrf
           value: 0.55512
  ---
  # opus-mt-tc-big-ar-gmq
  
  ## 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 Arabic (ar) to North Germanic languages (gmq).
  
  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**: 2022-08-09
  - **License:** CC-BY-4.0
  - **Language(s):**  
    - Source Language(s): ara
    - Target Language(s): dan nob swe
    - Language Pair(s): ara-dan ara-nob ara-swe
    - Valid Target Language Labels: >>dan<< >>fao<< >>isl<< >>jut<< >>nno<< >>nob<< >>non<< >>nrn<< >>ovd<< >>qer<< >>rmg<< >>swe<<
  - **Original Model**: [opusTCv20210807_transformer-big_2022-08-09.zip](https://object.pouta.csc.fi/Tatoeba-MT-models/ara-gmq/opusTCv20210807_transformer-big_2022-08-09.zip)
  - **Resources for more information:**
    - [OPUS-MT-train GitHub Repo](https://github.com/Helsinki-NLP/OPUS-MT-train)
    - More information about released models for this language pair: [OPUS-MT ara-gmq README](https://github.com/Helsinki-NLP/Tatoeba-Challenge/tree/master/models/ara-gmq/README.md)
    - [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/
  
  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. `>><<`
  
  ## 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 = [
      ">>swe<< بكرا منشوف شو بدنا نعمل",
      ">>swe<< عن ماذا يتحدث الكتاب؟"
  ]
  
  model_name = "pytorch-models/opus-mt-tc-big-ar-gmq"
  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) )
  
  # expected output:
  #     - Vi jobbar på det.
  #     Vad handlar boken om?
  ```
  
  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-big-ar-gmq")
  print(pipe(">>swe<< بكرا منشوف شو بدنا نعمل"