大模型微调、量化、部署记录

💡 ScriptGen Modern Studio 下一代数字化剧本创作工作站

ScriptGen Modern Studio 是一个专为编剧和创意人打造的高端数字化剧本生成平台。通过明亮、通透的 Modern Creative Lab 视觉语言,我们将复杂的 AI 模型转化为直观、愉悦的创作工具。

写在前面:
本文很大程度上参考了https://blog.csdn.net/m0_73365120/article/details/141872756?spm=1001.2014.3001.5502系列(一)(二)(三),对应下面的一、二、三。记录一些不太顺畅的步骤,仅作参考。

感谢原帖作者大大@鑫鑫04

服务器信息:
·RTX 4090D(显存24G)
·框架Pytorch - 2.1.0 - Python3.10(ubuntu22.04) - Cuda12.1
在这里插入图片描述
**模型:**qwen2.5-1.5B-Instruct
**数据集:**huanhuan.json

https://github.com/datawhalechina/self-llm/blob/master/dataset/huanhuan.json

**目的:**训练一个甄嬛机器人

一、模型微调

1.前置工作
学术资源加速

source /etc/network_turbo

llama factory项目源码下载(建议手动下载后上传到~/autodl-tmp/LLaMA-Factory):

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

新建虚拟环境:

conda create -n llama_factory python=3.10

激活创建的虚拟环境:

conda activate llama_factory

在这里插入图片描述
2.安装依赖
进入项目所在的目录(刚刚下载的源码):

cd LLaMA-Factory

下面安装依赖的其他第三方库:

pip install -r requirements.txt
pip install -e .[metrics] 

3.启动llama factory的前端微调界面
注意要在/LLaMa-Factory路径下运行下面命令:

CUDA_VISIBLE_DEVICES=0 llamafactory-cli webui

在这里插入图片描述
4.AutoDL自定义服务(详细步骤看原帖):
注意本地端口信息7860不要填反了,远程端口信息默认就行
在这里插入图片描述

点击上面的7860网页地址就可以看到网页了:
在这里插入图片描述

这里有两点建议:
(1)建议手动下载模型后再上传到/root/autodl-tmp路径下,不然系统盘可能会爆。
在这里插入图片描述

(2)建议大家先测试一下自己下载的模型有没有问题再进行训练,不然训练半天没有用。测试方法如下:
选择自己的模型名称、下载的模型地址、下载源、检查点保持空白、直接选择chat,随便问几个问题看看能不能正常回复:
在这里插入图片描述

5.准备数据集、设置参数后就可以进行训练了(详细步骤看原帖)
注意,训练完成后,webui命令要重新执行,然后刷新7860网页页面才能进行chat测试:
在这里插入图片描述

CUDA_VISIBLE_DEVICES=0 llamafactory-cli webui

6.模型测试
这是我的嬛嬛机器人测试效果。
在这里插入图片描述

7.模型导出(详细步骤看原帖)

二、模型量化

由于编译版本更新,与原帖的编译部分有较大差别。
1.前置工作
下载编译文件

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

创建虚拟环境

conda create -n llama python=3.10

进入虚拟环境

conda activate llama

进入工程目录

cd llama.cpp

2.安装环境依赖

pip install -e .

更新依赖

apt update
apt install -y cmake build-essential

3.编译
清理旧构建(建议执行一下)

rm -rf build

使用CMaKe配置:

cmake -B build -DGGML_CUDA=ON

在这里插入图片描述

使用CMaKe编译:

cmake --build build -j$(nproc)

直到100%结束:
在这里插入图片描述

编译完成后可执行文件会在下面路径中:build/bin/llama-cli
注意红框中的文件是否存在:
在这里插入图片描述

4.验证CUDA是否可用

./build/bin/llama-cli --help | grep -i cuda

显示如下信息表示可用:
在这里插入图片描述

5.gguf格式转换
/root/autodl-tmp/qwen_huanhuan是训练后导出的模型
/root/autodl-tmp/ggufs/qwen_huanhuan_lora.gguf 是想要保存的路径及gguf名称
在路径/llama.cpp下执行

python convert_hf_to_gguf.py --outfile /root/autodl-tmp/ggufs/qwen_huanhuan_lora.gguf /root/autodl-tmp/qwen_huanhuan

在这里插入图片描述
结果:
在这里插入图片描述

6.模型量化
进入路径build/bin下执行:

 ./llama-quantize /roo/autodl-tmp/ggufs/qwen_huanhuan_lora.gguf /root/autodl-tmp/ggufs/qwen_huanhuan_lora_q4.gguf q4_0

在这里插入图片描述

结果(前后大小对比):
在这里插入图片描述

7.下载
我用的xftp传输:
在这里插入图片描述

三、模型部署

1.安装ollama
我的已经安装:
在这里插入图片描述

2.把上个步骤下载的gguf文件下载到D:/OllamaLLM/models路径下:
在这里插入图片描述

Modefile文件的制作
(1)新建txt文档
(2)编辑下面内容:
我的模型路径为:./qwen_huanhuan_lora_q4.gguf

FROM <你的模型路径>
 
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
 
PARAMETER stop "<|im_start|>"
PARAMETER stop "<|im_end|>"

(3)删除.txt后缀
在这里插入图片描述

3.模型部署
进入D:/OllamaLLM/models路径

cd /d D:\OllamaLLM\models

执行命令:

ollama create qwen_huanhuan_lora_q4 -f Modefile

执行成功:
在这里插入图片描述

查看模型:
在这里插入图片描述

4.运行效果

ollama run qwen_huanhuan_lora_q4

在这里插入图片描述

参考:

https://blog.csdn.net/m0_73365120/article/details/141872756?spm=1001.2014.3001.5502

您可能感兴趣的与本文相关的镜像

💡 ScriptGen Modern Studio 下一代数字化剧本创作工作站

💡 ScriptGen Modern Studio 下一代数字化剧本创作工作站

AI应用
文本生成
Qwen

ScriptGen Modern Studio 是一个专为编剧和创意人打造的高端数字化剧本生成平台。通过明亮、通透的 Modern Creative Lab 视觉语言,我们将复杂的 AI 模型转化为直观、愉悦的创作工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值