写在前面:
本文很大程度上参考了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

2971

被折叠的 条评论
为什么被折叠?



