大模型学习-微调大模型Qwen2

宇宙免责声明:对B站博主”是花子呀_“的视频教程做的笔记总结

目录

下载资源

训练前的模型回答

选择微调方法

模型选择

明确训练目标

制作训练样本

开始训练

验证模型


下载资源

https://pan.baidu.com/s/1nHs1WEzbC64GiKbNqiWpJw?pwd=4pje 

训练前的模型回答

在pycharm中,运行下面的代码(模型路径改成自己的)

from transformers import pipeline

# 指定模型所在路径
model_path = "E:\\BaiduNetdiskDownload\\just_train\\model\\Qwen2-0.5B-Instruct"

# 加载因果语言模型
pipe = pipeline("text-generation", model=model_path)

# 问题作为输入
question = "8.11和8.9谁更大,8.11还是8.9?"

# 使用该 pipeline 进行生成任务
result = pipe(
    question,
    max_length=100,  # 设置生成的最大长度
    num_return_sequences=1,  # 返回的答案数量
    truncation=True,  # 显式启用截断
    no_repeat_ngram_size=3,  # 防止模型生成重复的句子
    num_beams=5,  # 使用 beam search 来生成更好的答案
    do_sample=True,  # 允许模型生成多个可能的答案
    top_k=50,  # 在每一步中只考虑最有可能的50个词
    temperature=0.7  # 控制生成的多样性,较低的值会让输出更精确,较高的值会增加多样性
)

# 输出结果
print(result[0]['generated_text'])

运行结果

可以看到,回答效果并不好。

选择微调方法

微调模型的方法有很多种,其中一种方法是只会更新模型的部分参数,比如LoRA和QLoRA,这些方法通常在较低的硬件要求下实现模型微调。另一种常见的方法是全参数微调,这种方法会更新模型的所有参数,全参数微调通常对机器的要求较高,需要强大的硬件支持,所以使用云服务器会更方便。

模型选择

确定了微调方法之后,接下来要考虑选择哪个预训练模型,目前全世界的开源模型都会发布在huggingface上,我们可以从这个网站上下载各种各样的模型,这里选择阿里通义千问出品的Qwen2

进入网址:Qwen/Qwen2-72B-Instruct · Hugging Face

明确训练目标

选定了预训练模型之后,需要思考:想把模型调教出什么样子?记住一点:想要模型解决什么样的问题,就需要准备什么样的训练样本

制作训练样本

利用已有的大模型,来帮我们生成训练样本,直接对大模型提需求即可,例如

一个称职的提示语,必须清楚地告诉AI要干什么。

然后将样本复制,保存到文件中即可,

之后我们需要让训练脚本读取这个样本文件来训练模型。

关于训练样本

1.训练样本在train_data.json文件中,提供的资源已经帮我们写好了训练样本,我们不需要改,直接拿来用即可
2.如果要用自己的训练样本,首先文件的名字也要叫train_data.json,因为训练脚本里就是根据这个名字来读取训练样本的,位置也要放在这个目录中

开始训练

接下来开始准备训练模型,可以在本地训练,也可以在云服务器训练。这里推荐使用云服务器训练,因为在本地训练是需要使用wsl2来运行Linux的,关于wsl2,我目前没有了解过,而且个人计算机算力有限,用来训练大模型效率不高。

这里使用的是GPUEZ云服务器,GPUEZ智算云 | 弹性、好用、省钱。租GPU就上ZSCloud

首先,在算力市场里面租一台云服务器

这里可以选择一个比较便宜的

选择镜像后,点击创建

用jupyterLab打开

上传资源

等待进度条跑完,就代表上传完成,这里大概要花20多分钟

进入root目录

cd root

解压上传的资源

unzip just_train.zip

解压完成后,进入just_train文件夹,并开始训练模型

cd just_train
./train.sh

当看到下图的场景时,说明正在进行训练

当进度条到100%时,训练完成

验证模型

训练好的模型会保存到outputs文件夹中

输入./run.sh即可验证输入成果

!!!!操作完之后,记得将实例释放掉,避免继续产生费用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值