Concept based curriculum masking
1.0.0
基于概念的课程蒙版(CCM)是一种有效语言模型预训练的培训策略。它可用于训练前变压器,其计算成本相对较低。我们的框架以易于缺乏的顺序掩盖句子中的概念。 CCM仅在胶水基准上使用1/2计算成本来实现原始BERT的比较性能。
该存储库包含我们的EMNLP 2022论文的代码:通过基于概念的课程掩蔽对掩盖语言模型的有效预培训。有关详细的描述和实验结果,请参阅论文。
胶水开发的结果
| 型号 | 可乐 | SST | MRPC | sts | rte |
|---|---|---|---|---|---|
| 伯特(小,14m) | 38.0 | 88.7 | 82.8 | 82.0 | 59.2 |
| CCM(小,14m) | 42.8 | 89.1 | 84.1 | 83.3 | 61.3 |
| 伯特(中等,26m) | 44.9 | 89.6 | 85.4 | 82.7 | 60.3 |
| CCM(中,26m) | 48.0 | 90.9 | 86.7 | 83.6 | 61.4 |
| 伯特(基础,110m) | 49.7 | 90.8 | 87.8 | 85.4 | 67.8 |
| CCM(基础,110m) | 60.3 | 93.1 | 88.3 | 85.5 | 65.0 |
| 型号 | mnli | QQP | Qnli |
|---|---|---|---|
| 伯特(小,14m) | 76.8 | 88.4 | 85.8 |
| CCM(小,14m) | 77.5 | 88.6 | 86.3 |
| 伯特(中等,26m) | 78.9 | 89.4 | 87.6 |
| CCM(中,26m) | 80.0 | 89.2 | 87.6 |
| 伯特(基础,110m) | 81.7 | 90.4 | 89.5 |
| CCM(基础,110m) | 84.1 | 91.0 | 91.4 |
下载ConceptNet断言。
# Download assertions in the data folder.
$ wget ./data/assertions.csv https://s3.amazonaws.com/conceptnet/precomputed-data/2016/assertions/conceptnet-assertions-5.5.0.csv.gz
# run concept_extraction.py
$ python ./script/concept_extraction.py
使用./script/basicconcept_selection.py创建课程的第一阶段,其基本概念与知识图中的许多其他概念相连,并且经常出现在预训练的语料库中。
--conceptnet_path :预先概念文件文件的路径。--topk_connected_concepts :与知识图中许多其他概念连接的顶级K概念。--corpus_dir :一个包含原始文本文件的目录,以转换为MLM预训练示例。--delete_threshold :过滤稀有概念的频率阈值。--basicConcepts_num :设置用于课程的基本概念的数量。--save_path :保存基本概念集的路径。使用./script/curriculum_construction.py构建基于概念的课程。
--conceptnet_path :预先概念文件文件的路径。--num_of_hops :设置用于将相关概念添加到下一阶段概念集的啤酒花数。--basic_concept_path :加载基本概念集的路径。--save_dir :为课程的每个阶段保存一组概念的路径。--num_of_stages :设置课程的阶段数。 使用./script/curriculum_construction.py识别语料库中的概念并与课程一起排列。
--corpus_dir :一个包含原始文本文件的目录,以转换为MLM预训练示例。--save_dir :保存预处理的语料库的路径。--curriculum_dir :一个包含基于概念的课程的目录。--process_num :设置预处理的CPU处理器数量。 最后,使用./script/pre-training.py使用基于概念的课程掩蔽预先培训模型。
--curriculum_dir :一个包含基于概念的课程的目录。--lr :设定学习率。--epochs :设置时期的数量。--batch_size :设置批处理大小,以一次进行进行。--step_batch_size :设置每个步骤更新的批次大小(如果GPU的内存足够,请设置batch_size和step_batch_size相同。--data_path :一个包含预处理示例的目录。--warmup_steps :设置使用原始MLM加热模型的步骤数。--model_size :选择预先训练的模型大小。 有关使用CCM的帮助或问题,请提交GitHub问题。
有关与CCM有关的个人通讯,请联系Mingyu Lee <[email protected]>或Jun-Hyung Park <[email protected]> 。