Sli*_*ity 2 python nlp machine-learning pytorch huggingface-transformers
在 Transformers 库中,Pegasus 模型的单词和/或句子的最大输入长度是多少?我在 Pegasus 研究论文中读到最多有 512 个标记,但那是多少个单词和/或句子呢?另外,可以增加512个代币的最大数量吗?
\n\n在Transformers库中,Pegasus模型的单词和/或句子的最大输入长度是多少?\n这实际上取决于你的预训练。您可以创建支持 100 个令牌或 10000 个令牌长度的 pegagsus 模型。例如该模型
\ngoogle/pegasus-cnn_dailymail支持 1024 个令牌,而google/pegasus-xsum支持 512 个:
from transformers import PegasusTokenizerFast\n\nt = PegasusTokenizerFast.from_pretrained("google/pegasus-xsum")\nt2 = PegasusTokenizerFast.from_pretrained("google/pegasus-cnn_dailymail")\nprint(t.max_len_single_sentence)\nprint(t2.max_len_single_sentence)\nRun Code Online (Sandbox Code Playgroud)\n输出:
\n511\n1023\nRun Code Online (Sandbox Code Playgroud)\n由于添加到每个序列的特殊标记,数字减一。
\n\n\n我在 Pegasus 研究论文中读到最多有 512 个标记,但那是多少个单词和/或句子呢?
\n
这取决于你的词汇量。
\n511\n1023\nRun Code Online (Sandbox Code Playgroud)\n输出:
\n[\'\xe2\x96\x81This\', \'\xe2\x96\x81is\', \'\xe2\x96\x81a\', \'\xe2\x96\x81test\', \'\xe2\x96\x81sentence\']\nI know 96103 tokens\nRun Code Online (Sandbox Code Playgroud)\n一个单词可以是一个 token,但也可以分为多个 token:
\nfrom transformers import PegasusTokenizerFast\nt = PegasusTokenizerFast.from_pretrained("google/pegasus-xsum")\nprint(t.tokenize(\'This is a test sentence\'))\nprint("I know {} tokens".format(len(t)))\nRun Code Online (Sandbox Code Playgroud)\n输出:
\n[\'\xe2\x96\x81neuro\', \'psych\', \'i\', \'atric\', \'\xe2\x96\x81conditions\']\nRun Code Online (Sandbox Code Playgroud)\n\n\n另外,可以增加512个代币的最大数量吗?
\n
是的,您可以针对不同的输入长度训练具有 Pegasus 架构的模型,但这成本很高。
\n