我用LLaMA-Factory微调大模型来实现商品评论情感分析,准确率高达91.70%

大家好,我是程序锅。

最近在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
### 使用 LLama-Factory 微调开源模型 #### 准备环境与安装依赖 为了使用 LLama-Factory 对开源模型进行微调,首先需要准备合适的开发环境并安装必要的软件包。这通常涉及到设置 Python 虚拟环境以及安装 PyTorch 和其他依赖项。 #### 配置训练参数文件 配置文件定义了用于微调的具体参数和选项。对于 `Llama3-8B-Instruct` 模型而言,可以通过 YAML 文件指定这些细节[^1]: ```yaml model_name_or_path: "path_to_model" output_dir: "./results" per_device_train_batch_size: 4 gradient_accumulation_steps: 2 learning_rate: 5e-6 num_train_epochs: 3 logging_dir: './logs' ``` 此配置示例展示了如何调整批量大小、学习率和其他超参数来优化训练过程。 #### 执行微调操作 一旦完成了上述准备工作,则可通过 CLI 命令执行实际的微调流程。具体来说,就是运行如下命令来进行基于 LoRA 的微调工作[^3]: ```bash CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml ``` 这条指令指定了 GPU 设备编号,并加载预设好的配置文件路径以启动训练任务。 #### 进行推理测试 完成微调之后,可以立即对该改进后的模型做初步评估。同样借助于 CLI 工具,只需更改子命令即可切换到推理模式: ```bash CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat examples/inference/llama3_lora_sft.yaml ``` 该命令允许用户与经过微调的大规模语言模型交互对话,从而直观感受其表现变化。 #### 合并权重保存成果 最后一步是将原始模型与新学到的知识相结合,形成最终版本供后续部署或进一步迭代之用。这一环节也十分简单明了: ```bash CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml ``` 通过这种方式能够有效地保留所有更新过的参数而不会丢失原有结构特性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值