
Qwen3-SmVL 教程1.5 小时 8 卡训练出 0.69B 中文多模态视觉语言模型【免费下载链接】happy-llm 从零开始构建大模型项目地址: https://gitcode.com/GitHub_Trending/ha/happy-llm给模型看一张三只狗的照片问图中有什么动物训练 1000 步后 Qwen3-SmVL 能答出三只狗而它只有 0.69B 参数推理约需 4GB 显存。该项目把 SmolVLM2 的 0.09B 视觉模块与 Qwen3-0.6B 拼接微调让一个中文文本小模型获得图像理解能力同时保留原有思考与函数调用特性。项目定位1GB 显存多模态模型的中文短板SmolVLM2 是超小视觉语言模型的代表1GB 显存即可完成多模态推理但它不理解中文Qwen3-0.6B 中文对话表现好却没有视觉能力。Qwen3-SmVL 针对的正是这个缺口不重训视觉编码器只替换语言模型和特征映射层让低显存设备能跑中文视觉问答。模型参数量推理显存中文视觉Qwen3-0.6B0.6B约 3GB支持不支持SmolVLM2-256M0.256B约 1GB不支持支持Qwen3-SmVL0.69B约 4GB支持支持它面向想在边缘设备或低显存 GPU 上部署中文多模态的团队与个人开发者不追求全面领先而是用最少训练成本给现成的文本模型补上视觉能力。实测效果同一张狗图200 步与 1000 步的差别 最直接的证据是同一组测试的两组推理结果。仅用 cocoqa 小批量微调 200 步模型能正常用中文应答但把图中的三只狗认成了兔子。原因是训练量不足而不是方案本身的问题。改用全量数据集采样训练后同样的图片和问题得到正确回答图中有狗且中文对话、思考、函数调用能力全部保留。训练曲线方面cocoqa 小批量的训练损失与评估损失都收敛在 0.65 左右完整训练后训练损失 0.61、评估损失 0.58。8 卡沐曦 C50064G 显存上完整训练约 1.5 小时200 步小实验仅约 20 分钟。核心原理把 SmolVLM2 视觉模块嫁接到 Qwen3-0.6B 上SmolVLM2 的结构分三段SigLip-93M 视觉编码器、MLP 特征映射层、语言模型。视觉特征与文本特征直接拼接后送入 LLM没有交叉注意力模块替换因此很容易。拼接在三处完成。统一上下文模板。SmolVLM2 用image标记图像特征插入点Qwen3 预留了vision特殊令牌。改 Jinja 聊天模板把image换成vision同时保留 Qwen3 原有的思考与函数调用上下文结构避免拼接模型因上下文差异掉点。替换语言模型与输出头。代码只有几行但必须同步更新嵌套的词表大小、图像令牌 ID、生成停止符漏改的表象是损失下降很快、推理却完全失效。smolvlm.model.text_model qwen.model smolvlm.lm_head qwen.lm_head smolvlm.vocab_size qwen.vocab_size # 151936 smolvlm.image_token_id 151655 # Qwen3 的 vision 令牌重建特征映射层。SigLip 输出 768 维Qwen3-0.6B 隐藏层 1024 维原来的 768→576 连接器要重建为 768→1024 的单层 MLP。它是唯一从零训练的组件12M 参数占总量 662.87M 的 1.81%。训练策略是冻结主体、只练接口93M 视觉模型与 600M 语言模型冻结仅训练连接器和语言模型头学习率 1e-4cosine 衰减warmup 10%每卡 1 样本乘 4 次梯度累加8 卡等效 batch 32bf16文本截断 2K损失计算覆盖完整文本并单独屏蔽图像占位令牌。数据用 The Cauldron188 万条、50 类视觉任务按 1:10 的参数量与 token 比采样出 6 万条训练。复现路径从克隆仓库到启动 8 卡训练显存需 40G 以上依赖为 PyTorch 生态加 transformers4.53.0、accelerate、datasets、num2words模型与数据集可由脚本经魔塔社区一键下载。git clone https://gitcode.com/GitHub_Trending/ha/happy-llm cd happy-llm/Extra-Chapter/vlm-concatenation-finetune pip install -r requirements.txt bash download_resource.sh # 小批量验证200 步8 卡约 20 分钟 accelerate launch --num_processes 8 train.py ./cocoqa_train.yaml # 完整训练8 卡约 1.5 小时 accelerate launch --num_processes 8 train.py ./full_train.yaml局限与适用边界当前方案有三个明确的边界训练数据全为英文。中文多模态样本要靠后续翻译与合成补上模型的中文视觉能力目前只是可用并未针对中文图文对精调2K 上下文截断由图像 token 占用 0.8K1.3K 决定。想压短文本长度需同步缩小图像分辨率也没有使用 packing 提升吞吐评估集仅 64 条系统性评测尚未完成。作者计划后续补齐模型测评、数据集优化、人类对齐并探索 LoRA 低秩适配进一步压低训练成本。适合边缘部署、低显存多模态原型和给现成中文小模型加视觉的实验场景作为生产级中文视觉问答的最终形态尚不够。Qwen3-SmVL 说明给小模型补视觉不必做大规模联合训练模块级替换加 12M 参数的对齐微调就能拿到可用结果。项目教程vlm-concatenation-finetune README代码与图片素材目录Extra-Chapter/vlm-concatenation-finetune/主教程文档docs/README.md【免费下载链接】happy-llm 从零开始构建大模型项目地址: https://gitcode.com/GitHub_Trending/ha/happy-llm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考