今天的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)下载数据集
数据集对于微调来说,是很重要的一环,数据集质量的好坏直接决定了你微调的效果。本次实验我用的是一个关于脑筋急转弯的数据集,地址:
二、安装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,内容如下:
说明:初次加载模型耗时会很久,耐心等待,看其输出内容对比数据集中的答案,是否有差异。
五、开始微调
编写微调的脚本train.py,内容如下:
说明:数据集文件路径为:/models/datasets/data.json。脚本中涉及很多微调参数,如果想要详细的参数介绍,可以在文章末尾留言这里就不再详细介绍了。
微调会比较耗时,主要取决你的硬件配置以及脚本中你设定的max_steps参数,这个数值越大,它训练的时间就越久。微调后的模型路径为:/models/Qwen3-4B-Aminglinux
六、微调后推理测试
编写测试脚本after_train.py,内容如下:
说明:model_name设置为微调后的大模型路径。
原文地址:https://mp.weixin.qq.com/s/0jpSjpZUylMZJnIYat5VqQ