就在今天,我也是成功微调了Qwen模型。这两周的模型部署与微调不涉及到代码部分,所以比较简单,我来总结一下,希望一些细节可以帮助到一些和我一样的大模型小白。

1 Ollama本地模型的部署

在一开始学习大模型时,大家应该都会去B站上找一找教程,而且一般都是通过ollama来部署模型,博主也一样,是从Ollama开始自己的大模型之旅的。

Ollama的下载这里就不多赘述,网页上直接搜索就会出现。

然后是模型的下载,这个在Ollama网页里找到model就可以下载你所需要的模型了。(大家根据自己的电脑配置去下载模型,我的电脑显卡是4060的,跑qwen3:8b的模型还是有点勉强)

在模型下载结束后,就可以通过cmd运行本地下载的模型啦。首先先按win+r,然后输入cmd,会出现如下图所示的窗口:

然后输入这一行代码就可以运行了,大家根据自己下载的模型去输入相应的代码,我下载的模型是qwen3:8b。

ollama run <model_name>[:tag] [prompt]

进行到这一步后可以与你下载的模型进行对话了。

当然,大家也可以在ollama的客户端中去运行本地下载的模型。

2 通过LLama Factory实现模型的微调

这一步因为网上教程的误导导致我在这一步卡了很久,不过通过这个方法并不涉及到代码,还是很好上手的。具体的流程待我细细讲来。

首先,网上有一个教程是通过docker来搭建环境,并通过LLama Factory Webui来实现模型微调的,但是他的那种方法,好像是有错误,我并不能很好地进行微调过程,其中有问题的部分包括但不限于:web ui里没有办法显示数据集,通过modelscope下载下来的模型在本地找不到,无法在web ui中加载模型进行聊天等等。由于这个过程我实在搞不明白,所以这里给出一种更为简单的教程,现在让我来详细说说这一个过程。

这个方法使用conda来搭建环境,所以大家需要先自行下载anaconda等一系列程序。在下载好之后我们就可以开始进行模型的微调了。

2.1 创建一个全新的 Conda 环境

打开我们的Anaconda Prompt 或终端,执行以下命令,创建一个名为 llamafactory_cu12 的新环境(大家也可以取一个自己喜欢的名字),并指定 Python 版本为 3.10(这是 LLaMA Factory 推荐的版本)。

conda create -n llamafactory_cu12 python=3.10

在创建完成这个环境后就可以运行这个环境。激活后,大家会看到命令行前面出现了 (llamafactory_cu12 ) 的字样,表示已进入这个隔离的环境。

2.2 在新环境中安装指定 CUDA 版本的 PyTorch

我们要强制 pip 安装为 CUDA 12.1 编译的 PyTorch 版本。执行以下命令:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

虽然LLamafactory推荐的CUDA版本是12.2的,但是12.1也是可以的,因为我下载的12.1版本,所以这里给出12.1的下载命令。下载完成后基本的环境便搭建完成了。

2.3 下载LLamafactory

大家可以前往https://github.com/hiyouga/LLaMA-Factory下载LLamafactory

点击download就可以经行下载,然后把文件解压缩到d盘的指定位置(确保自己可以找得到就行)。

下载完成后,我们又可以回到anaconda prompt,用 cd 命令进入您之前下载的 LLaMA-Factory 项目根目录。

# 示例: cd /d D:\projects\LLaMA-Factory

然后,在这个配置正确的环境中,重新安装 LLaMA Factory 及其所有依赖,这个过程可能时间会比较长,大家耐心等待,它自动就会下载好。

pip install -e .[torch,bitsandbytes]

然后确保仍然在 (llamafactory_cu12) 环境下,输入下面的命令就可以进入Web ui了。

llamafactory-cli webui

3 数据集下载与模型微调

3.1 数据集准备

数据集下载这一步是非常核心的环节,微调的效果很大程度上取决于准备的数据集质量。我们这里使用的数据集可以前往魔搭社区进行下载https://www.modelscope.cn/datasets

我们今天就找一个角色扮演(甄嬛)的数据集来微调。

https://www.modelscope.cn/datasets/kmno4zx/huanhuan-chat

进入该界面后,点击这个数据集,然后点击下载即可。

在下载下来后,我们就将这个json文件放入LLamafactory文件夹中的data文件夹。

这里需要注意一下,我们需要把data文件复制一份到docker/docker-cuda中,这样往里面放的数据才会在网页上显示出来。由于我也是一个小白,不知道为什么需要进行这一步,但是这也是我在卡了好几天后得出来的结论,大家知道为什么的可以告诉我。

同时我们还需要在配置文件dataset_info.json里面添加一条该数据集的记录。只有这样,数据集才能被LLamafactory识别到。

3.2 微调

在完成上述准备工作后,我们终于进入了模型微调部分。

首先进入网页,选择我们需要微调的模型:

我这里选择了Qwen3-4B-Instruct-2507,instruct模型相对于base模型训练的效果更好。llamafactory会自动检测电脑上是否有相应的模型,如果没有它就会去下载源进行模型的下载。

其他的像微调方式、学习率、梯度累积等使用默认的就可以。比较重要的就是训练轮数,这里还是推荐大家去租一台虚拟机进行训练,不然普通电脑训练一轮就动辄四五个小时,太费时间了。

然后选择我们下载的数据集。

就可以正式开始我们的模型训练啦!

一般过几秒,就会在下面看到日志,橙色的条是进度条,web ui的控制台也可以看到训练进度。只要没有报错即可。

然后就可以将页面切换到chat,并在检查点路径选择我们训练的路径,然后点击加载模型就可以和我们训练好的模型进行聊天了。(下图是引用了https://blog.csdn.net/Libra1313/article/details/149043530这篇文章里的,由于上面我所挑选的是基模型不对,这种基模型训练完不能合并。导致第二次加载模型出现错误,虽然我昨天晚上一训练完的时候还是可以加载的,大家注意就好。刚刚又去查了一下,发现不是基模的问题,而是量化等级和量化方法的问题,大家调一调这个,保持和训练模型时所用的量化等级和方法即可。)

最后就是将模型导出即可。

目前我还在进行学习阶段,还没有开始学习微调后的模型的本地部署,这也是我之后要开始学习的,希望大家可以一起多多交流学习。

引用文章:《3步轻松微调Qwen3,本地电脑就能搞,这个方案可以封神了!》https://blog.csdn.net/Libra1313/article/details/149043530

Logo

更多推荐