用unsloth将Qwen3微调成脑筋急转弯专家,比LLama-Factory更节省GPU显存!

236 阅读2分钟

今天的Unsloth更适合在硬件资源有限的场景下做微调,它比LLama-Factory更节省GPU显存。

一、环境准备

1)购买AutoDL云主机(这里之所以选择它,是因为性价比很高,很适合新手做实验),选择3090显卡的即可(如果本地有GPU机器,请用自己的),我购买AutoDL时,选择了PyTorch

图片

2)安装Anaconda(AutoDL上已默认安装miniconda3)

Anacoda官网:www.anaconda.com/

根据你自己的系统下载对应版本

安装完成后,打开终端(Linux/macOS)或Anaconda Prompt(Windows),输入以下命令创建一个新环境:

(AutoDL上需要做以下操作)

conda create -n llama_factory python=3.10 
conda activate llama_factory 

3)安装cuda(AutoDL已安装)

参考: help.aliyun.com/zh/egs/user…

4)下载数据集

数据集对于微调来说,是很重要的一环,数据集质量的好坏直接决定了你微调的效果。本次实验我用的是一个关于脑筋急转弯的数据集,地址:

modelscope.cn/datasets/he…

图片

二、安装Unsloth

1)利用conda创建虚拟环境(如果你没有开启jupyter,则需要做这一步)

conda create -n unsloth_env python=3.10conda activate unsloth_env

2)安装Unsloth
pip install unsloth

三、下载Qwen3大模型

此次微调我用的是Qwen3-4B的版本,相对来说参数量不大,而且效果比较好。先用pip安装modelscope模块

pip install modelscope

然后创建目录,并下载模型:
mkdir -p /models/modelscope download --model Qwen/Qwen3-4B --local_dir /models/Qwen3-4B

说明: Qwen3-4B大模型会下载到/models/Qwen3-4B下面

四、微调前的测试

微调之前可以先加载初始模型做推理测试,编写测试脚本befor_train.py,内容如下:

image.png

说明:初次加载模型耗时会很久,耐心等待,看其输出内容对比数据集中的答案,是否有差异。

五、开始微调

编写微调的脚本train.py,内容如下:

image.png

image.png

image.png

说明:数据集文件路径为:/models/datasets/data.json。脚本中涉及很多微调参数,如果想要详细的参数介绍,可以在文章末尾留言这里就不再详细介绍了。

微调会比较耗时,主要取决你的硬件配置以及脚本中你设定的max_steps参数,这个数值越大,它训练的时间就越久。微调后的模型路径为:/models/Qwen3-4B-Aminglinux

六、微调后推理测试

编写测试脚本after_train.py,内容如下:

image.png

说明:model_name设置为微调后的大模型路径。

原文地址:https://mp.weixin.qq.com/s/0jpSjpZUylMZJnIYat5VqQ