跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

多模态大模型垂直微调实战:基于Qwen3-VL-4B-Thinking与 Llama Factory的完整指南

文章目录 一 多模态大模型 1.1 多模态垂直微调 1.2 微调的意义 二 多模态基座模型选择 2.1 多模态模型对比表 2.2 选型建议矩阵 2.3 微调与部署视角选择 三 Qwen3-VL-4B-Thinking理解微调(Llama Factory) 3.1 数据集制作 3.2 实验平台租用和基本环境配置 3.3 数据集上传和注册 3.4 启动llama factory和网页访问 3.5 关键…

ByteFlow发布于 2026/4/6更新于 2026/7/2464K 浏览
多模态大模型垂直微调实战:基于Qwen3-VL-4B-Thinking与 Llama Factory的完整指南
文章目录
  • 一 多模态大模型
    • 1.1 多模态垂直微调
    • 1.2 微调的意义
  • 二 多模态基座模型选择
    • 2.1 多模态模型对比表
    • 2.2 选型建议矩阵
    • 2.3 微调与部署视角选择
  • 三 Qwen3-VL-4B-Thinking理解微调(Llama Factory)
    • 3.1 数据集制作
    • 3.2 实验平台租用和基本环境配置
    • 3.3 数据集上传和注册
    • 3.4 启动llama factory和网页访问
    • 3.5 关键训练参数可视化配置
    • 3.6 模型效果使用体验
    • 3.7 模型导出

一 多模态大模型

  • 多模态大模型(Multimodal Large Language Model, MLLM)能理解并融合两种或多种模态的信息。
  • 模态指信息的表现形式或感知方式。信息类型包括:文字、图像、声音、视频等。

1.1 多模态垂直微调

  • 通用多模态模型追求覆盖广泛,通用理解能力,因此通用多模态模型具备基本的视觉理解能力,但对特定领域的专业格式和语义缺乏精确认知。
  • 多模态模型微调不仅有助于模型看懂图像,还能帮助模型理解图像的语义逻辑。多模态模型视觉编码器负责看,语言模型负责理解和输出,多模态模型微调的目标是使模型在特定领域语境下正确理解图中的内容。
  • 多模态模型微调能够提升模型三个方面的能力:
    • 语义对齐:让模型理解领域专属符号的实际含义。 例:医学报告中的"↑"表示指标偏高,而非箭头符号。
    • 结构化理解:让模型掌握数据的层级关系与布局规律,直接输出结构化结果(如JSON)。例:识别财务报表中"利润总额"与其子项的从属关系。
    • 视觉稳健性:通过接触真实场景样本(模糊、倾斜、印章干扰等),提升对低质量图像的识别稳定性。
    • 核心逻辑:从"看懂文字"到"理解业务含义",再到"应对真实环境"。

1.2 微调的意义

维度核心收益具体表现
输出标准化稳定可控的结构化输出摆脱生成式模型的随机性,持续输出 JSON/表格等标准格式
系统简化降低工程维护成本替代传统正则匹配与版面解析规则,减少硬编码逻辑
泛化适配增强多版本兼容能力单模型覆盖同类文件的多版式变体,弱化模板依赖
数据治理提升全流程数据质量作为视觉识别入口,为下游提供格式统一、字段规范的数据
生态集成无缝衔接业务系统直接对接知识库构建、RAG 检索、数据分析等应用场景

本质转变:从"人工规则驱动"转向"模型能力驱动",将文档理解的复杂性内化为模型参数,而非外化为工程代码。

二 多模态基座模型选择

  • 多模态模型选择需要考虑的前置条件为输入的数据模态、目标任务、本地化部署需求。

2.1 多模态模型对比表

