Lora训练的safetensor模型合并成GGUF

在上一期博客中,我们介绍了如何进行lora训练,
LLM语言模型Lora微调

本期我们介绍如何合并训练后的模型

训练后的模型

使用perft训练后,lora模型和基础模型是两个safetenser文件,

这是lora的文件:

这是基础模型文件:

合并lora文件

使用perft可以直接合并lora和基础模型,形成一个safetenser文件

python 复制代码
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel


output_path  = "./lora_adapter_merge"

# 加载原下载路径的tokenizer和model
tokenizer = AutoTokenizer.from_pretrained("./Qwen/Qwen3-1___7B", use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("./Qwen/Qwen3-1___7B", device_map="auto", torch_dtype=torch.bfloat16)

# 加载lora模型
model = PeftModel.from_pretrained(model, model_id="./lora_adapter/")


print("Applying the LoRA")
model = model.merge_and_unload()

print(f"Saving the target model to {output_path}")
model.save_pretrained(output_path)
tokenizer.save_pretrained(output_path)

下面就是合并后的输出,

合并结果

接下来是形成gguf文件

安装llamacpp

要合并成GGUF需要用到lammacpp这个库.

下载官方库

llama官方库位置:
官方库

我们直接下载zip文件到本地,

下载到本地之后进行解压成一个目录

准备python虚拟环境

从最佳实践来看最好在一个虚拟python环境中安装依赖,避免污染全局环境.

如何安装python虚拟环境请参考这篇文章里面的相关步骤
虚拟环境连接,需要忽略安装VLLM的这个步骤

安装依赖.

llamacpp自带的依赖文件里面会强制指定torch的版本,这个torch版本回合电脑本地的环境产生冲突,我们可以打开requirements这个文件夹,然后打开requirements-convert_hf_to_gguf,注释掉里面的torch依赖,自己手动在虚拟环境中安装pytorch依赖

安装pytorch需要匹配自己的机器的显卡硬件,显卡驱动,英伟达还要匹配cuda版本,准备pytorch环境也是一个复杂的工作.

最后

在llamacpp的根目录执行下方的命令安装依赖

bash 复制代码
pip install -r requirements.txt

转换

bash 复制代码
python llama.cpp/convert_hf_to_gguf.py 合并后模型的文件夹  --outtype f16 --verbose --outfile 想要输出的gguf文件

文件中的outtype需要根据模型的情况做变更.

相关推荐
星越华夏6 小时前
计算机视觉:YOLOv12安装环境
人工智能·yolo·计算机视觉
Yolanda948 小时前
【人工智能】《从零搭建AI问答助手项目(九):Prompt优化》
人工智能·prompt
wj3055853788 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
小和尚同志8 小时前
深入使用 skill-creator:结合真实生产级实践
人工智能·aigc
DevSecOps选型指南8 小时前
安全419专访悬镜安全 | 穿越周期在 AI 浪潮中定义数字供应链安全新范式
人工智能
沪漂阿龙8 小时前
面试题详解:GraphRAG 全面解析——知识图谱增强 RAG、Local Search、Global Search、社区摘要、工程落地与评估指标一次讲透
人工智能·知识图谱
WangN28 小时前
Unitree RL Lab 学习笔记【通识】
人工智能·机器学习
haina20198 小时前
海纳AI亮相《科创中国》,解码招聘“智”变之路
人工智能·ai面试·ai招聘
阿星AI工作室8 小时前
刘润年中大课笔记:一句话说清AI落地之战的本质
大数据·人工智能·创业创新·商业
qingfeng154159 小时前
企业微信机器人开发:如何实现自动化与智能运营?
人工智能·python·机器人·自动化·企业微信