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 的作者提供的组织良好的代码。