公司动态
深度解析Nous-Hermes-2-Vision-Alpha模型架构:SigLIP-400M如何让视觉语言模型更轻更强
深度解析Nous-Hermes-2-Vision-Alpha模型架构SigLIP-400M如何让视觉语言模型更轻更强【免费下载链接】Nous-Hermes-2-Vision-Alpha项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/Nous-Hermes-2-Vision-AlphaNous-Hermes-2-Vision-Alpha是一款基于 Mistral-7B 构建的开源视觉语言模型Vision-Language Model, VLM。它的核心亮点在于用仅 4 亿参数的SigLIP-400M视觉编码器替代传统动辄 3B 以上的视觉塔让多模态模型在更轻的体积下依然保持强劲的理解能力。本文带你逐层拆解这份模型包的配置与权重文件看懂它的架构设计、训练轨迹以及如何通过函数调用Function Calling实现看图执行动作。一、30 秒了解 Nous-Hermes-2-Vision 先用三句话概括这个模型底座继承自 OpenHermes-2.5-Mistral-7B 的语言能力原始底座为 Mistral-7B-v0.1在 README.md 的 front matter 中可看到base_model: mistralai/Mistral-7B-v0.1眼睛SigLIP-400M 视觉编码器ViT-SO400M-14-SigLIP-384比常见 CLIP 方案小一大截双手训练数据中混入了 15 万条私有函数调用样本使它不只是看图聊天还能输出结构化 JSON、驱动自动化流程即所谓视觉-语言-行动模型VLA Model。整体架构类型在 config.json 中声明为LlavaMistralForCausalLM属于 LLaVA-Mistral 家族的经典三段式结构。二、架构全景一张图如何变成一串词多模态模型的通用套路是三件套视觉编码器 → 模态投影层 → 大语言模型。Nous-Hermes-2-Vision 同样如此对应到配置就是三组参数组件配置项取值作用视觉塔mm_vision_towerikala/ViT-SO400M-14-SigLIP-384-hf把 384px 图片编码为视觉特征投影层mm_projector_typemlp2x_gelu把视觉特征翻译成语言模型能懂的词向量语言模型architecturesLlavaMistralForCausalLMMistral-7B 负责推理与生成工作流程可以想象成图片被切分成 14×14 像素的小块patchSigLIP 为每个小块算出一个特征向量投影层再把这些向量转换到 4096 维的语言空间Mistral-7B 就把这些视觉词当成上下文和你输入的文字一起理解、一起回答。三、SigLIP-400M为什么敢用 4 亿参数的眼睛 传统 LLaVA 方案常用 CLIP-ViT-L 甚至 3B 级视觉编码器视觉塔往往比语言模型还胖。Nous-Hermes-2-Vision 反其道而行选用了SigLIP-400M原因有三更小的体积400M 参数量让视觉特征维度只有1152即 config.json 中的mm_hidden_size整个模型包约 15.35GB见 pytorch_model.bin.index.json 的total_size: 15352486368更强的对齐SigLIP 用 Sigmoid 替代 Softmax 做图文对比损失在相同参数量下收敛更快、对齐更准小模型尤其受益更高效的推理视觉前向计算量大幅下降端到端响应更快更适合边缘与消费级 GPU 部署。从配置还能看到两个训练细节mm_vision_select_layer: -2取视觉塔倒数第二层的 patch 特征兼顾语义丰富度mm_vision_select_feature: patch只取每个 patch 的特征不拼接 CLS 等额外 token保持序列紧凑。四、桥梁层 mlp2x_gelu1152 维到 4096 维的翻译官 视觉特征1152 维和语言模型的隐藏层4096 维维度不同、语义空间不同需要一个投影层做桥梁。该模型使用mlp2x_gelu两层全连接 GELU 激活即Linear(1152→4096) → GELU → Linear(4096→4096)。在 pytorch_model.bin.index.json 中可以找到model.mm_projector.0.weight与model.mm_projector.2.weight索引 0 和 2中间索引 1 是无参数的 GELU它们存放在 pytorch_model-00002-of-00002.bin 中仓库里另有一份独立的 mm_projector.bin 副本方便单独加载视觉-语言桥接权重。值得注意的是freeze_mm_mlp_adapter与tune_mm_mlp_adapter均为false本轮视觉微调只训练了语言模型侧投影层保持出厂状态。五、Mistral-7B 语言底座关键参数速查 语言模型的主体参数在 config.json 中一目了然参数值通俗解读hidden_size4096每个 token 的向量宽度num_hidden_layers32Transformer 层数num_attention_heads32注意力头数量num_key_value_heads8GQA 分组注意力省 KV Cache 显存intermediate_size14336SwiGLU 前馈网络宽度max_position_embeddings32768理论最大上下文长度sliding_window4096滑窗注意力长序列更高效vocab_size32002词表大小torch_dtypebfloat16半精度存储单卡更友好GQA8 组 KV 头 4096 滑窗注意力意味着在长对话场景下 KV Cache 占用显著低于标准 MHA 方案——这对需要塞进图片 token 的多模态对话尤为关键。六、训练细节48 万条数据与一条平滑的损失曲线 数据配方来自 README.md220K 条LVIS-INSTRUCT4V视觉指令微调60K 条ShareGPT4VGPT-4V 级高质量图文对话150K 条私有函数调用数据VLA 能力的来源50K 条OpenHermes-2.5纯文本对话保持语言风格一致性训练轨迹可完整还原自 trainer_state.json共2732 步、1 个 epoch耗时约 22 小时train_runtime ≈ 79682s损失从第 1 步的1.7746一路降至收尾的0.86附近全程平滑无震荡最终train_loss ≈ 0.973总浮点运算量约 5.28×10¹⁵total_flos学习率按余弦策略从峰值衰减至 0。这说明这是一次视觉塔冻结、LLM 侧轻调的典型多模态对齐训练配方简单但扎实。七、不只是聊天用fn_call驱动看图自动化 这是 Nous-Hermes-2-Vision 最能打的特性。只要让消息以fn_call标签开头并附上一份 JSON Schema模型就会严格输出符合 Schema 的结构化 JSON。举个 README 中的真实例子给一张公交车图片Schema 声明bus_colors数组、bus_features字符串、bus_location枚举模型输出{ bus_colors: [red, white], bus_features: An advertisement, bus_location: driving }另一个例子是读取餐厅菜单图片自动抽取food_list列表。这意味着它可以无缝接入工作流拍照 → 结构化数据 → 触发后续程序动作是构建看图办事类自动化应用的理想底座。对话模板提示与其他 LLaVA 变体一致它使用 Vicuna-V1 模板conv_llava_v1格式仓库内 tokenizer_config.json 的chat_template与 added_tokens.json 中的 【免费下载链接】Nous-Hermes-2-Vision-Alpha项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/Nous-Hermes-2-Vision-Alpha创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考