Patron
1.0.0
此儲存庫包含我們的 ACL 2023 論文 Cold-Start Data Selection for Few-shot Language Model Fine-tuning: A Prompt-Based Uncertainty Propagation Approach 的程式碼。
在不同資料集上(以128個標籤為預算)進行微調的結果總結如下:
方法 | 網際網路資料庫 | 尖叫聲滿 | AG新聞 | 雅虎! | 資料庫百科 | 崔克 | 意思是 |
---|---|---|---|---|---|---|---|
全程監督(RoBERTa-base) | 94.1 | 66.4 | 94.0 | 77.6 | 99.3 | 97.2 | 88.1 |
隨機抽樣 | 86.6 | 47.7 | 84.5 | 60.2 | 95.0 | 85.6 | 76.7 |
最佳基線(Chang 等人,2021) | 88.5 | 46.4 | 85.6 | 61.3 | 96.5 | 87.7 | 77.6 |
Patron (我們的) | 89.6 | 51.2 | 87.0 | 65.1 | 97.0 | 91.1 | 80.2 |
對於基於提示的學習,我們使用與 LM-BFF 相同的流程。 128個標籤的結果如下圖所示。
方法 | 網際網路資料庫 | 尖叫聲滿 | AG新聞 | 雅虎! | 資料庫百科 | 崔克 | 意思是 |
---|---|---|---|---|---|---|---|
全程監督(RoBERTa-base) | 94.1 | 66.4 | 94.0 | 77.6 | 99.3 | 97.2 | 88.1 |
隨機抽樣 | 87.7 | 51.3 | 84.9 | 64.7 | 96.0 | 85.0 | 78.2 |
最佳基線(Yuan 等人,2020) | 88.9 | 51.7 | 87.5 | 65.9 | 96.8 | 86.5 | 79.5 |
Patron (我們的) | 89.3 | 55.6 | 87.8 | 67.6 | 97.4 | 88.9 | 81.1 |
python 3.8
transformers==4.2.0
pytorch==1.8.0
scikit-learn
faiss-cpu==1.6.4
sentencepiece==0.1.96
tqdm>=4.62.2
tensorboardX
nltk
openprompt
我們使用以下四個資料集進行主要實驗。
數據集 | 任務 | 班級數量 | 未標記數據/測試數據的數量 |
---|---|---|---|
網際網路資料庫 | 情緒 | 2 | 25k/25k |
尖叫聲滿 | 情緒 | 5 | 39k/10k |
股份公司新聞 | 新聞主題 | 4 | 119k/7.6k |
雅虎!答案 | 品質保證主題 | 5 | 180k/30.1k |
資料庫百科 | 本體主題 | 14 | 28萬/7萬 |
崔克 | 問題主題 | 6 | 5k/0.5k |
處理後的數據可以在此連結中找到。放置這些資料集的資料夾將在以下部分中描述。
運行以下命令
python gen_embedding_simcse.py --dataset [the dataset you use] --gpuid [the id of gpu you use] --batchsize [the number of data processed in one time]
我們提供透過上述資料集連結中的提示所獲得的偽預測。詳情請參閱原文。
執行以下命令(AG News 資料集上的範例)
python Patron _sample.py --dataset agnews --k 50 --rho 0.01 --gamma 0.5 --beta 0.5
一些重要的超參數:
rho
:方程式中用於不確定性傳播的參數。 6 論文beta
:方程式中距離的正規化。 8 論文gamma
:方程式中正規化項的權重。 10 論文有關詳細說明,請參閱finetune
資料夾。
請參閱prompt_learning
資料夾以取得詳細說明。
將此連結視為產生基於提示的預測的管道。請注意,您需要自訂提示語言和範本。
若要產生文件嵌入,您可以使用 SimCSE 遵循上述命令。
為所選資料產生索引後,您可以使用Running Fine-tuning Experiments
和Running Prompt-based Learning Experiments
中的管道來進行幾個微調和基於提示的學習實驗。
如果您發現此儲存庫對您的研究有幫助,請引用以下論文。先致謝!
@article{yu2022 Patron ,
title={Cold-Start Data Selection for Few-shot Language Model Fine-tuning: A Prompt-Based Uncertainty Propagation Approach
},
author={Yue Yu and Rongzhi Zhang and Ran Xu and Jieyu Zhang and Jiaming Shen and Chao Zhang},
journal={arXiv preprint arXiv:2209.06995},
year={2022}
}
我們要感謝儲存庫 SimCSE 和 OpenPrompt 的作者提供的組織良好的程式碼。