首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

peft lora微调出小说模型(全流程介绍)

大家好我是小羽,本来想要直接把代码文件直接放进来的,但是限制了,只能贴代码了。我的视频中会有更加详细的讲解。

模型微调前后对比

| 微调前

| 微调后

一、处理数据

1.1环境

1.2代码

二、模型微调

我这里也提供了处理好后的数据,把book.json文件放到同级目录的data文件夹下即可。

注意:微调7B的模型会使用47G的显存,我这里使用的是PEFT框架的PEFT-LoRA PyTorch模式进行微调的。

1.5B的模型微调大概是24G左右

nvidia-smi查看显存占用

在微调之前需要确保准备好的数据是否存放在了data这个文件夹下

执行下述代码创建目录,然后将准备好的数据books.js文件(books.js文件是通过执行上面的处理数据得到的)放到data文件夹下。

import os

os.makedirs('data', exist_ok=True)os.makedirs('output', exist_ok=True)os.makedirs('dataset', exist_ok=True)

微调模型如果显存不够的话看这里,修改下面模型微调代码中的TrainingArguments的值

import osos.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'expandable_segments:True'

args = TrainingArguments( per_device_train_batch_size=1, # 减少批量大小 gradient_accumulation_steps=8, # 梯度积累增加 fp16=True # 实现混合精确训练)

模型微调启动后可以使用tensorboard 来可视化查看loss损失函数的状态在命令行中执行下述命令

三、部署模型

使用vllm加速部署模型

准备环境

新开一个命令行,启动模型

四、执行推理

五、测试

使用GPT4来测试输出的文本信息的好坏。

根据以下生成小说的prompt和生成的小说文本,对小说进行测评。请从以下六个方面进行评分,并提供详细的评分理由:

1. **文本重复度**(0-5分): - 0分:重复部分占全文比例大于40%。 - 1分:重复部分占全文比例在31%-40%。 - 2分:重复部分占全文比例在21%-30%。 - 3分:重复部分占全文比例在11%-20%。 - 4分:重复部分占全文比例在2%-10%。 - 5分:重复部分占全文比例在1%及以下。

2. **语义通顺度**(0-5分): - 根据是否存在语句不通顺、语义模糊不清的情况进行评分,类似错误情况越少,得分越高。

3. **赛题切合度**(0-5分): - 根据给定的赛题,判断故事的文字内容是否符合赛题的要求与意义,是否存在时空错位等情况,类似错误情况越少,得分越高。

4. **故事复杂度**(0-5分): - 5分:人物数量、人物关系变化次数、事件数量的总和大于17。 - 4分:总和大于13且小于等于17。 - 3分:总和大于9且小于等于13。 - 2分:总和大于5且小于等于9。 - 1分:总和大于1且小于等于4。 - 0分:故事中没有人物关系变化或情节。

5. **故事创新性**(0-5分): - 根据你阅读过的所有小说、新闻、剧本等内容,判断故事的新颖性和是否不落俗套,越新颖,得分越高。

6. **文本完整度**(1-2分): - 1分:故事没有写完。 - 2分:故事写完,结尾完整。

生成小说的prompt:

{prompt}生成的小说:

{story}请对上述小说文本进行详细的评估,并分别对每个标准进行打分(0-5分),你要输出每一个维度的具体打分分数与给分原因,并将所有项目得分相加,得出这段文本的总分数。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OMOrcIZHTBdMnneMnffW9QCA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券