| | --- |
| | language: en |
| | --- |
| | |
| | ## prophetnet-large-uncased |
| | Pretrained weights for [ProphetNet](https://arxiv.org/abs/2001.04063). |
| | ProphetNet is a new pre-trained language model for sequence-to-sequence learning with a novel self-supervised objective called future n-gram prediction. |
| | ProphetNet is able to predict more future tokens with a n-stream decoder. The original implementation is Fairseq version at [github repo](https://github.com/microsoft/ProphetNet). |
| |
|
| | ### Usage |
| |
|
| | This pre-trained model can be fine-tuned on *sequence-to-sequence* tasks. The model could *e.g.* be trained on headline generation as follows: |
| |
|
| | ```python |
| | from transformers import ProphetNetForConditionalGeneration, ProphetNetTokenizer |
| | |
| | model = ProphetNetForConditionalGeneration.from_pretrained("microsoft/prophetnet-large-uncased") |
| | tokenizer = ProphetNetTokenizer.from_pretrained("microsoft/prophetnet-large-uncased") |
| | |
| | input_str = "the us state department said wednesday it had received no formal word from bolivia that it was expelling the us ambassador there but said the charges made against him are `` baseless ." |
| | target_str = "us rejects charges against its ambassador in bolivia" |
| | |
| | input_ids = tokenizer(input_str, return_tensors="pt").input_ids |
| | labels = tokenizer(target_str, return_tensors="pt").input_ids |
| | |
| | loss = model(input_ids, labels=labels).loss |
| | ``` |
| |
|
| | ### Citation |
| | ```bibtex |
| | @article{yan2020prophetnet, |
| | title={Prophetnet: Predicting future n-gram for sequence-to-sequence pre-training}, |
| | author={Yan, Yu and Qi, Weizhen and Gong, Yeyun and Liu, Dayiheng and Duan, Nan and Chen, Jiusheng and Zhang, Ruofei and Zhou, Ming}, |
| | journal={arXiv preprint arXiv:2001.04063}, |
| | year={2020} |
| | } |
| | ``` |
| |
|