【免费下载链接】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_5,45 层,负责把图像切块并提取视觉特征
- MLP 投影器:把视觉特征映射到语言模型的语义空间
- 语言模型:internlm2_5-20b-chat,48 层、6144 隐藏维度,负责文本生成
微调时最相关的是下面 3 个参数(见 config.json):
| 参数 | 取值 | 微调意义 |
|---|---|---|
force_image_size | 448 | 图像切片尺寸 448×448 |
max_dynamic_patch | 12 | 动态分辨率切片数上限,直接决定视觉 token 量 |
use_backbone_lora/use_llm_lora | 0 | 官方内置的视觉塔 / 语言塔 LoRA 开关,见 configuration_internvl_chat.py |
模型的前向与生成逻辑在 modeling_internvl_chat.py,对话模板定义在 conversation.py。
上图是仓库自带的官方示例图 examples/image1.jpg,也是大家微调后最先用来检验理解能力的图片。
二、SWIFT / XTuner / 原生训练怎么选?一张对比表看懂
| 工具 | 定位 | 微调方式 | 适合谁 |
|---|---|---|---|
| 🚀SWIFT | 命令行一体化 VLM 训练框架 | LoRA / QLoRA / 全参 SFT、对齐训练 | 上手最快、指令微调自有数据 |
| 🛠️XTuner | InternLM 生态训练框架 | YAML 配置全参 / LoRA / QLoRA | 熟悉 InternLM 生态、做参数实验 |
| 🏭原生训练 | 官方三阶段流水线 | MLP 预热 → ViT 增量 → 全量指令微调 | 复现官方训练、新领域预训练 |
💡 一句话建议:自有指令数据做 SFT → 选 SWIFT;偏好配置文件式、已在 InternLM 生态 → 选 XTuner;复现官方流水线或做领域预训练 → 用原生训练。
官方仓库 README.md 的 Finetune 章节也明确指出:InternVL、SWIFT、XTuner 等项目均支持 InternVL 系列模型的微调。
三、SWIFT 微调 InternVL2_5-26B:一条命令完成 LoRA SFT
SWIFT 上手成本最低,典型流程是:准备模型权重 → 组织数据 →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 lora:LoRA 微调,显存占用大幅下降;改full即全参微调--max_pixels 2352288:即 448²×12,与官方max_dynamic_patch=12对齐,控制动态分辨率切片上限--deepspeed zero2:多卡分片;可再附加--freeze_vit true --freeze_aligner false,只训练投影器与语言模型
训练数据采用标准 messages+images 格式,支持多轮对话与多图片样本,视频帧也可作为图片序列输入。
四、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启动训练
相比 SWIFT,XTuner 的优势是配置驱动:所有超参一目了然、可版本管理,团队做参数实验与批量对比时更方便。
五、原生训练:官方三阶段微调流程
官方推荐的训练流水线分为三个阶段(见 README.md):
| 阶段 | 训练对象 | 目标 |
|---|---|---|
| Stage 1:MLP Warmup | 仅 MLP 投影器(ViT、LLM 冻结) | 跨模态对齐 |
| Stage 1.5(可选):ViT 增量学习 | ViT + MLP 投影器 | 强化多语言 OCR、数学图表等稀有领域 |
| Stage 2:全量指令微调 | 整个模型 | 高质量多模态指令数据微调 |
原生训练还包含几个数据工程技巧:
- 动态高分辨率:按数据集分配
n_max切片(标准图 6–12、多图 24–36、视频 1) - Repeat factor
r:调节各数据集采样权重,平衡多任务训练 - 随机 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–90GB | 1–2 张 80G |
| 全参 SFT(AdamW) | 权重 52GB + 梯度 52GB + 优化器状态 300GB+ | 4–8 张 80G(DeepSpeed ZeRO-3) |
💡 全参训练时优化器状态远超权重本身,显存不够请优先切 LoRA,或启用 ZeRO-3 + CPU offload。
七、踩坑清单:微调前必须知道的 5 件事
- ✅依赖版本:需 transformers≥4.37.2,加载时务必带
trust_remote_code=True - ⚠️视觉 token 预算:每个 448×448 切片经下采样产出 256 个视觉 token,12 切片 + 缩略图最多约 3,300 token,会成倍放大上下文长度,请据此设置
max_length - ⚠️数据质量是生命线:LLM 对噪声高度敏感,重复、低质样本容易引发重复生成
- ⚠️开启 Flash Attention:
use_flash_attn可显著降低注意力显存占用 - ⚠️对话模板:需使用
template: internvl2_5,模板不匹配会导致提示格式错乱
写在最后
对大多数用户而言,SWIFT + LoRA SFT是微调 InternVL2_5-26B 的最佳起点;想用配置文件精细调参可转投XTuner;要复现官方三阶段流水线或做领域预训练,再选择原生训练。仓库内的模型权重、config.json 配置与 examples/ 示例数据,三套微调路径均可直接复用,开箱即用。
【免费下载链接】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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考