readme: ---
  language:
  - en
  - vi
  tags:
  - translation
  license: apache-2.0
  datasets:
  - ALT
  metrics:
  - sacrebleu
  ---
  
  This is a finetuning of a MarianMT pretrained on English-Chinese. The target language pair is English-Vietnamese.
  The first phase of training (mixed) is performed on a dataset containing both English-Chinese and English-Vietnamese sentences.
  The second phase of training (pure) is performed on a dataset containing only English-Vietnamese sentences.
  
  ### Example
  ```
  %%capture
  !pip install transformers transformers[sentencepiece]
  
  from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
  # Download the pretrained model for English-Vietnamese available on the hub
  model = AutoModelForSeq2SeqLM.from_pretrained("CLAck/en-vi")
  
  tokenizer = AutoTokenizer.from_pretrained("CLAck/en-vi")
  # Download a tokenizer that can tokenize English since the model Tokenizer doesn't know anymore how to do it
  # We used the one coming from the initial model
  # This tokenizer is used to tokenize the input sentence
  tokenizer_en = AutoTokenizer.from_pretrained('Helsinki-NLP/opus-mt-en-zh')
  # These special tokens are needed to reproduce the original tokenizer
  tokenizer_en.add_tokens(["<2zh>", "<2vi>"], special_tokens=True)
  
  sentence = "The cat is on the table"
  # This token is needed to identify the target language
  input_sentence = "<2vi> " + sentence 
  translated = model.generate(**tokenizer_en(input_sentence, return_tensors="pt", padding=True))
  output_sentence = [tokenizer.decode(t, skip_special_tokens=True) for t in translated]
  ```
  
  ### Training results
  
  MIXED
  
  | Epoch | Bleu    |
  |:-----:|:-------:|
  | 1.0   | 26.2407 |
  | 2.0   | 32.6016 |
  | 3.0   | 35.4060 |
  | 4.0   | 36.6737 |
  | 5.0   | 37.3774 |
  
  
  PURE
  
  | Epoch | Bleu    |
  |:-----:|:-------:|
  | 1.0   | 37.3169 |
  | 2.0   | 37.4407 |
  | 3.0   | 37.6696 |
  | 4.0   | 37.8765 |
  | 5.0   | 38.0105 |
  
  