哈喽,我是阿群,今天教你小白也能自己微调一个大模型。
关注我,带你免费白嫖,在魔塔上用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知识!