huawei-noah / Pretrained-Language-Model

Pretrained language model and its related optimization techniques developed by Huawei Noah's Ark Lab.
3.02k stars 628 forks source link

TinyBERT的疑问 #22

Closed MrRace closed 3 years ago

MrRace commented 4 years ago

看过TinyBERT的论文后,想请教如下几个问题: (1)预训练的蒸馏阶段,是指在预训练teacher BERT的同时蒸馏 student TinyBERT吗?比如每个epoch蒸馏一次或者其他?因为看到如下示意图,一开始觉得是预训练的同时进行蒸馏。 image 另一种是可能是预训练完BERT之后,固定teacher BERT,再用相同的预训练语料同时输入到teacher BERT和 要蒸馏出的TinyBERT?再逐个目标函数蒸馏? (2)论文中似乎没有透露预训练和微调阶段的资源消耗,比如两阶段一共用了多少时间? 多谢!

nlpBeginner commented 4 years ago

看过TinyBERT的论文后,想请教如下几个问题: (1)预训练的蒸馏阶段,是指在预训练teacher BERT的同时蒸馏 student TinyBERT吗?比如每个epoch蒸馏一次或者其他?因为看到如下示意图,一开始觉得是预训练的同时进行蒸馏。 image 另一种是可能是预训练完BERT之后,固定teacher BERT,再用相同的预训练语料同时输入到teacher BERT和 要蒸馏出的TinyBERT?再逐个目标函数蒸馏? (2)论文中似乎没有透露预训练和微调阶段的资源消耗,比如两阶段一共用了多少时间? 多谢!

对于第一个问题:TinyBERT的蒸馏过程由两部分组成。第一部分General Distillation,是由预训练好的BERT的模型(这里是BERT官方发布的pre-trained模型) 作为teacher, TinyBERT作为student模型,用大的语料去拟合teacher的attention、hidden states、embeddings部分(论文里都有详细的介绍);第二部分 Task-specific Distillation,是基于特定任务的,这一部分的操作在论文和开源的readme文件里介绍都挺详细的。对于第二个问题,General Distillation 会耗时2days,在max_seq=128, batch_size=256, 8V100 and Wiki corpus这个设置下。Task Distillation 部分 在中文的lcqmc任务上,无数据增强的情况下,max_seq=128, batch_size=64, 1V100的设置下,step1 和 step2总共用时6个小时。

MrRace commented 4 years ago

@nlpBeginner pregenerate_training_data.py中的语料应该不是wiki数据原始的.xml.bz2文件吧?能否提供从原始.xml.bz2文件转为train_corpus的脚本。因为运行pregenerate_training_data.py需要train_corpus。谢谢!

nlpBeginner commented 4 years ago

@nlpBeginner pregenerate_training_data.py中的语料应该不是wiki数据原始的.xml.bz2文件吧?能否提供从原始.xml.bz2文件转为train_corpus的脚本。因为运行pregenerate_training_data.py需要train_corpus。谢谢!

您好 可以参考这个 https://github.com/google-research/bert/issues/447 我们使用了这个wikiExtracor的工具 你可以搜到的

MrRace commented 4 years ago

@nlpBeginner pregenerate_training_data.py中的语料应该不是wiki数据原始的.xml.bz2文件吧?能否提供从原始.xml.bz2文件转为train_corpus的脚本。因为运行pregenerate_training_data.py需要train_corpus。谢谢!

您好 可以参考这个 google-research/bert#447 我们使用了这个wikiExtracor的工具 你可以搜到的

您那边用wikiExtracor抽取的结果大概多少GB?我这边抽取结果只有5.9GB: image 谢谢!