GLM用于自然語言理解和生成的通用預(yù)訓(xùn)練框架
GLM (General Language Model) 是清華大學(xué)推出的一種使用自回歸填空目標進行預(yù)訓(xùn)練的通用語言模型,可以針對各種自然語言理解和生成任務(wù)進行微調(diào)。
GLM 通過添加 2D 位置編碼并允許以任意順序預(yù)測跨度來改進空白填充預(yù)訓(xùn)練,從而在 NLU 任務(wù)上獲得優(yōu)于 BERT 和 T5 的性能。同時,GLM 可以通過改變空白的數(shù)量和長度對不同類型的任務(wù)進行預(yù)訓(xùn)練。在橫跨 NLU、條件和無條件生成的廣泛任務(wù)上,GLM 在給定相同的模型大小和數(shù)據(jù)的情況下優(yōu)于 BERT、T5 和 GPT,并從單一的預(yù)訓(xùn)練模型中獲得了 1.25 倍 BERT Large 參數(shù)的最佳性能,表明其對不同下游任務(wù)的通用性。
關(guān)于 GLM 的詳細描述可參考論文 GLM: General Language Model Pretraining with Autoregressive Blank Infilling (ACL 2022)
ChatGLM-6B 就是在 GLM 框架的基礎(chǔ)上為中文 QA 和對話進行了優(yōu)化。
預(yù)訓(xùn)練模型
可以從 OneDrive 或 Tsinghua-Cloud 下載論文中使用的預(yù)訓(xùn)練模型。
| Name | Params | Language | Corpus | Objective | File | Config |
|---|---|---|---|---|---|---|
| GLM-Base | 110M | English | Wiki+Book | Token | glm-base-blank.tar.bz2 | model_blocklm_base.sh |
| GLM-Large | 335M | English | Wiki+Book | Token | glm-large-blank.tar.bz2 | model_blocklm_large.sh |
| GLM-Large-Chinese | 335M | Chinese | WuDaoCorpora | Token+Sent+Doc | glm-large-chinese.tar.bz2 | model_blocklm_large_chinese.sh |
| GLM-Doc | 335M | English | Wiki+Book | Token+Doc | glm-large-generation.tar.bz2 | model_blocklm_large_generation.sh |
| GLM-410M | 410M | English | Wiki+Book | Token+Doc | glm-1.25-generation.tar.bz2 | model_blocklm_1.25_generation.sh |
| GLM-515M | 515M | English | Wiki+Book | Token+Doc | glm-1.5-generation.tar.bz2 | model_blocklm_1.5_generation.sh |
| GLM-RoBERTa | 335M | English | RoBERTa | Token | glm-roberta-large-blank.tar.bz2 | model_blocklm_roberta_large.sh |
| GLM-2B | 2B | English | Pile | Token+Sent+Doc | glm-2b.tar.bz2 | model_blocklm_2B.sh |
| GLM-10B | 10B | English | Pile | Token+Sent+Doc | Download | model_blocklm_10B.sh |
| GLM-10B-Chinese | 10B | Chinese | WuDaoCorpora | Token+Sent+Doc | Download | model_blocklm_10B_chinese.sh |
將下載的文件解壓到本地文件夾中,并在相應(yīng)的腳本中設(shè)置CHECKPOINT_PATH為文件夾路徑。
結(jié)果
SuperGLUE
驗證集、單模型、單任務(wù)微調(diào)
| Model | COPA | WSC | RTE | WiC | CB | MultiRC | BoolQ | ReCoRD |
|---|---|---|---|---|---|---|---|---|
| GLM-10B | 98.0 | 95.2 | 93.1 | 75.7 | 98.7/98.2 | 88.1/63.3 | 88.7 | 94.4/94.0 |
| DeBERTa-XXLarge-v2 | 97.0 | - | 93.5 | - | - | 87.8/63.6 | 88.3 | 94.1/93.7 |
Seq2Seq
CNN/Daily Mail (test set,沒有使用額外的數(shù)據(jù))
| Model | ROUGE-1 | ROUGE-2 | ROUGE-L |
|---|---|---|---|
| GLM-10B | 44.7 | 21.4 | 41.4 |
| T5-11B | 43.5 | 21.6 | 40.7 |
| PEGASUS-Large | 44.2 | 21.5 | 41.4 |
| BART-Large | 44.2 | 21.3 | 40.9 |
XSum (test set,沒有使用額外的數(shù)據(jù))
| Model | ROUGE-1 | ROUGE-2 | ROUGE-L |
|---|---|---|---|
| GLM-10B | 48.9 | 25.7 | 40.4 |
| PEGASUS-Large | 47.2 | 24.6 | 39.3 |
| BART-Large | 45.1 | 22.3 | 37.3 |
Language Modeling
測試集,零樣本
| Model | LAMBADA (accuracy) | Wikitext103 (perplexity) |
|---|---|---|
| GLM-10B (bi) | 72.35 | 11.33 |
| GLM-10B (uni) | 67.18 | 12.22 |
| GPT-2 | 52.66 | 17.48 |
| Megatron-LM (8.3B) | 66.51 | 10.81 |
| Turing-NLG | 67.98 | 10.21 |
