readme: ---
  language: en
  license: apache-2.0
  tags:
  - transformers
  - bart
  - paraphrase
  - seq2seq
  datasets:
  - quora
  - paws
  ---
  # BART Paraphrase Model (Large)
  A large BART seq2seq (text2text generation) model fine-tuned on 3 paraphrase datasets.
  
  ## Model description
  The BART model was proposed in [BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension](https://arxiv.org/abs/1910.13461) by Lewis et al. (2019).
  
  - Bart uses a standard seq2seq/machine translation architecture with a bidirectional encoder (like BERT) and a left-to-right decoder (like GPT).
  - The pretraining task involves randomly shuffling the order of the original sentences and a novel in-filling scheme, where spans of text are replaced with a single mask token.
  - BART is particularly effective when fine tuned for text generation. This model is fine-tuned on 3 paraphrase datasets (Quora, PAWS and MSR paraphrase corpus).
  
  The original BART code is from this [repository](https://github.com/pytorch/fairseq/tree/master/examples/bart).
  
  ## Intended uses & limitations
  You can use the pre-trained model for paraphrasing an input sentence.
  ### How to use
  ```python
  import torch
  from transformers import BartForConditionalGeneration, BartTokenizer
  
  input_sentence = "They were there to enjoy us and they were there to pray for us."
  
  model = BartForConditionalGeneration.from_pretrained('eugenesiow/bart-paraphrase')
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
  model = model.to(device)
  tokenizer = BartTokenizer.from_pretrained('eugenesiow/bart-paraphrase')
  batch = tokenizer(input_sentence, return_tensors='pt')
  generated_ids = model.generate(batch['input_ids'])
  generated_sentence = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
  
  print(generated_sentence)
  ```
  ### Output
  ```
  ['They were there to enjoy us and to pray for us.']
  ```
  ## Training data
  The model was fine-tuned on a pretrained [`facebook/bart-large`](https://huggingface.co/facebook/bart-large), using the [Quora](https://huggingface.co/datasets/quora), [PAWS](https://huggingface.co/datasets/paws) and [MSR paraphrase corpus](https://www.microsoft.com/en-us/download/details.aspx?id=52398). 
  ## Training procedure
  
  We follow the training procedure provided in the [simpletransformers](https://github.com/ThilinaRajapakse/simpletransformers) seq2seq [example](https://github.com/ThilinaRajapakse/simpletransformers/blob/master/examples/seq2seq/paraphrasing/train.py).
  
  ## BibTeX entry and citation info
  ```bibtex
  @misc{lewis2019bart,
        title={BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension}, 
        author={Mike Lewis and Yinhan Liu and Naman Goyal and Marjan Ghazvininejad and Abdelrahman Mohamed and Omer Levy and Ves Stoyanov and Luke Zettlemoyer},
        year={2019},
        eprint={1910.13461},
        archivePrefix={arXiv},
        primaryClass={cs.CL}
  }
  ```