Qwen2大语言模型微调、导出、部署实践

上篇文章: Qwen1.5大语言模型微调实践_qwen1.5 7b微调-CSDN博客 

我们介绍了Qwen1.5 大语言模型使用LLaMA-Factory 来微调,这篇文章我们介绍一下微调后模型的导出、部署。

一、模型导出

在webui 界面训练好模型之后点击“Export”选项卡,然后,在“模型路径”中输入原始模型路径,然后在“检查点路径(适配器路径)”中选择自己微调得到的 adapter 路径,然后在“最大分块大小(GB)”中设置为4,同时设置一下导出目录,最后点击“开始导出”,就可以看到输出的模型了。

导出的模型:

二、模型部署

这里我使用 llama.cpp 来本地部署, llama.cpp 可以使用纯 c/c++ 来进行推理,不需要依赖库或者其他的部署框架。

1.部署环境搭建

克隆仓库到本地,并编译:

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

安装一下模型转换为gguf所需的依赖环境:

pip install -r requirements.txt

2.把自己训练好的模型转换为gguf模型

先把自己训练好导出的 qwen2-7b模型文件夹 拷贝到 llama.cpp/models 目录下,然后再使用以下命令转换为gguf 格式的模型:

# [Optional] for models using BPE tokenizers
python convert-hf-to-gguf.py models/qwen2_7b

在该目录下就会生成 ggml-model-f16.gguf 文件

3.对gguf-f16 模型进行量化

# quantize the model to 4-bits (using Q4_K_M method)
./llama-quantize ./models/qwen2-7b/ggml-model-f16.gguf ./models/qwen2-7b/ggml-model-Q4_K_M.gguf Q4_K_M

生成量化后的Q4 模型 ggml-model-Q4_K_M.gguf 

4.运行gguf模型

./llama-cli -m ./models/qwen2-7b/ggml-model-Q4_K_M.gguf -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt

这样我们就可以把模型部署好了,同时也可以使用服务器模块把整个部署为服务端,方便不同的设备通过网络进行访问调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/853683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt 实战(4)信号与槽 | 4.1、信号与槽机制

文章目录 一、信号与槽机制1、基本概念2、信号与槽函数连接2.1、connect宏实现信号与槽连接2.2、Qt5新connect函数2.3、使用函数指针2.4、使用lambda表达式2.5、使用Qt Creator添加信号的槽函数 3、结论 前言: Qt信号与槽机制是一种用于处理对象间通信的强大机制&am…

详解 std::array

已经有了传统数组,为什么要用 std::array? 在C编程中,数组是一种基本的数据结构,用于存储相同类型的元素集合。然而,传统C风格数组(C-style array)虽然简单,但在使用上也存在诸多限制和潜在问…

技巧栏练习题

136. 只出现一次的数字 题干中要求做到线性时间复杂度和常数空间复杂度。 考虑使用位运算。使用异或运算有以下三个性质: 任何数和0 做异或运算,结果仍然是原来的数。 任何数和其自身做异或运算,结果是 0。 异或运算满足交换律和结合律。 …

快速LLaMA:面向大型语言模型的查询感知推理加速 论文摘要翻译与评论

论文摘要翻译与评论 论文标题: QuickLLaMA: Query-aware Inference Acceleration for Large Language Models 提出的框架 我们Q-LLM框架的示意图。来自记忆上下文的输入被分割成记忆块,通过查询感知的上下文查找来搜索与查询相关的块。目前的键值缓存…

ATMEGA16读写24C256

代码&#xff1a; #include <mega16.h> #include <stdio.h> #include <i2c.h> #include <delay.h> // Declare your global variables here #define EEPROM_BUS_ADDRESS 0xa0 #asm.equ __i2c_port0x15.equ __sda_bit1 .equ __scl_bit0 #endasm uns…

【深度学习】TCN,An Empirical Evaluation of Generic Convolutional【二】

文章目录 膨胀卷积什么是膨胀卷积膨胀卷积公式PyTorch代码 从零开始手动实现一个1D膨胀卷积&#xff0c;不使用PyTorch的nn.Conv1d1. 基本概念2. 手动实现1D膨胀卷积 TCN结构如何使用TCN源码说明1. Chomp1d 类2. TemporalBlock 类3. TemporalConvNet 类 使用方法 膨胀卷积 什么…

DC/AC电源模块:为电动车充电基础设施提供高效能源转换

BOSHIDA DC/AC电源模块&#xff1a;为电动车充电基础设施提供高效能源转换 DC/AC电源模块是一种用于电动车充电基础设施的重要组件&#xff0c;它能够实现高效能源转换。在电动车的普及和推广过程中&#xff0c;DC/AC电源模块的重要性日益凸显。本文将从DC/AC电源模块的基本原…

