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

LLamaFactory微调效果与vllm部署效果不一致如何解决

LLamaFactory 大模型微调框架

官网:https://llamafactory.readthedocs.io

对应当下大模型微调训练比较热门的框架,详细信息可以到官网进行了解。
本篇文章主要来记录 我在使用 LLamaFactory 框架进行数据微调后,使用vllm 或者 LMDeploy 进行发布是遇到的问题进行详细说明。

熟悉 LLamaFactory 框架的都知道, LLamaFactory对大模型进行微调训练时比较好的点就是我们在 使用

llamafactory-cli webui

启动后会有可视化网页 进行微调参数配置。
LLamaFactory webui 页面
这是我这使用Qwen2.5-0.5b 模型进行训练配置页面;我们在选择模型名称后会要选择对话模板。

训练模型配置对话模板

对话模板: 这里的模型对话模板时LLamaFactory 框架根据qwen 模型进行定义的 对话模板, LLamaFactory 真的不同的模型定义了不同的对话模板, 这里点很重要, 这关乎了我们在发布模板时能够正确的进行输入对话。

不同的大模型都对应的定义了自己的对话模板。并且不同的版本也有不同:
在这里插入图片描述
如图上:LLamaFactory 的对话模板 选择就有很多种,就算是qwen 都有很多不同的对话模板。所有我们在进行模型训练的时候特别要注意选择好对应模型对应的对话模板。这里的不同处接下来在详情介绍。

我在使用 LLamaFactory 对模型训练后使用 LLamaFactory 的chat 进行测试时发现训练效果没问题, 能够很好的回答出数据提供的问题,但是在我对模型进行合并后,使用Vllm 或者使用LMDeploy 进行发布后, 在进行问答测试发现回答问题不对。

问题分析
引起这种情况的原因有两情况:
1、模型本身的训练没有达到要求;
2、模型对话模板不正确;

模型训练

训练商品评价查看 情感分析效果

这是我是 Qwen2.5-0.5b 基础模型进行训练,商品评价数据进行情感分析训练,想使用Qwen2.5-0.5b 测试看能否达到情感分析效果:

数据处理

我自己组装的数据:
测试数据集

训练完成进行效果测试

训练完成在 LLamaFactory 进行测试,效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试效果看着还不错。

训练完成导出模型:

接下来将训练模型进行导出:
在这里插入图片描述

导出模型成功,导出的模型进行测试

导出模型成功, 在对导出的模型进行测试:
加载合并的模型
导出模型的测试效果:
测试1
测试2
看效果还是没问题,与没有导出效果一样。

使用vllm 对导出的模型发布测试:

vllm安装:
操作系统:Linux
Python: 3.9 – 3.12

接下来安装vllm 进行发布测试;

安装Vllm 过程就不在这篇文档中来说明了:可以到官网查看
https://docs.vllm.com.cn/en/latest/getting_started/quickstart.html

使用 vllm 启动模型(这里我启动的是转换为GGUF 格式的模型)

vllm serve /root/project/Qwen/Qwen2.5-0.5B-Instruct-merge-F16.gguf

vllm 启动服务后监听的端口为8000
vllm服务启动图片
这里我使用openai 访问接口进行对话测试:

#多轮对话
from openai import OpenAI#定义多轮对话方法
def run_chat_session():#初始化客户端client = OpenAI(base_url="http://localhost:8000/v1/",api_key="olla
http://www.xdnf.cn/news/820.html

相关文章:

  • Docker概念详解
  • Docker 基本概念与安装指南
  • 在 Android 中实现通话录音
  • Discuz!与DeepSeek结合:打造智能论坛,提升用户体验与运营效率
  • 华为认证是什么?
  • 【C++软件实战问题排查经验分享】UI界面卡顿 | CPU占用高 | GDI对象泄漏 | 线程堵塞 系列问题排查总结
  • [预备知识]2. PyTorch基本操作
  • [Qt]双击事件导致的问题
  • Kafka 如何理解Kafka的高可用
  • AI对话高效输入指令攻略(三):使用大忌——“AI味”
  • IDEA打不开、打开报错
  • idea远程debug调试
  • eBay自动化定价陷阱调查:价格战背后的利润黑洞与破局之道
  • redis队列 和 秒杀应用
  • 音视频学习(三十五):aud
  • 什么是AI智能音视频?小天互连即时通讯带您体验
  • ECharts散点图-散点图13,附视频讲解与代码下载
  • 多级缓存架构,让系统更快的跑起来!
  • P5670 秘籍-反复异或 Solution
  • 微软Edge浏览器字体设置
  • Matlab自学笔记五十一:(推荐)输入参数的数量和可变数量的输入
  • 前端笔记-JavaScript(下)
  • Python多进程同步全解析:从竞争条件到锁、信号量的实战应用
  • 基于javaweb的SpringBoot爱心捐赠平台系统设计与实现(源码+文档+部署讲解)
  • 免费图片软件,可矫正倾斜、调整去底效果
  • Deepseek生成图片,支持手机和PC
  • 【KWDB 创作者计划】_上位机知识篇---Arduino
  • Sharding-JDBC 系列专题 - 第二篇:广播表(Broadcast Tables)
  • docker常用命令
  • C语言究竟是一门怎样的语言