最近做的一个 project 需要复现 EMNLP 2020 Findings 的 TinyBERT,这篇文章就是在复现过程对踩到坑,以及对应的解决方案和实现加速的一个记录。 Overview of TinyBERT BERT 效果虽好,其较大内存消耗和较长的推理延时会对其上线部署造成一定挑战。内存消耗方面,一系列知识蒸馏的工作,例如 DistilBERT、BERT-PKD 和 TinyBERT 被提出来来降低模型的参数(主要是层数)以及相应地减少时间;推理加速方面,也有例如 DeeBERT、FastBERT 以及 CascadeBERT 等方案来动态地根据样本难度进行模型的执行从而提升推理效...