提示学习(Prompting)是一种自然语言处理(NLP)中的训练技术,它利用预训练的语言模型(如BERT、GPT等)来解决各种下游任务,如文本分类、命名实体识别、问答等。这种方法的关键思想是通过设计合适的提示(Prompt),将下游任务转化为一个填空任务,然后利用预训练的语言模型来预测填空。
例如,对于情感分类任务,我们可以设计一个提示如“这段文本的情感是{mask}”,其中{mask}是需要预测的部分。然后,我们将这个提示和实际的文本一起输入到预训练的语言模型中,模型的任务就是预测{mask}的内容,即文本的情感。
提示学习的优点是可以充分利用预训练语言模型的强大表示能力,而且不需要对模型结构进行大的修改,只需要设计合适的提示即可。但是,如何设计有效的提示是一项挑战,需要大量的实验和经验。
ChatGPTBook/PromptProj
Name | Last commit message | Last commit date |
---|---|---|
parent directory… | ||
data(Directory) | update code | 3 months ago |
images(Directory) | update code | 3 months ago |
pretrain_model(Directory) | update code | 3 months ago |
prompt_model(Directory) | update code | 3 months ago |
README.md(File) | update code | 3 months ago |
data_helper.py(File) | update code | 3 months ago |
data_set.py(File) | update code | 3 months ago |
model.py(File) | update code | 3 months ago |
predict.py(File) | update code | 3 months ago |
requirements.txt(File) | update code | 3 months ago |
train.py(File) | update code | 3 months ago |
README.md
本项目为书籍《ChatGPT原理与实战:大型语言模型的算法、技术和私有化》中第5章《提示学习与大模型的涌现》实战部分代码-基于Prompt的文本情感分析实战。
项目简介
针对酒店评论数据集,利用BERT模型在小样本数据下进行模型训练及测试,更深入地了解Prompt任务进行下游任务的流程。
项目主要结构如下:
- data 存放数据的文件夹
- ChnSentiCorp_htl_all.csv 原始酒店评论情感数据 【数据量3MB不到】
- sample.json 处理后的语料样例
- prompt_model 已训练好的模型路径
- config.json
- pytorch_model.bin
- vocab.txt
- pretrain_model 预训练文件路径
- config.json
- pytorch_model.bin 【虽然提示学习是在预训练中结合下游任务一起训练,但这里演示的还是有增量训练的,不过模型参数没有更新,见后】
- vocab.txt
- data_helper.py 数据预处理文件
- data_set.py 模型所需数据类文件
- model.py 模型文件
- train.py 模型训练文件
- predict.py 模型推理文件
注意:由于GitHub不方便放模型文件,因此prom