Qwen-Image微调(含源码)
大家好,我是烤鸭:使用大模型的时候,都遇到过类似的问题,有些概念模型不知道,导致结果不符合预期。比如使用Qwen-Image生成某一个没经训练过的图,这时候就需要进行模型微调。今天这篇文章主要写一下Qwen-Image的微调。
大家好,我是烤鸭:
使用大模型的时候,都遇到过类似的问题,有些概念模型不知道,导致结果不符合预期。比如使用Qwen-Image生成某一个没经训练过的图,这时候就需要进行模型微调。今天这篇文章主要写一下Qwen-Image的微调。
概念
我们在说Qwen-Image的微调之前,先看几个概念。
模型训练:模型训练的本质是一个求解最优化问题的过程。通过不断迭代优化,旨在找到一组最优参数,使得模型对于给定输入的预测输出与真实输出之间的差异最小化,这个差异通常通过损失函数来衡量。
通常有3种训练方式:预训练 -> 微调 -> 强化学习(基于人类反馈)
而预训练又包含:pre-training和post-pretraining,微调又包含:Full Fine-tuning和 Parameter-efficient fine-tuning,文章不讨论太深入的,主要是实用方面。
下面是文本模型的例子:
那么一般这3种都用于哪些用途:
预训练(Pre-training):数据集合足够大和多样化,让模型学习到广泛的特征和模式。比如想做一个汽车行业的文本模型,不需要精确标注数据,先把所有的相关概念都做成数据集,生成的通用模型。
微调(Fine-tuning):相对较小的、特定任务的包含了明确的标签的数据集,比如想做一个想让问让文本理解某款"新车"的配置或者外观,再或者理解某些特定的汽车行业"黑话"或者专业术语,生成的特定领域的微调模型。
人类反馈强化学习(RLHF): SFT (Supervised Fine-Tuning) + RM (Reward Modeling) + RL (Reinforcement Learning)。系统需要两种人类偏好数据:人工生成的文本和对模型输出的偏好标签。生成高质量回答需要雇佣兼职人员 (而不能依赖产品用户和众包) 。
Qwen-Image的微调
我的需求是想让Qwen-Image生成一款市面上刚上市的新车图片,但是Qwen-Image生成的车型一直不对。以乐道L90为例,如何让Qwen-Image理解乐道L90的车是什么样子。
准备数据
乐道L90这款车的图片。
https://photo.yiche.com/photo/photolist_11447_master_757/
我们最好找一些能展示完全特征的图。
数据标注
标注使用的模型是 :https://modelscope.cn/models/Qwen/Qwen2.5-VL-7B-Instruct
提示词如下:
你是一个专业的汽车图片分析与标注工具,需要对输入的汽车图片进行全面、精准的结构化描述,重点涵盖整车属性和车标细节。请严格按照以下规则,以中文输出结果:核心任务识别并描述图片中汽车的整车关键属性,以及车标具体特征,确保信息完整且准确。输出内容需结构化、可直接用于数据训练(如 qwen-image 模型的训练数据),避免模糊表述。标注维度与要求一、整车属性描述基本信息:车辆类型(如轿车、SUV、卡车、跑车等);车身颜色(需精确描述,如珍珠白、深空灰、哑光黑、宝石蓝等,避免 “浅色”“深色” 等模糊词);车辆姿态(如正前方、侧前方 45°、正侧方、后方、俯视图等);车辆状态(如静止、行驶中、改装车、概念车等,无特殊状态可标注 “标准量产状态”)。外观细节:前脸设计(如格栅形状:横幅式、蜂窝状、网状;大灯类型:LED、矩阵式、圆形复古灯等);车身线条(如溜背式、平直腰线、肌肉感线条等);其他特征(如有无天窗、轮毂样式、是否带尾翼、车窗边框材质等,根据图片可见性标注)。二、车标细节描述位置与形态:车标位置(如车头正中央、格栅内部、引擎盖前端、车尾等)车标形状是以字母“N”为核心设计元素,采用波浪线造型;颜色构成(如单色:金色、银色、黑色;多色:蓝白相间、红黑搭配等)。
训练好数据结构如下,图片+对应的txt描述文件
随便贴一个结果:
### 整车属性描述\n\n- **车辆类型**:轿车\n- **车身颜色**:银灰色\n- **车辆姿态**:正前方\n- **车辆状态**:标准量产状态\n\n### 外观细节\n\n- **前脸设计**:\n- 格栅形状:横幅式\n- 大灯类型:LED\n- **车身线条**:平直腰线\n- **其他特征**:无天窗、轮毂样式不可见、无尾翼、车窗边框材质不可见\n\n### 车标细节描述\n\n- **位置**:车头正中央\n- **形状**:以字母“N”为核心设计元素,采用波浪线造型\n- **颜色构成**:银色
开始训练
这里使用的是开源项目:https://github.com/FlyMyAI/flymyai-lora-trainer
单卡4090 * 24G,即可训练Qwen-Image
训练成功后会按照设置的checkpoint-step目录下生成 pytorch_lora_weights.safetensors
免费标注和训练
如果你没有那么多的算力资源,无法标注或者训练。
直接白嫖魔塔社区,https://modelscope.cn/aigc/modelTraining
创建数据集:
智能打标:
开始训练:
使用微调safetensors
在Comfyui创建工作流,加载Lora节点
关于细节不好的问题,也跟作者反馈过,车标或者轮胎细节生成的不好,作者的反馈是针对logo图片训练
https://github.com/FlyMyAI/flymyai-lora-trainer/issues/23
总结
一般公司不值得做自己的大模型,花费成本估计是亿万级别的。
以文本模型为例,之前都宣传部署本地的deepseek,但是底层模型的能力毕竟是有限的。
比如 法律行业、医疗行业等行业术语不知道,有能力的基于基座模型做微调,没能力的挂载知识库。
还是那句话,选择适合自己的大模型最重要。如果是创业公司,不如直接调官方API来的方便。
文章参考
https://blog.csdn.net/u012723183/article/details/139627982
https://cloud.tencent.com/developer/article/2398343
https://blog.csdn.net/zhilaizhiwang/article/details/141755192
https://www.dailydoseofds.com/implementing-dora-an-improved-lora-from-scratch/
https://zhuanlan.zhihu.com/p/645649292
https://blog.csdn.net/Y525698136/article/details/150058545
https://www.cnblogs.com/junhengwang/p/18806346
https://baijiahao.baidu.com/s?id=1826882165583568205&wfr=spider&for=pc
https://blog.csdn.net/python1222_/article/details/141497507
https://zhuanlan.zhihu.com/p/1948716343013676847
https://blog.csdn.net/m0_57081622/article/details/147718790
更多推荐
所有评论(0)