SentimentAnalysisModel/WeiboSentiment_Finetuned/GPT2-AdapterTuning/README.md
这是一个基于GPT2的微博情感二分类模型,采用Adapter微调技术。通过Adapter微调,只需训练少量参数就可以让模型适应情感分析任务,大幅降低计算资源需求和模型体积。
使用微博情感数据集(weibo_senti_100k),包含约10万条带情感标注的微博内容,正负向评论各约5万条。数据集标签:
GPT2-Adpter-tuning/
├── adapter.py # Adapter层的实现
├── gpt2_adapter.py # 针对GPT2模型的Adapter实现
├── train.py # 训练脚本
├── predict.py # 简化版预测脚本(交互式使用)
├── models/ # 本地存储的预训练模型
│ └── gpt2-chinese/ # 中文GPT2模型及配置
├── dataset/ # 数据集目录
│ └── weibo_senti_100k.csv # 微博情感数据集
└── best_weibo_sentiment_model.pth # 训练好的最佳模型
python train.py
训练过程会自动:
python predict.py
运行后将进入交互模式:
uer/gpt2-chinese-cluecorpussmall中文预训练模型./models/gpt2-chinese/Adapter是一种参数高效的微调技术,通过在Transformer层中插入小型的瓶颈层,实现用少量参数适应下游任务的目的。主要特点:
在本项目中,我们在每个GPT2Block后添加了一个Adapter层,Adapter的隐藏层大小为64,远小于原始模型的隐藏层大小(通常为768或1024)。
使用设备: cuda
加载模型: best_weibo_sentiment_model.pth
============= 微博情感分析 =============
输入微博内容进行分析 (输入 'q' 退出):
请输入微博内容: 这部电影真是太好看了,我非常喜欢!
预测结果: 正面情感 (置信度: 0.9876)
请输入微博内容: 服务态度差,价格还贵,一点都不推荐
预测结果: 负面情感 (置信度: 0.9742)
models/gpt2-chinese/目录包含从训练过程中保存的模型文件