281 基于matlab的路径规划GUI交互

基于matlab的路径规划GUI交互。包括蚁量系统、蚁周系统、蚁密系统、蚁群系统、免疫混合算法。11种路径规划数据&#xff0c;最多225个规划点。蚁群和免疫算法的参数可进行设置&#xff0c;使得效果最佳。动态显示可视化规划结果。程序已调通&#xff0c;可直接运行。

JVM 性能分析——jdk 自带命令分析工具(jps/jstat/jinfo/jmap/jhat/jstack)

文章目录 jps&#xff08;Java Process Status&#xff09;&#xff1a;查看正在运行的Java进程jstat&#xff08;JVM Statistics Monitoring Tool&#xff09;&#xff1a;查看 JVM 的统计信息jinfo&#xff08;Configuration Info for Java&#xff09;&#xff1a;实时查看和…

ORDER BY FIELD

ORDER BY FIELD 是MySQL中的一个特殊排序函数&#xff0c;它允许你基于一个自定义的值列表对查询结果进行排序。这在你需要对结果集按照特定顺序展示时非常有用&#xff0c;而不是默认的升序或降序排列。下面是如何使用ORDER BY FIELD的简要说明和示例&#xff1a; 基本语法 SE…

python的变量的引用与赋值的学习

看代码&#xff1a; a 1 # 初始化变量a&#xff0c;赋值为1 b a # 变量b被赋值为变量a的值&#xff0c;此时b的值也为1 b 2 # 变量b被重新赋值为2 print(a) # 打印变量a的值 执行过程如下&#xff1a; a 1&#xff1a;变量a被赋值为1。b a&#xff1a;变量b被赋值为…

电子电气架构 --- 智能座舱功能应用

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

MFC工控项目实例之四在调试目录下创建指定文件夹

承接专栏《MFC工控项目实例之三theApp变量传递对话框参数》 在调试目录Debug下创建DATA、LIB、TEMP三个文件夹 1、SEAL_PRESSURE.h中添加代码 class CSeatApp : public CWinApp { ... public:CString m_Path;CString m_DataPath,m_TempPath,m_LibPath; ... };2、SEAL_PRESSURE…

LabVIEW电子类实验虚拟仿真系统

开发了基于LabVIEW开发的电子类实验虚拟仿真实验系统。该系统通过图形化编程方式&#xff0c;实现了复杂电子实验操作的虚拟化&#xff0c;不仅提高了学生的操作熟练度和学习兴趣&#xff0c;而且通过智能评价模块提供即时反馈&#xff0c;促进教学和学习的互动。 项目背景 在…

R 初级教程之一

IT的发展目前已经相当的内卷&#xff0c;到处都在说24年是将来4年最难的一年&#xff01;确实是&#xff0c;眼下各大厂商都在疯狂的裁员砍掉不营利的业务&#xff0c;收紧业务&#xff0c;不再盲目的扩张。小公司更是水深火热&#xff0c;无以言表。近期有个医院联系让使用R给…

8、Spring之Bean生命周期~销毁

8、Spring之Bean生命周期~销毁 销毁requiresDestruction()方法hasDestroyMethod()方法inferDestroyMethodIfNecessary()方法 销毁 AnnotationConfigApplicationContext context new AnnotationConfigApplicationContext(AppConfig.class); UserService userService (UserSer…

AI Stable diffusion 报错:稳定扩散模型加载失败,退出

可能是内存不够&#xff0c;看看你最近是加了新的大的模型&#xff0c;可以把你的stable-diffusion-webui\models\Stable-diffusion目录下的某个ckpt删除掉&#xff0c;可能ckpt太大&#xff0c;无法加载成功&#xff1b; Stable diffusion model failed to load, exiting 如图…

天阳科技集团北京卡洛其项目管理专家李先林受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 天阳科技集团北京卡洛其项目管理专家李先林先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“应用软件项目管理标准化实践探讨”。大会将于6月29-30日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1…

面试专区|【41道Django高频题整理(附答案背诵版)】

解释一下 Django 和 Tornado 的关系&#xff1f; Django和Tornado都是Python的web框架&#xff0c;但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架&#xff0c;鼓励快速开发和干净、实用的设计。它遵循MVC设计&#xff0c;并强调代码复用。Django有…

代码随想录算法训练营day57 | 1143.最长公共子序列、1035.不相交的线、53. 最大子序和

1143.最长公共子序列 1、确定dp数组以及下标的含义 dp[i][j]&#xff1a;长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列为dp[i][j] 2、确定递推公式 主要就是两大情况&#xff1a; text1[i - 1] 与 text2[j - 1]相同&#xff0c;text1[i …