资讯动态

如何微调InternVL2_5-26B:SWIFT、XTuner与原生训练三套工具对比指南

发布时间:2026/10/18 1:34:17 来源:尧图企业网站定制
【免费下载链接】InternVL2_5-26B项目地址https://ai.gitcode.com/OpenGVLab/InternVL2_5-26B点击查看免费下载InternVL2_5-26B 是 OpenGVLab 开源的 26B 参数多模态大模型基于 ViT-MLP-LLM 架构支持图像、多图与视频理解。本文对比SWIFT、XTuner与原生训练三套微调工具从工具选型、关键命令、三阶段训练流程、显存估算到常见避坑帮助新手用最小成本选对 InternVL2_5-26B 的微调方案。一、动手前30 秒看懂 InternVL2_5-26B 的三段式结构InternVL2_5-26B 是由两个基础模型合并而来见 README.md视觉编码器InternViT-6B-448px-V2_545 层负责把图像切块并提取视觉特征MLP 投影器把视觉特征映射到语言模型的语义空间语言模型internlm2_5-20b-chat48 层、6144 隐藏维度负责文本生成微调时最相关的是下面 3 个参数见 config.json参数取值微调意义force_image_size448图像切片尺寸 448×448max_dynamic_patch12动态分辨率切片数上限直接决定视觉 token 量use_backbone_lora/use_llm_lora0官方内置的视觉塔 / 语言塔 LoRA 开关见 configuration_internvl_chat.py模型的前向与生成逻辑在 modeling_internvl_chat.py对话模板定义在 conversation.py。上图是仓库自带的官方示例图 examples/image1.jpg也是大家微调后最先用来检验理解能力的图片。二、SWIFT / XTuner / 原生训练怎么选一张对比表看懂工具定位微调方式适合谁SWIFT命令行一体化 VLM 训练框架LoRA / QLoRA / 全参 SFT、对齐训练上手最快、指令微调自有数据️XTunerInternLM 生态训练框架YAML 配置全参 / LoRA / QLoRA熟悉 InternLM 生态、做参数实验原生训练官方三阶段流水线MLP 预热 → ViT 增量 → 全量指令微调复现官方训练、新领域预训练 一句话建议自有指令数据做 SFT → 选 SWIFT偏好配置文件式、已在 InternLM 生态 → 选 XTuner复现官方流水线或做领域预训练 → 用原生训练。官方仓库 README.md 的 Finetune 章节也明确指出InternVL、SWIFT、XTuner 等项目均支持 InternVL 系列模型的微调。三、SWIFT 微调 InternVL2_5-26B一条命令完成 LoRA SFTSWIFT 上手成本最低典型流程是准备模型权重 → 组织数据 →swift sft启动。git clone https://gitcode.com/OpenGVLab/InternVL2_5-26B pip install -U ms-swift[vl] swift sft \ --model ./InternVL2_5-26B \ --train_type lora \ --dataset your_data.jsonl \ --max_pixels 2352288 \ --learning_rate 1e-4 \ --deepspeed zero2三个关键参数说明--train_type loraLoRA 微调显存占用大幅下降改full即全参微调--max_pixels 2352288即 448²×12与官方max_dynamic_patch12对齐控制动态分辨率切片上限--deepspeed zero2多卡分片可再附加--freeze_vit true --freeze_aligner false只训练投影器与语言模型训练数据采用标准 messagesimages 格式支持多轮对话与多图片样本视频帧也可作为图片序列输入。四、XTuner 微调实践YAML 配置驱动的训练XTuner 对 InternLM2 / InternVL 系列模型覆盖完善采用配置文件 启动命令模式将模型权重下载到本地目录编写训练配置关键项节选具体model_type名称以 XTuner 当前版本为准model: /path/to/InternVL2_5-26B model_type: internvl2_5_26b data_path: ./your_data max_iters: 2 lr: 1e-5 lora_rank: 32 lora_alpha: 32 target_modules: all-linear freeze_backbone: true freeze_LM: false执行xtuner train your_config.yaml启动训练相比 SWIFTXTuner 的优势是配置驱动所有超参一目了然、可版本管理团队做参数实验与批量对比时更方便。五、原生训练官方三阶段微调流程官方推荐的训练流水线分为三个阶段见 README.md阶段训练对象目标Stage 1MLP Warmup仅 MLP 投影器ViT、LLM 冻结跨模态对齐Stage 1.5可选ViT 增量学习ViT MLP 投影器强化多语言 OCR、数学图表等稀有领域Stage 2全量指令微调整个模型高质量多模态指令数据微调原生训练还包含几个数据工程技巧动态高分辨率按数据集分配n_max切片标准图 6–12、多图 24–36、视频 1Repeat factorr调节各数据集采样权重平衡多任务训练随机 JPEG 压缩质量 75–100模拟网络图片退化增强鲁棒性Square averaging 损失重加权避免长/短回答的 loss 偏差⚠️ 原生训练通常需多机 80G A100 集群26B 模型 LLM 共 48 层官方 README.md 给出了多卡按层切分的device_map策略推理与训练均可复用。六、26B 微调显存估算与硬件建议26B 参数 6B 视觉塔 20B 语言塔权重分 11 个 safetensors 分片存放见 model.safetensors.index.json。训练方式显存估算粗略硬件建议仅推理bf16权重约 52GB 激活单卡 80G A100 / H100或用 8-bit 量化LoRA / QLoRA SFT约 60–90GB1–2 张 80G全参 SFTAdamW权重 52GB 梯度 52GB 优化器状态 300GB4–8 张 80GDeepSpeed ZeRO-3 全参训练时优化器状态远超权重本身显存不够请优先切 LoRA或启用 ZeRO-3 CPU offload。七、踩坑清单微调前必须知道的 5 件事✅依赖版本需 transformers≥4.37.2加载时务必带trust_remote_codeTrue⚠️视觉 token 预算每个 448×448 切片经下采样产出 256 个视觉 token12 切片 缩略图最多约 3,300 token会成倍放大上下文长度请据此设置max_length⚠️数据质量是生命线LLM 对噪声高度敏感重复、低质样本容易引发重复生成⚠️开启 Flash Attentionuse_flash_attn可显著降低注意力显存占用⚠️对话模板需使用template: internvl2_5模板不匹配会导致提示格式错乱写在最后对大多数用户而言SWIFT LoRA SFT是微调 InternVL2_5-26B 的最佳起点想用配置文件精细调参可转投XTuner要复现官方三阶段流水线或做领域预训练再选择原生训练。仓库内的模型权重、config.json 配置与 examples/ 示例数据三套微调路径均可直接复用开箱即用。赞分享【免费下载链接】InternVL2_5-26B项目地址https://ai.gitcode.com/OpenGVLab/InternVL2_5-26B点击查看免费下载相关推荐InternVL2_5-78B微调实战指南InternVL、SWIFT、XTuner三大框架完全对比InternVL2_5 78B微调实战指南InternVL、SWIFT、XTuner三大框架完全对比 InternVL2_5 78B微调是提升多模态大模型垂直如何用FSDP微调Lance统一/生成/理解三套训练脚本完整指南如何用FSDP微调Lance统一/生成/理解三套训练脚本完整指南 Lance 是一个 3B 激活参数的原生统一多模态模型在单个框架内同时支持图像与视频的理解如何用好 InternVL2_5-Pretrain-Models基于 Stage-1 预训练权重的 LoRA 微调实战指南如何用好 InternVL2_5 Pretrain Models基于 Stage 1 预训练权重的 LoRA 微调实战指南 InternVL2_5 Pretr上一篇数据集成新范式SeaTunnel Web可视化平台深度解析下一篇5大核心功能深度解析RISC-V处理器验证的随机指令生成利器创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