模型模态支持中文能力可私有化代表优势不适合的场景
GPT-4o / GPT-4.5文本、图片、语音、视频、实时交互强(但偏英文)否全模态理解、推理最强、原生多模态融合、实时语音对话不能本地化、成本高、数据隐私敏感场景
Gemini 2.0 Pro / Flash / Ultra文本、图片、音频、视频、代码中等偏强否超长上下文(200万token)、视频摘要顶尖、Google生态集成中文OCR仍有短板、不可控部署
Claude 3.5 Sonnet / Opus (Anthropic)文本、图片、PDF、图表中等部分✅代码理解最强、文档分析精准、安全性高、长上下文无原生视频/音频理解、中文弱于国产模型
Qwen2.5-VL / Qwen3-VL (阿里)文本、图片、图表、文档、视频极强✅中文图文理解顶尖、开源可商用、RAG集成优秀、端侧优化复杂推理略逊于GPT-4o、英文场景稍弱
DeepSeek-VL2 / DeepSeek-OCR图片→文本、文档解析、图表强✅OCR精度极高、结构化输出、成本极低、数学公式识别好通用视觉理解有限、视频支持弱
InternVL2.5 / InternVL3 (商汤/上海AI Lab)文本、图片、表格、视频强✅中文问答优秀、国产生态完善、开放源码、医疗影像强推理速度较慢、国际生态较弱
Kimi k1.5 / Kimi-VL (月之暗面)文本、图片、长文档、视频极强部分✅超长上下文(200万汉字)、中文文档理解顶尖、视频分析API成本较高、视频理解深度有限
GLM-4V / GLM-4V-Plus (智谱AI)文本、图片、视频、Agent工具强✅中英双语均衡、国产合规、视频理解好、工具调用强复杂推理略逊于顶级闭源模型
Step-1V / Step-2V (阶跃星辰)文本、图片、视频强部分✅视频理解能力强、国产创新、长视频分析生态较新、社区资源少、API稳定性待提升
Yi-VL / Yi-Vision (零一万物)文本、图片强✅中文语言流畅、稳定、企业级服务生态未成熟、训练资源少、视频支持弱
LLaVA-OneVision / LLaVA-NeXT文本、图片、视频一般✅开源框架清晰、易微调、学术研究首选中文弱、文档结构理解差、商业支持少
Pixtral Large / Pixtral 12B (Mistral)文本、图片强✅开源性能领先、欧洲合规、多语言支持好中文优化不足、无视频支持
Molmo / Molmo 72B (Ai2)文本、图片中等✅完全开源可商用、学术透明度高、 pointing能力独特中文支持弱、生态系统小
Janus-Pro / Janus-Flow (DeepSeek)文本、图片生成+理解统一强✅统一架构(理解与生成)、开源、成本低视频不支持、生成质量待提升
Sora (OpenAI)文本→视频、图片→视频一般否视频生成质量顶尖、物理模拟真实仅视频生成、无理解能力、中文支持弱

2.2 选型建议矩阵

应用场景首选模型备选方案关键考量
企业级中文文档处理Qwen2.5-VLKimi k1.5, DeepSeek-OCR中文精度、私有化部署、成本
代码+文档混合场景Claude 3.5 SonnetGPT-4o, Qwen2.5-VL代码理解、长上下文、安全性
视频内容分析Gemini 2.0 ProStep-1V, GLM-4V-Plus视频时长支持、理解深度
实时交互/客服GPT-4oGemini 2.0 Flash, Qwen2.5-VL响应速度、多模态融合、成本
开源可商用Qwen2.5-VLInternVL3, LLaVA-OneVision许可证友好度、社区活跃度
超长文本分析Kimi k1.5Gemini 2.0 Pro, Claude 3.5上下文长度、中文支持
OCR/文档结构化DeepSeek-OCRQwen2.5-VL, InternVL3精度、结构化输出、表格识别
端侧/边缘部署Qwen2.5-VL-MobileInternVL-Edge, LLaVA-Mobile模型大小、推理速度、功耗
视频生成SoraRunway Gen-3, Pika 1.5生成质量、物理真实性、可控性

2.3 微调与部署视角选择

需求类型微调重点推荐方式
OCR/报表结构化视觉投影层 + 输出格式SFTLoRA/QLoRA
图表问答跨模态对齐层 + 指令数据SFT + 数据增强
合同/文档问答语言层指令微调轻SFT或DPO
工业检测说明结合CV特征层多任务微调
视频摘要需专门Video Encoder建议API托管
  • 多模态模型的选型应遵循"场景适配优先"原则,而非单纯追求性能最优:
场景特征推荐选型核心考量
通用理解与全模态处理GPT-4V / Gemini 系列综合能力领先,适合复杂推理与跨模态任务
中文文档与结构化提取Qwen-VL / DeepSeek-OCR中文语义理解精准,OCR与表格解析成熟
私有化部署与定制化微调InternVL / Yi-VL开源可控,支持领域适配与长期迭代
  • 企业选型框架:需综合评估输入数据模态、输出结构化要求及部署约束条件,选择兼具适配性、可控性与可扩展性的技术生态,避免盲目追逐前沿指标而忽视落地可行性。

