资讯动态

如何微调InternVL3_5-30B-A3B-Instruct:用SWIFT和XTuner打造专属领域模型的完整指南

发布时间:2026/8/26 13:54:04 来源:尧图企业网站定制
如何微调InternVL3_5-30B-A3B-Instruct用SWIFT和XTuner打造专属领域模型的完整指南【免费下载链接】InternVL3_5-30B-A3B-Instruct项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/InternVL3_5-30B-A3B-InstructInternVL3_5-30B-A3B-Instruct 是 OpenGVLab 开源的 InternVL3.5 系列多模态大模型由 InternViT 视觉编码器与 Qwen3-30B-A3B 混合专家MoE语言模型组成擅长图像理解、OCR、文档解析与视觉推理bf16 权重仅约 60GB单张 A100 即可部署。想让它掌握医疗影像、工业质检、票据识别等垂直领域能力本文带你用SWIFT和XTuner两大微调框架通过 LoRA 低成本微调 InternVL3_5-30B-A3B-Instruct打造专属领域模型。 模型速览为什么它是领域微调的好基座InternVL3.5 沿用 ViT–MLP–LLM 架构范式图像先由视觉编码器 InternViT 编码经像素重排压缩后交给 MLP 投影再输入 LLM 生成回答。Instruct 版本已完成多模态持续预训练CPT 监督微调SFT对话行为稳定非常适合继续做领域 SFT。关键配置数值来源语言模型Qwen3-30B-A3BMoE128 专家/每 token 激活 8 个config.json视觉编码器InternViTimage_size448动态高分辨率切片config.json层数 / 上下文48 层 / 32K 上下文max_position40960config.json对话模板internvl2_5conversation.py精度bfloat16config.json MoE 的优势总参数 30.8B 但每个 token 只激活约 3B 参数推理与微调速度远超同规模稠密模型——这正是 30B 级别模型能单卡 A100 部署的原因官方 README.md Quick Start 已注明。权重文件结构微调时会自动加载无需手动拼接vision.safetensors视觉编码器权重layer-0-ep-0-of-1.safetensors ~ layer-47每个 Transformer 层含 MoE 专家的独立分片共 48 个others.safetensors嵌入层、MLP 投影等其余权重model.safetensors.index.json分片索引分词器tokenizer.json、vocab.json、merges.txt自定义模型代码加载时必须trust_remote_codeTruemodeling_internvl_chat.py、modeling_intern_vit.py️ 微调前准备硬件、数据与模型下载硬件配置清单30B MoE 微调需要多少显存方案显卡配置说明推荐方案2×80GBA100/H100LoRA DeepSpeed ZeRO-3训练稳定极限方案1×80GBLoRA 梯度检查点 参数 offload小 batch 勉强可行消费级方案4×24~48GB需更小的 max_length 与更大梯度累积训练数据格式image占位符是关键InternVL 系列用image标记图像位置。SWIFT 与 XTuner 使用不同的 JSON 格式SWIFT 格式jsonl每行一条{messages: [{role: user, content: image\n请识别这张 X 光片中的异常}, {role: assistant, content: 右肺下叶可见结节影建议随访。}], images: [img/xray_001.jpg]}XTuner 格式{image: img/xray_001.jpg, conversations: [{from: human, value: image\n请识别这张 X 光片中的异常}, {from: gpt, value: 右肺下叶可见结节影建议随访。}]} 建议领域微调数据量1K~10K 条高质量样本即可见效质量 数量并混入 10% 通用数据防止灾难性遗忘。获取模型权重如果需要通过 git clone 下载模型仓库仓库地址为git clone https://gitcode.com/hf_mirrors/OpenGVLab/InternVL3_5-30B-A3B-Instruct国内用户也可从 ModelScope 等平台下载同名模型目录结构一致。 路线一用 SWIFT 微调 InternVL3_5推荐新手SWIFTModelScope SWIFT是多模态微调的一键式框架支持 InternVL 系列命令式调用最省心。SWIFT 安装与一键微调命令# 1) 安装 SWIFT pip install -U ms-swift[all] # 2) 启动 LoRA 微调双卡 ZeRO-3 CUDA_VISIBLE_DEVICES0,1 swift sft \ --model /path/to/InternVL3_5-30B-A3B-Instruct \ --model_type internvl \ --train_type lora \ --lora_rank 16 \ --lora_alpha 32 \ --freeze_vit true \ --dataset /path/to/your_data.jsonl \ --max_length 8192 \ --torch_dtype bfloat16 \ --deepspeed zero3 \ --output_dir output/internvl3_5-30b-a3b⚠️--model_type请以你所用 SWIFT 版本官方文档中 InternVL 系列的实际名称为准模型自带自定义代码SWIFT 会通过trust_remote_code自动加载。核心参数速查参数作用新手建议--train_type lora只训练适配器显存友好必选--freeze_vit true冻结视觉塔与投影 MLP默认冻结省显存--max_length单样本最大 token 数4096~8192--deepspeed zero330B 模型必开的显存优化必选⚙️ 路线二用 XTuner 微调 InternVL3_5偏好配置文件XTunerInternLM 团队出品用 YAML 配置文件驱动训练适合喜欢配置即代码的用户。XTuner 配置文件要点# xtuner_config.yaml pretrained_model: /path/to/InternVL3_5-30B-A3B-Instruct data_path: /path/to/your_data.jsonl finetune: true lora: true lora_r: 16 lora_alpha: 32 use_rslora: true batch_size: 1 per_device_train_batch_size: 1 gradient_accumulation_steps: 8 learning_rate: 1e-4 lr_scheduler_type: cosine max_iters: 1000 max_length: 8192 deepspeed_stage: 3pip install -U xtuner xtuner train xtuner_config.yaml XTuner 对 InternVLM 家族支持良好InternVL3.5 为最新版本使用前请先确认 XTuner 最新版本的兼容性说明不兼容时建议改用 SWIFT。 关键超参数怎么调LoRA 微调实战技巧超参数推荐起点调整策略LoRA rank / alpha16 / 32数据量大、任务复杂时升到 32 / 64学习率1e-4训练 loss 震荡时减半到 5e-5冻结策略冻结 ViT只训 LLM领域图像差异极大如医学影像时可解冻 MLP 投影层批大小 / 累积1 × 8用梯度累积等效扩大 batch上下文长度8192模型支持 32K长文档任务按需放大显存翻倍MoE 专家默认不单独加 LoRA专家层数量巨大LoRA 聚焦注意力层通常已足够训练时留意 loss 曲线一般 500~2000 step 收敛配合 SWIFT/XTuner 自动保存的 checkpoint 随时可回退。 微调后合并权重并部署上线微调产出的 LoRA 适配器可以先合并回基座再用 LMDeploy 或 vLLM 一键起服务OpenAI 兼容接口30B 单卡 A100 即可承载# 1) 合并 LoRASWIFT 示例 swift export --adapters output/internvl3_5-30b-a3b/checkpoint-xxx --merge_lora true # 2) LMDeploy 起 OpenAI 兼容 API 服务 lmdeploy serve api_server /path/to/merged_model --server-port 23333 --tp 1 --backend pytorch之后任何支持 OpenAI 接口的客户端都能直接调用你的专属领域版模型生成行为由 generation_config.json 等文件约束推理代码见 README.md 的 Quick Start 章节。❓ 常见问题与避坑指南加载报架构未知错误必须设置trust_remote_codeTrue——InternVL 系列依赖仓库内的自定义代码 modeling_internvl_chat.py框架会按 config.json 的 auto_map 自动注册。显存不够OOM依次尝试max_length降到 4096 → 开启梯度检查点 → ZeRO-3 → 降低动态分辨率切片数max_dynamic_patch默认 12调小可显著减少图像 token。为什么权重拆成 48 个 layer 分片MoE 专家权重按层存储便于并行加载训练框架会自动组装不需要你手动合并。微调后模型忘了通用能力混入通用指令数据并降低学习率/减少训练轮数。选 Instruct 还是完整版做基座本仓库 Instruct 版 CPTSFT适合领域指令适配若追求更强推理表现可评估同系列完成 CascadeRL 的完整版本。✅ 总结InternVL3_5-30B-A3B-Instruct 是 30.8B MoE 多模态基座单卡 A100 可部署微调性价比极高SWIFT命令行一键启动适合新手XTuner配置驱动适合精细控制数据格式核心是image占位符 领域问答对1K~10K 条高质量样本即可起步LoRA(rank 16) ZeRO-3 冻结视觉塔是 30B 微调的黄金组合合并 LoRA 后用 LMDeploy/vLLM 起 OpenAI 兼容服务即可把领域模型投入生产按以上步骤走完一遍你就能得到一个懂行的专属多模态模型——医疗、质检、文档解析垂直领域随便挑。【免费下载链接】InternVL3_5-30B-A3B-Instruct项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/InternVL3_5-30B-A3B-Instruct创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价