当前位置: 首页 > news >正文

使用PEFT库将原始模型与LoRA权重合并

使用PEFT库将原始模型与LoRA权重合并

步骤如下:
  • 基础模型加载:需保持与LoRA训练时相同的模型配置
  • merge_and_unload():该方法会执行权重合并并移除LoRA层
  • 保存格式:合并后的模型保存为标准HuggingFace格式,可直接用于推理
  • 代码如下:

import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizerdef merge_and_save_model(base_model_path, lora_path, output_path):# 1. 加载基础模型和tokenizerprint(f"Loading base model from {base_model_path}")base_model = AutoModelForCausalLM.from_pretrained(base_model_path,torch_dtype=torch.bfloat16,device_map="auto",trust_remote_code=True)tokenizer = AutoTokenizer.from_pretrained(base_model_path,trust_remote_code=True)# 2. 加载LoRA适配器print(f"Loading LoRA adapter from {lora_path}")lora_model = PeftModel.from_pretrained(base_model,lora_path,torch_dtype=torch.float16)# 3. 合并权重并卸载适配器print("Merging LoRA weights with base model")merged_model = lora_model.merge_and_unload()# 4. 保存合并后的模型print(f"Saving merged model to {output_path}")merged_model.save_pretrained(output_path)tokenizer.save_pretrained(output_path)print("Merge completed successfully!")# 使用示例
if __name__ == "__main__":merge_and_save_model(base_model_path= 基础模型路径lora_path= lora训练后的权重output_path= 合并后模型的输出路径)
http://www.dtcms.com/a/192845.html

相关文章:

  • C++ asio网络编程(6)利用C11模拟伪闭包实现连接的安全回收
  • web3 前端常见错误类型以及错误捕获处理
  • WPS 调整多级编号
  • 【漫话机器学习系列】260.在前向神经网络中初始权重(Initializing Weights In Feedforward Neural Networks)
  • 驱动-Linux定时-timer_list
  • 嵌软面试每日一阅----通信协议篇(二)之TCP
  • ProceedingJoinPoint的认识
  • free void* 指令
  • 第九讲 | 模板进阶
  • manuskript开源程序是面向作家的开源工具
  • 游戏代码混淆的作用与应用分析
  • gRPC为什么高性能
  • RabbitMQ高级篇-MQ的可靠性
  • 2025-5-14Vue3快速上手
  • Git-学习笔记(粗略版)
  • 互联网大厂Java求职面试:构建高并发直播平台的架构设计与优化
  • pycharm中qthread中的run函数debug不上的问题
  • Ubnutu ADB 无法识别设备的解决方法
  • 第六章: SEO与交互指标 二
  • 解决Mawell1.29.2启动SQLException: You have an error in your SQL syntax问题
  • 黑马程序员C++2024版笔记 第0章 C++入门
  • SpringBoot应用启动过程
  • mybatis-plus配置逻辑删除
  • SEO双核驱动:关键词与长尾词优化
  • AI 治理进行时:网信办审核加速,AI 合规刻不容缓
  • 精益数据分析(62/126):从客户访谈评分到市场规模估算——移情阶段的实战进阶
  • 用OBD部署OceanBase社区版的避坑指南
  • 最优化方法Python计算:有约束优化应用——线性不可分问题支持向量机
  • python处理异常,JSON
  • k8s 1.10.26 一次containerd失败引发kubectl不可用问题