震惊!这是我见过最详细的模型微调教程👉连我妈都学会了

771 阅读5分钟

哈喽,我是阿群,今天教你小白也能自己微调一个大模型。

关注我,带你免费白嫖,在魔塔上用LLaMa Factory微调框架体验微调一个模型~

魔塔构建免费实例

1.进入到魔塔社区:

2.选择PAI-DSW的方式二,白嫖魔塔社区的GPU资源。

点击启动后,差不多等待2分钟启动实例;

3.GPU环境已启动后,点击查看Notebook

4.进入Notebook,相当于在云端打开了电脑

5.点击Terminal进入终端,终端地址:/mnt/workspace# 

这个路径下的文件可以持久化的存储,咱们是试用版,所以单次是8小时,一共36小时。

超过会提醒续费或者不续费释放空间。

安装 LLaMA Factory 开源框架

1.输入代码,clone项目:

git clone https://github.com/hiyouga/LLaMA-Factory.git

2.出现下面这个情况就说明clone下来了,若是出现报错,这说明网络有问题。可以重新再运行一次

3.进入到 LLaMA Factory

cd LLaMA-Factory

4.安装虚拟环境

python -m venv .venv

5.激活虚拟环境

source .venv/bin/activate

6.安装依赖:

pip install -e ".[torch,metrics]"

如果出现下面报错可以升级一下pip:

pip install --upgrade pip

7.重新安装依赖,没有出现红色报错说明可以了。

创建一个存储模型的文件夹

1.点击左侧,右键创建新文件夹,命名:models

2.进入models文件夹:

cd models

3.下载模型到 Notebook(以 Qwen2.5-0.5-instruct为例)

git clone https://www.modelscope.cn/Qwen/Qwen2.5-0.5B-Instruct.git

4.数据集准备(以淘宝好评数据集为例)

点击下载train.csv

5.下载下来的是这种格式,但是为了适配Factory,我们需要修改我们的格式。

6.在Factory的date数据中点击下载这个模板

7.写个脚本代码把train.csv按照identity.json格式修改。

8.在Factory的date数据中上传刚才修改完格式的文档

9.在dataset_info.json中注册数据,增加,这边不好修改,我们可以下载下来修改后重新上传覆盖掉。

"data_name":{
"file_name":"data_name.json"
}

WebUI 微调

1.先回到LLaMA-Factory目录下

cd ..

2.执行调取 WebUI

llamafactory-cli webui

3.点击链接进入 WebUI

4.打开 WebUI界面,填写信息

5.填写完信息之后,下滑到下方的保存训练参数、载入训练参数、开始训练

6.训练完之后会看到训练损失值,看到这个值下降,说明我们的训练有效果了。

7.训练完了,让我们来测试一下有没有质的提升。

在开始测试聊天的时候,需要先检查点击选择路径。

然后在点击chat,加载模型后就可以开始聊天!

8.导出训练的模型数据,创建outputmodel文件

导出GGUF

1.安装GGUF库

a.新开终端

b.进入到这个目录下:

cd /mnt/workspace/LLaMA-Factory

c.clone GGUF库

git clone https://github.com/ggerganov/llama.cpp.git

d.以可编辑模式安装python包

pip install --editable

2.转换格式

① 再回到llama.cpp文件

cd ..

② 运行python代码:

a. 如果你跟我一样,之前导出模型是直接创建outputmodel文件,你就可以直接复制下面代码;

如果不是的话,你需要修改代码的地址,第一个路径/mnt/workspace/LLaMA-Factory/outputmodel改成你刚刚导出的模型路径

b. 第二个路径--outfile /mnt/workspace/LLaMA-Factory/megred-model-path是导出 GGUF 文件的路径,一定要自己提前创建一个,不然很容易报错

python convert_hf_to_gguf.py /mnt/workspace/LLaMA-Factory/outputmodel \
 --outfile /mnt/workspace/LLaMA-Factory/megred-model-path \
 --outtype q8_0

③ 下载完之后可以在左侧你设置的目录下看到.gguf的文件

④点击下载这个文件

本地部署

1.创建模型文件

在编辑器中创建与模型相同名字的文件,保存另存为与你的模型名相同的文件名,文件后缀改为.modelfile

2.保存后会发现有两个文件

方法一:

1.在Outputmodel-494M-Q8_0.gguf的同一个目录下创建一个新的txt文档,打开后填入如下内容

#后面的模型文件名也改成你自己的模型名
FROM /保存GGUF文件的路径/Outputmodel-494M-Q8_0.gguf

2.保存完后,名字改为跟你的模型名相同的文件名,文件后缀改为.modelfile

3.打开终端,进入你保存模型的文件路径

4.运行如下指令把模型配置到ollma里面(确保已经安装了 Ollama)

# -f 前后两个模型名修改成你的设置的模型名字
ollama create Outputmodel-494M-Q8_0 -f Outputmodel-494M-Q8_0.modelfile

5.运行显示成功,说明已经安装到你的ollma上面

6.接下来运行ollama

# run后面是模型名称
ollama run Outputmodel-494M-Q8_0

7.以后只要能用ollama的客户端都可以用你部署的模型。

我们以cherry studio为例:

点击管理,点击就成功安装后就可以在聊天中选择安装的模型对话了

方法二:使用Jan这个工具部署

1.设置导入微调模型

2.成功导入提醒,点击start启动

3.点击新建聊天,选择模式之后就可以开始跟你的微调模型聊天了

终于完工了,历时4个多小时,我也成功微调了一个小模型。

如果你也对微调模型感兴趣,那就跟着我的步骤体验一下吧。

关注我,学习更多AI知识!