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]> 。