三 Qwen3-VL-4B-Thinking理解微调(Llama Factory)

3.1 数据集制作

  • 完整优化后的数据集已上传到modelscope XFUND-Chinese
  • XFUND:多语言形式理解基准 1.0 zh.train,其中包含众多表格图片,适合进行图表、图片内容提取和整理。
  1. 使用Easy DataSet工具构建数据集,将图片解压后导入Easy DataSet图片管理模块,并使用qwen3.5-plus模型进行数据集构建。关于项目创建和项目模型的配置过程,请自行探索完成。

选择图片,编辑问题模版,填写提问题内容,具体内容如下:

在这里插入图片描述

请仔细分析图片中的表单,提取所有字段及其对应值,按照表单的逻辑结构组织成层次化的 JSON 格式返回。要求:1. 识别并提取表单中的所有字段和对应值,包括填写的内容和选择的选项;2. 根据表单的实际结构,将相关字段归类到适当的子对象中;3. 确保键名清晰准确,反映字段的实际含义;4. 生成严格的 JSON 格式,不含任何额外文本;5. 信息提取必须完整、准确,键值对匹配正确。仅返回 JSON 内容。 
  1. 将导出的json文件更名为qwen3_vl_4B_train.json,导出的内容中图片路径/images/...,手动批量替换为images/...。(注意这里并非最终llama factory训练使用的格式【存在兼容问题】)

选择导出,格式选择Alpaca格式,并打包图片一块儿导出。

在这里插入图片描述

在数据集模块中选择图片问答数据集,进行查看。

在这里插入图片描述

