我使用来自 https://github.com/huggingface/transformers/tree/master/examples/summarization 的人工智能摘要 - 最先进的结果。
我应该自己训练它以获得比原始拥抱脸 github 训练脚本更长的摘要输出吗?
python run_summarization.py
--documents_dir $DATA_PATH
--summaries_output_dir $SUMMARIES_PATH # optional
--no_cuda false
--batch_size 4
--min_length 50
--max_length 200
--beam_size 5
--alpha 0.95
--block_trigram true
--compute_rouge true
当我进行推理时
--min_length 500
--max_length 600
我得到了 200 个代币的良好输出,但文本的其余部分是
. . . [unused7] [unused7] [unused7] [unused8] [unused4] [unused7] [unused7] [unused4] [unused7] [unused8]. [unused4] [unused7] . [unused4] [unused8] [unused4] [unused8]. [unused4] [unused4] [unused8] [unused4] . . [unused4] [unused6] [unused4] [unused7] [unused6] [unused4] [unused8] [unused5] [unused4] [unused7] [unused4] [unused4] [unused7]. [unused4] [unused6]. [unused4] [unused4] [unused4] [unused8] [unused4] [unused7] [unused4] [unused8] [unused6] [unused4] [unused4] [unused4]. [unused4]. [unused5] [unused4] [unused8] [unused7] [unused4] [unused7] [unused9] [unused4] [unused7] [unused4] [unused7] [unused5] [unused4] [unused5] [unused4] [unused6] [unused4]. . . [unused5]. [unused4] [unused4] [unused4] [unused6] [unused5] [unused4] [unused4] [unused6] [unused4] [unused6] [unused4] [unused4] [unused5] [unused4]. [unused5] [unused4] . [unused4] [unused4] [unused8] [unused8] [unused4] [unused7] [unused4] [unused8] [unused4] [unused7] [unused4] [unused8] [unused4] [unused8] [unused4] [unused6]
简短的回答是:是的,可能。
为了更详细地解释这一点,我们必须查看实现背后的论文:在表 1 中,您可以清楚地看到它们生成的大多数标题都比您尝试初始化的要短得多。虽然仅凭这一点可能并不表明您无法再生成任何东西,但我们可以更深入地研究[unusedX]
代币的含义,正如 BERT dev Jacob Devlin 所描述的那样:
由于没有使用[
[unusedX]
令牌],因此它们实际上是随机初始化的。
此外,摘要文件描述了
原始BERT模型中的位置嵌入具有最大长度 的 512;我们通过增加更多仓位来克服这一限制 随机初始化并与其他嵌入进行微调的嵌入 编码器中的参数。
这是一个强有力的指标,表明超过一定长度,它们可能会回退到默认初始化,不幸的是,这是随机的。问题是你是否仍然可以挽救以前的预训练,并简单地微调到你的目标,或者从头开始是否更好。