大家好,我是程序锅。
最近在modelscope上闲逛的时候,在数据集板块发现有一个商品评论情感预测数据集。这个数据集源自一个比赛,它的目的是为了预测电商平台顾客的评论是好评还是差评。
数据示例如下所示(其中0代表差评,1代表好评):
这个比赛是2021年7月开始举办的。那个时候还没有ChatGPT,如果需要做商品评论情感预测,是需要分词、预处理、选择模型等等一系列机器学习方法。而我最近正好在学习LLaMA-Factory,正好试一试用它来微调大模型,看看最终情感预测结果如何?
好的,首先我们先上结果。
大模型微调+提示工程 | 大模型+提示工程 | |
---|---|---|
准确率 | 91.70% | 79.43% |
使用大模型微调相比不微调,提升12.27%
整体技术路线采用:LLaMA-Factory + Lora + Qwen1.5-7B
教程视频如下:
https://www.bilibili.com/video/BV1siuietEYX/?vd_source=d0aa621a464f99754d7108e57e32eab9
下面我们来看如何微调大模型来做商品评论情感分析。微调过程与传统深度学习方法类似。无非是准备数据、配环境、训练、最后评测。
一、数据准备
采用数据集的来自于modelscope的商品评论情感预测,其中训练数据集45366条,测试数据集5032条。
下载数据集:
from modelscope.msdatasets import MsDataset
ds_train = MsDataset.load('DAMO_NLP/jd', subset_name='default', split='train')
from modelscope.msdatasets import MsDataset
ds_val = MsDataset.load('DAMO_NLP/jd', subset_name='default', split='validation')
下载后的数据集无法直接应用到微调,我们还需要结合提示工程,将数据集转化为大模型微调所需要的格式(即问答对的形式)
数据转化代码如下:
import json
from modelscope.msdatasets import MsDataset
from tqdm import *
ds_trai