[{"instruction":"请仔细分析图片中的表单,提取所有字段及其对应值,按照表单的逻辑结构组织成层次化的 JSON 格式返回。要求:1. 识别并提取表单中的所有字段和对应值,包括填写的内容和选择的选项;2. 根据表单的实际结构,将相关字段归类到适当的子对象中;3. 确保键名清晰准确,反映字段的实际含义;4. 生成严格的 JSON 格式,不含任何额外文本;5. 信息提取必须完整、准确,键值对匹配正确。仅返回 JSON 内容。","input":"","output":"{\n \"基本信息\": {\n \"女方\": {\n \"姓名\": \"胡青\",\n \"联系电话\": \"15548956960\",\n \"公民身份号码\": \"152027199602130556\",\n \"户籍地\": \"北京市潘弓村第一大街656号\",\n \"现居住地\": \"北京市潘弓村第一大街656号\",\n \"工作单位\": \"北京市潘弓村小学\"\n },\n \"男方\": {\n \"姓名\": \"任洪强\",\n \"联系电话\": \"15656658584\",\n \"公民身份号码\": \"152027099602030041\",\n \"户籍地\": \"北京市潘弓村第一大街633号\",\n \"现居住地\": \"北京市潘弓村第一大街656号\",\n \"工作单位\": \"北京市潘弓村医院\"\n }\n },\n \"婚姻状况\": {\n \"婚姻类型\": \"双方初婚\",\n \"结婚时间\": \"2005年11月5日\",\n \"结婚证号\": \"J110105-5689-525846\"\n },\n \"子女情况\": {\n \"子女数量\": {\n \"总数\": \"1个\",\n \"亲生\": \"1个\",\n \"其他\": \"(新开户免填)\"\n },\n \"第一个子女\": {\n \"姓名\": \"任亚杰\",\n \"性别\": \"男\",\n \"出生日期\": \"2006年1月2日\"\n }\n },\n \"妊娠情况\": {\n \"状态\": \"未孕\"\n },\n \"已生育补登记\": {\n \"新生儿姓名\": \"(新开户免填)\",\n \"性别\": \"(新开户免填)\",\n \"孩次\": \"(新开户免填)\",\n \"出生医学证明编号\": \"(新开户免填)\",\n \"出生日期\": \"(新开户免填)\",\n \"健康情况\": \"(新开户免填)\",\n \"出生地点\": \"(新开户免填)\"\n },\n \"声明与承诺\": {\n \"内容\": \"男女双方系合法夫妻,共有1个子女,其中亲生1个。现依法登记生育第2个子女。我们承诺以上所填信息及提供的材料真实有效,如有不实,愿承担相应法律后果。导致违法生育的,同意按最高标准征收社会抚养费。\"\n },\n \"签署信息\": {\n \"承诺人(签名、指纹)\": \"任洪强\",\n \"女方\": \"胡青\",\n \"男方\": \"任洪强\",\n \"代办人\": \"王志刚\",\n \"代办人身份证号及联系方式\": \"152027099602030041\",\n \"日期\": \"2019年1月20日\"\n },\n \"备注\": \"以上内容由登记对象填写\"\n}","images":["images/zh_train_99.jpg"]},
  1. 将其转化为sharegpt格式(经过实践验证可以正常训练)
python convert_to_sharegpt.py qwen3_vl_4B_train.json qwen3_vl_4B_train_converted.json 
  • convert_to_sharegpt.py
""" Convert Alpaca format to ShareGPT format for multimodal training. """import json import sys defconvert_alpaca_to_sharegpt(input_file, output_file):withopen(input_file,'r', encoding='utf-8')as f: data = json.load(f) converted =[]for item in data:# Build user content with <image> token instruction = item.get('instruction','') input_text = item.get('input','')# Combine instruction and input user_content = instruction if input_text: user_content +='\n'+ input_text # Add <image> token at the beginning for multimodal user_content ='<image>\n'+ user_content # Get assistant response assistant_content = item.get('output','')# Build messages in ShareGPT format messages =[{'role':'user','content': user_content},{'role':'assistant','content': assistant_content}]# Build converted item converted_item ={'messages': messages,'images': item.get('images',[])} converted.append(converted_item)withopen(output_file,'w', encoding='utf-8')as f: json.dump(converted, f, ensure_ascii=False, indent=2)print(f"Converted {len(converted)} items from {input_file} to {output_file}")if __name__ =='__main__':iflen(sys.argv)!=3:print("Usage: python convert_to_sharegpt.py <input_file> <output_file>") sys.exit(1) convert_alpaca_to_sharegpt(sys.argv[1], sys.argv[2])
  • 转化后的内容:
[{"messages":[{"role":"user","content":"<image>\n请仔细分析图片中的表单,提取所有字段及其对应值,按照表单的逻辑结构组织成层次化的 JSON 格式返回。要求:1. 识别并提取表单中的所有字段和对应值,包括填写的内容和选择的选项;2. 根据表单的实际结构,将相关字段归类到适当的子对象中;3. 确保键名清晰准确,反映字段的实际含义;4. 生成严格的 JSON 格式,不含任何额外文本;5. 信息提取必须完整、准确,键值对匹配正确。仅返回 JSON 内容。"},{"role":"assistant","content":"{\n \"基本信息\": {\n \"女方\": {\n \"姓名\": \"胡青\",\n \"联系电话\": \"15548956960\",\n \"公民身份号码\": \"152027199602130556\",\n \"户籍地\": \"北京市潘弓村第一大街656号\",\n \"现居住地\": \"北京市潘弓村第一大街656号\",\n \"工作单位\": \"北京市潘弓村小学\"\n },\n \"男方\": {\n \"姓名\": \"任洪强\",\n \"联系电话\": \"15656658584\",\n \"公民身份号码\": \"152027099602030041\",\n \"户籍地\": \"北京市潘弓村第一大街633号\",\n \"现居住地\": \"北京市潘弓村第一大街656号\",\n \"工作单位\": \"北京市潘弓村医院\"\n }\n },\n \"婚姻状况\": {\n \"婚姻类型\": \"双方初婚\",\n \"结婚时间\": \"2005年11月5日\",\n \"结婚证号\": \"J110105-5689-525846\"\n },\n \"子女情况\": {\n \"子女数量\": {\n \"总数\": \"1个\",\n \"亲生\": \"1个\",\n \"其他\": \"(新开户免填)\"\n },\n \"第一个子女\": {\n \"姓名\": \"任亚杰\",\n \"性别\": \"男\",\n \"出生日期\": \"2006年1月2日\"\n }\n },\n \"妊娠情况\": {\n \"状态\": \"未孕\"\n },\n \"已生育补登记\": {\n \"新生儿姓名\": \"(新开户免填)\",\n \"性别\": \"(新开户免填)\",\n \"孩次\": \"(新开户免填)\",\n \"出生医学证明编号\": \"(新开户免填)\",\n \"出生日期\": \"(新开户免填)\",\n \"健康情况\": \"(新开户免填)\",\n \"出生地点\": \"(新开户免填)\"\n },\n \"声明与承诺\": {\n \"内容\": \"男女双方系合法夫妻,共有1个子女,其中亲生1个。现依法登记生育第2个子女。我们承诺以上所填信息及提供的材料真实有效,如有不实,愿承担相应法律后果。导致违法生育的,同意按最高标准征收社会抚养费。\"\n },\n \"签署信息\": {\n \"承诺人(签名、指纹)\": \"任洪强\",\n \"女方\": \"胡青\",\n \"男方\": \"任洪强\",\n \"代办人\": \"王志刚\",\n \"代办人身份证号及联系方式\": \"152027099602030041\",\n \"日期\": \"2019年1月20日\"\n },\n \"备注\": \"以上内容由登记对象填写\"\n}"}],"images":["images/zh_train_99.jpg"]},

3.2 实验平台租用和基本环境配置

使用优云智算上租用单卡A800进行实验。

在这里插入图片描述

  1. 配置网络加速:临时修改 DNS(立即生效,重启后失效)​。
sudovim /etc/resolv.conf 删除原有nameserver行,添加以下内容 nameserver 100.90.90.90 nameserver 100.90.90.100 
  1. 安装mini anaconda
cd ~ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh 
  • 接受 license:输入 yes。
  • 安装路径推荐直接按回车(默认在 /home/ubuntu/miniconda3)。
  • 初始化 conda:输入 yes。
  1. 创建虚拟环境,安装llama factory。
conda create --name llama_factory python==3.11 conda activate llama_factory git clone --depth1 https://github.com/hiyouga/LlamaFactory.git cd LLaMA-Factory pip install-e. pip install-r requirements/metrics.txt pip install-r requirements/swanlab.txt llamafactory-cli version 
  1. 模型下载:安装modelscope。
mkdir base_model cd bas_model pip install modelscope modelscope download --model Qwen/Qwen3-VL-4B-Thinking --local_dir ./Qwen3-VL-4B-Thinking 

3.3 数据集上传和注册

  1. 将qwen3_vl_4B_train_converted.json上传到/home/ubuntu/LLaMA-Factory/data目录下,在data目录下新建images目录存放所有图片。
(base) ubuntu@10-60-22-22:~/LLaMA-Factory/data$ tree . ├── convert_to_sharegpt.py ├── dataset_info.json ├── qwen3_vl_4B_train.json ├── qwen3_vl_4B_train_converted.json ├── images #图片目录
  1. 在dataset_info.json中注册数据集信息。
{"qwen3_vl_4B_train":{"file_name":"qwen3_vl_4B_train_converted.json", "formatting":"sharegpt", "columns":{"messages":"messages", "images":"images"}, "tags":{"role_tag":"role", "content_tag":"content", "user_tag":"user", "assistant_tag":"assistant"}}, "identity":{"file_name":"identity.json"}, 

3.4 启动llama factory和网页访问

cd LLaMA-Factory nohup llamafactory-cli webui > webui.log 2>&1&

虽然优云智算平台提供服务器公网ip,如果不想配置防火墙或者不想将服务暴露到公网,可以使用gmssh客户端的浏览器功能使用内网ip进行访问和使用。

在这里插入图片描述

在这里插入图片描述

安装使用trae工具,远程链接服务器,输入密码,然后选择LLaMA-Factory目录,进行代码编辑和查阅。

在这里插入图片描述

3.5 关键训练参数可视化配置

在这里插入图片描述

选择预览预览命令,并保存训练配置,然后点击训练开始即可,大约需要1h。

在这里插入图片描述

swanlab登录和日志记录。

在这里插入图片描述

llamafactory-cli train \--stage sft \--do_train True \--model_name_or_path base_model/Qwen3-VL-4B-Thinking \--preprocessing_num_workers16\--finetuning_type lora \--template qwen3_vl \--flash_attn auto \--dataset_dir data \--dataset qwen3_vl_4B_train \--cutoff_len2048\--learning_rate 5e-05 \--num_train_epochs30.0\--max_samples100000\--per_device_train_batch_size2\--gradient_accumulation_steps8\--lr_scheduler_type cosine \--max_grad_norm1.0\--logging_steps5\--save_steps100\--warmup_steps0\--packing False \--enable_thinking True \--report_to none \--use_swanlab True \--output_dir saves/Qwen3-VL-4B-Thinking/lora/train_2026-02-28-17-55-16 \--bf16 True \--plot_loss True \--trust_remote_code True \--ddp_timeout180000000\--include_num_input_tokens_seen True \--optim adamw_torch \--lora_rank8\--lora_alpha16\--lora_dropout0\--lora_target all \--freeze_vision_tower True \--freeze_multi_modal_projector True \--image_max_pixels589824\--image_min_pixels1024\--video_max_pixels65536\--video_min_pixels256\--swanlab_project qwen3vl-4B-ft \--swanlab_run_name qwen3vl-4B-ft \--swanlab_workspace xxx \--swanlab_mode cloud 
参数值含义
--stagesft训练阶段:Supervised Fine-Tuning(监督微调),在预训练模型基础上用标注数据进行有监督学习
--do_trainTrue执行训练:启用训练模式,而非仅评估或推理
--model_name_or_pathbase_model/Qwen3-VL-4B-Thinking基座模型路径:加载的预训练模型位置,Qwen3-VL-4B-Thinking是阿里开源的多模态小模型(40亿参数,带思考能力)
--preprocessing_num_workers16数据预处理并行数:使用16个CPU进程并行处理数据加载和预处理,加速数据准备
--finetuning_typelora微调方法:Low-Rank Adaptation(低秩适配),只训练少量适配参数,冻结原模型大部分权重,节省显存
--templateqwen3_vl对话模板:使用Qwen3-VL模型的官方对话格式模板,确保指令遵循风格一致
--flash_attnautoFlash Attention:自动检测并启用Flash Attention优化,加速注意力计算并减少显存占用
--dataset_dirdata数据集目录:训练数据存放的根目录
--datasetqwen3_vl_4B_train数据集名称:具体使用的数据集配置文件名,需在dataset_info.json中定义
--cutoff_len2048序列截断长度:单条样本最大token数,超过则截断,控制显存占用和计算量
--learning_rate5e-05学习率:0.00005,LoRA微调常用范围,控制参数更新步长
--num_train_epochs30.0训练轮数:完整遍历训练数据30次,LoRA可适当增加epoch
--max_samples100000最大样本数:最多使用10万条样本,防止数据过多导致训练过长
--per_device_train_batch_size2单设备批次大小:每张GPU每步处理2条样本,配合梯度累积实现有效大batch
--gradient_accumulation_steps8梯度累积步数:每8步才更新一次参数,等效batch size = 2×8=16,节省显存
--lr_scheduler_typecosine学习率调度器:余弦退火,学习率从初始值按余弦曲线衰减到0,平滑收敛
--max_grad_norm1.0梯度裁剪阈值:梯度范数超过1.0时进行裁剪,防止梯度爆炸
--logging_steps5日志记录间隔:每5步打印一次训练日志(loss、学习率等)
--save_steps100模型保存间隔:每100步保存一次checkpoint,便于恢复和中断续训
--warmup_steps0预热步数:0表示不进行学习率预热,直接从初始学习率开始
--packingFalse样本打包:不启用,若启用会将多条短样本拼接成一条长序列提高效率
--enable_thinkingTrue启用思考模式:Qwen3特有,保留模型的链式思考(CoT)能力,输出带推理过程
--report_tonone默认报告工具:不使用HuggingFace默认的tensorboard/wandb等
--use_swanlabTrue启用SwanLab:使用国产实验跟踪工具替代wandb
--output_dirsaves/...输出目录:模型保存路径,含时间戳便于区分不同实验
--bf16TrueBF16混合精度:使用bfloat16格式训练,加速计算且比fp16更稳定
--plot_lossTrue绘制损失曲线:训练结束后自动生成loss变化图
--trust_remote_codeTrue信任远程代码:允许执行模型仓库中的自定义代码,多模态模型通常需要
--ddp_timeout180000000DDP超时时间:分布式训练超时阈值(秒),设极大值防止大数据集加载超时
--include_num_input_tokens_seenTrue统计输入token数:记录实际处理的输入token总量,便于计算吞吐量
--optimadamw_torch优化器:PyTorch原生AdamW,带动量衰减的Adam变体
--lora_rank8LoRA秩:低秩矩阵的秩,决定适配参数量,8是较小值适合轻量微调
--lora_alpha16LoRA缩放系数:实际缩放比例为alpha/rank=2,控制LoRA对原始权重的影响强度
--lora_dropout0LoRA Dropout:0表示不丢弃,全量使用LoRA参数,小数据集可防过拟合
--lora_targetallLoRA目标模块:对所有线性层应用LoRA,包括q_proj/k_proj/v_proj/o_proj等
--freeze_vision_towerTrue冻结视觉编码器:不训练图像编码部分(ViT),保持预训练视觉特征提取能力
--freeze_multi_modal_projectorTrue冻结多模态投影层:不训练视觉-语言对齐的投影层,进一步减少可训练参数
--image_max_pixels589824图像最大像素:768×768=589824,超过则缩放,控制视觉输入计算量
--image_min_pixels1024图像最小像素:32×32=1024,过小图像会放大,保证基本信息
--video_max_pixels65536视频最大像素:256×256=65536,视频帧的分辨率上限,降低视频处理负担
--video_min_pixels256视频最小像素:16×16=256,视频帧分辨率下限
--swanlab_projectqwen3vl-4B-ftSwanLab项目名:实验所属项目名称,用于分组管理
--swanlab_run_nameqwen3vl-4B-ftSwanLab运行名:单次实验的名称标识
--swanlab_workspacexxxSwanLab工作空间:团队/个人工作空间ID
--swanlab_modecloudSwanLab模式:云端模式,数据上传到SwanLab服务器查看

在这里插入图片描述

3.6 模型效果使用体验

  • 上传图片,输入问题,尽量保持问题与训练的问题一致。

选择对话,输入检查点路径,然后加载模型。

在这里插入图片描述

请仔细分析图片中的表单,提取所有字段及其对应值,按照表单的逻辑结构组织成层次化的 JSON 格式返回。要求:1. 识别并提取表单中的所有字段和对应值,包括填写的内容和选择的选项;2. 根据表单的实际结构,将相关字段归类到适当的子对象中;3. 确保键名清晰准确,反映字段的实际含义;4. 生成严格的 JSON 格式,不含任何额外文本;5. 信息提取必须完整、准确,键值对匹配正确。仅返回 JSON 内容。 
类型数值
max_leng_token1024
top-p0.7
Temperature0.7

在这里插入图片描述

在这里插入图片描述

3.7 模型导出

在这里插入图片描述

目录

  1. 文章目录
  2. 一 多模态大模型
  3. 1.1 多模态垂直微调
  4. 1.2 微调的意义
  5. 二 多模态基座模型选择
  6. 2.1 多模态模型对比表
  7. 2.2 选型建议矩阵
  8. 2.3 微调与部署视角选择
  9. 三 Qwen3-VL-4B-Thinking理解微调(Llama Factory)
  10. 3.1 数据集制作
  11. 3.2 实验平台租用和基本环境配置
  12. 3.3 数据集上传和注册
  13. 3.4 启动llama factory和网页访问
  14. 3.5 关键训练参数可视化配置
  15. 3.6 模型效果使用体验
  16. 3.7 模型导出
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Nginx 核心配置与实战指南
  • Python 与 NumPy、Pandas、Matplotlib 版本对应关系表
  • Unreal Engine 5 中 VRM4U 插件使用指南与性能优化
  • Stable Diffusion 秋叶整合包快速上手指南
  • 前端状态管理:Recoil 的原子化方案
  • H3C 交换机基本运维命令及配置案例
  • AI 大模型核心概念、原理与应用全景解析
  • OpenClaw 手机端部署与实战指南
  • JVM 核心原理与运行时架构详解
  • 人工智能:自然语言处理在教育领域的应用与实战
  • DSRL: 使用潜空间强化学习引导扩散策略
  • Web-Check 部署与远程访问实战:Docker + cpolar 内网穿透
  • Qwen3 235B FP8 推理模型技术解析
  • Vue3 组件方法调用失败?可能是 Composition API 暴露方式没写对
  • OpenClaw 飞书机器人配置:群消息免@自动回复
  • Spring Boot 虚拟线程时代:WebFlux 与 WebMVC 的选型抉择
  • WebAssembly Studio 在线开发环境完全指南
  • 基于 FPGA 的 Mini-LVDS 接收技术指南
  • VLA 机器人技术解析:10 篇关键视觉 - 语言 - 动作模型论文
  • PRIDE-PPPAR:多系统 GNSS 精密定位开源解决方案

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online