
读懂LLaVA-v1.5-13B的config.jsonCLIP视觉塔、mlp2x_gelu投影器与LLaMA-2的8个核心配置参数【免费下载链接】llava-v1.5-13b项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/llava-v1.5-13b想快速上手多模态大模型LLaVA-v1.5-13B第一步不是写代码而是读懂它的config.json。这份配置文件用 40 行 JSON 说清了一个 13B 参数视觉语言模型的全部身份它用哪个CLIP 视觉塔看图片、靠哪个mlp2x_gelu 投影器把图像特征翻译成语言特征、又由哪个LLaMA-2语言骨干来生成回答。本文为你逐个拆解其中最值得关注的8 个核心配置参数零基础也能看懂。一、LLaVA-v1.5-13B 是什么LLaVA-v1.5-13B 是一个开源的多模态聊天模型2023 年 9 月发布核心思路只有一句话让会看图的 CLIP 会说话的 LLaMA-2 组队中间用一个小型 MLP 投影器做翻译就能聊图片。本仓库是它的 HuggingFace 格式权重文件主要内容包括文件作用config.json模型架构与超参数配置本文主角pytorch_model-00001~00003-of-00003.bin分片保存的模型权重总量约 26GBmm_projector.binmlp2x_gelu 投影器的独立权重tokenizer.model/tokenizer_config.jsonLlama 分词器及其配置generation_config.json生成行为最大长度 4096、特殊 token 等pytorch_model.bin.index.json权重分片索引记录每个权重张量在哪个文件里二、先看图说话三段式流水线 LLaVA 的前向过程像一条流水线config.json 里的参数分别属于三段图片 ──▶ ① CLIP ViT-L 视觉塔 ──▶ ② mlp2x_gelu 投影器 ──▶ ③ LLaMA-2 13B ──▶ 文字回答 mm_vision_tower mm_projector_type hidden_size / 层数 / 头数① 视觉塔Vision Tower把图片切成 14×14 的小块输出特征向量② 投影器Projector把视觉特征翻译成语言模型能理解的向量③ 语言骨干Language Backbone基于 LLaMA-2 13B逐词生成回答。三、8 个核心配置参数一览表 #参数值所属模块1mm_vision_toweropenai/clip-vit-large-patch14-336CLIP 视觉塔2mm_hidden_size1024CLIP 视觉塔3mm_vision_select_layer-2CLIP 视觉塔4image_aspect_ratiopadCLIP 视觉塔5mm_projector_typemlp2x_gelu投影器6hidden_size5120LLaMA-27num_hidden_layers40LLaMA-28num_attention_heads40LLaMA-2下面逐个拆解。四、CLIP 视觉塔4 个参数看懂眼睛️1️⃣ mm_vision_tower用哪双眼睛看图mm_vision_tower: openai/clip-vit-large-patch14-336这是 OpenAI 的CLIP ViT-L/14-336ViT-LLarge大型视觉 Transformer负责看图patch14把图像切成 14×14 像素的小块再编码336输入分辨率提升到 336×336原版 CLIP 是 224×224能看清更多细节。 这个值决定了模型看图的底子和清晰度v1.5 版本正是靠换 336 分辨率的 CLIP 显著提升了图表、小目标识别能力。2️⃣ mm_hidden_size图像特征有多宽mm_hidden_size: 1024CLIP 输出的每个图像块patch特征是一个1024 维向量。这个数字是投影器的输入宽度投影器必须把 1024 维的视觉特征转成语言模型的 5120 维空间才能被 LLaMA-2 理解。3️⃣ mm_vision_select_layer从哪一层取特征mm_vision_select_layer: -2CLIP 是多层 Transformer-2表示取倒数第二层的输出而不是最后一层。这是 LLaVA 的经典技巧中间层特征在语义理解和视觉细节之间更均衡比最后一层更利于多模态任务。4️⃣ image_aspect_ratio图片怎么摆进 336×336image_aspect_ratio: pad值pad表示保持原图比例用填充padding补成正方形而不是直接拉伸压扁图片。这样图片不会变形模型看到的图像更真实。五、mlp2x_gelu 投影器视觉与语言的翻译官️5️⃣ mm_projector_type两层的 MLPmm_projector_type: mlp2x_gelu拆开读这个名字含义一目了然mlp多层感知机全连接层2x有2 个线性层gelu中间用GELU 激活函数。结构就是1024 维 → 线性层 → GELU → 线性层 → 5120 维。你可以在pytorch_model.bin.index.json里验证这一点——索引文件记录了投影器权重model.mm_projector.0和model.mm_projector.2分别存放在第 3 个权重分片中编号 0 和 2中间的 GELU 没有可训练参数。这些权重的独立副本就是仓库里的mm_projector.bin。 投影器很小只有两个矩阵但它是预训练阶段唯一从零训练的部件决定了图话和人话能否对上。六、LLaMA-2 骨干3 个参数看懂大脑LLaVA-v1.5-13B 的语言模型底座是LLaMA-2 13Bconfig.json 里这些参数正是它的体格6️⃣ hidden_size5120 维的语言空间hidden_size: 5120每个 token 在模型内部用一个5120 维向量表示。这也解释了为什么投影器要把视觉特征升到 5120 维——必须和语言空间对齐。7️⃣ num_hidden_layers40 层 Transformernum_hidden_layers: 40语言骨干由40 层Transformer 堆叠而成这是 13B 参数规模的关键标志7B 版是 32 层70B 版是 80 层。8️⃣ num_attention_heads40 个注意力头num_attention_heads: 40, num_key_value_heads: 40, intermediate_size: 1382440 个注意力头每个头关注不同的语义关系13B 版恰好 40 头每头维度 5120 ÷ 40 128num_key_value_heads与它相等说明没有使用 GQA 分组注意力intermediate_size: 13824是每层前馈网络的隐藏宽度约为 5120 的 2.7 倍。七、顺带一提的其他实用配置 ✅参数值一句话解释torch_dtypefloat16权重以半精度存储13B 模型约 24GB 显存/内存vocab_size32000词表大小LLaMA-2 的标准配置max_position_embeddings4096单次上下文最长 4096 个 tokenhidden_actsilu语言模型前馈层使用 SiLU 激活rms_norm_eps1e-05RMSNorm 归一化的数值稳定性参数use_cachetrue开启 KV 缓存逐词生成时加速推理bos/eos_token_id1/2句子开始与结束符号的编号生成行为方面generation_config.json同样声明了max_length: 4096与上文一致。八、总结一张配置看懂一个多模态大模型 读config.json其实就是回答三个问题眼睛是什么→mm_vision_towerCLIP ViT-L/14-336mm_hidden_size1024 取第-2层 pad方式预处理翻译官是什么→mm_projector_typemlp2x_gelu两层 MLP GELU把 1024 维转 5120 维大脑是什么→ LLaMA-2 13Bhidden_size5120、num_hidden_layers40、num_attention_heads40float16 精度、4096 上下文。理解了这 8 个参数你就掌握了 LLaVA-v1.5-13B 的全部架构信息——换视觉塔、调投影器、改上下文长度都只需要看这个文件就够了。【免费下载链接】llava-v1.5-13b项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/llava-v1.5-13b创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考